02.07.2010, 14:12 | #1 |
Участник
|
Физ. количество на дату
Не знаю обсуждалось или нет, но сам был очень удивлен поведением системы при расчете Физических запасов на указанную дату.
Началось с того, что бухгалтер сообщил о некоректных данных при формировании журнала Инвентаризация. А именно расчетное количество по системе было ошибочным. Одновременно с этим «Отчет – Физ. Запасы по номнклатурным группам» также показывал по некоторым номенклатурам неверное количество. Некорректность данных заключается в том, что количество по отчету не соответствует суммируемому количеству всего физического движения по указанную дату. Причина в следующем: Рассмотрим метод selectInventTransPostingPhysical класса InventSumDatePhysical. X++: protected void selectInventTransPostingPhysical() { InventTrans inventTrans; InventTransPosting inventTransPostingPhysical; ; while select forceplaceholders TableId from inventTransPostingPhysical index hint ItemTypeDateIdx where inventTransPostingPhysical.ItemId == itemId && inventTransPostingPhysical.InventTransPostingType == InventTransPostingType::Physical && inventTransPostingPhysical.TransDate > perDate join sum(Qty) from inventTrans index hint TransIdIdx group by StatusIssue,StatusReceipt,DateInvent where inventTrans.VoucherPhysical == inventTransPostingPhysical.Voucher && inventTrans.DatePhysical == inventTransPostingPhysical.TransDate && inventTrans.InventTransId == inventTransPostingPhysical.InventTransId { this.addInventTransPhysical(inventTrans); } } В выборке присутствует группировка по DateInvent. Далее вызывается метод X++: protected void addInventTransPhysical(InventTrans _inventTrans) { super(_inventTrans); if (_inventTrans.DateInvent && _inventTrans.DateInvent <= perDate) { if (_inventTrans.Qty > 0) registeredQty += _inventTrans.Qty; else pickedQty -= _inventTrans.Qty; } } Видно, что при выполнении условия изменяется Зарегистрированное или Скомплектованное количество. И как следствие изменяется физическое количество. В моем случае формировался отчет по 30.06.2010. В системе были Расходные проводки (Заказ на продажу) с : DateInvent = 30.06.2010 DatePhysical = 01.07.2010 Данные проводки как раз и давали ошибку. Исправляется изменением DateInvent = 01.07.2010 Последний раз редактировалось ena_ax; 02.07.2010 в 14:19. |
|
02.07.2010, 15:40 | #2 |
MCTS
|
А в чем ошибка-то? В том, что отчет считает по DateInvent, а не по DatePhysical?
__________________
I could tell you, but then I would have to bill you. |
|
02.07.2010, 23:40 | #3 |
Участник
|
Да, считает по DateInvent. Как следствие получаем расхождение с отчетами по движению DatePhisical, например ОСВ по складу
Я не утверждаю что это ошибка, может быть в этом есть какой-то смысл. , хотя сам именно так считаю |
|
03.07.2010, 10:41 | #4 |
Member
|
С т.з. архитектуры международной Аксапты — физическое наличие считается корректно. Насчет локализаторских прибамбасов — лучше спросить у них из чего они исходили.
В оригинальной Аксапте запасы увеличиваются в момент регистрации номенклатуры. Именно эта операция заполняет DateInvent. У вас, судя по всему, номенклатуру зарегистрировали 30.06.2010. А отборочную накладную или сразу накладную сделали днем позже. В Аксапте номенклатура была в остатках еще 30.06.2010. И отчет по остаткам на дату вам это показывает. Аналогичная ситуация возникает и при комплектации. Если локализаторская складская оборотная ведомость не учитывает операции регистрации и комплектации... если это действительно так, то либо не пользуйтесь ими, либо напишите свой отчет, который будет корректно работать.
__________________
С уважением, glibs® |
|
03.07.2010, 10:52 | #5 |
Участник
|
Цитата:
Сообщение от glibs
С т.з. архитектуры международной Аксапты — физическое наличие считается корректно. Насчет локализаторских прибамбасов — лучше спросить у них из чего они исходили.
В оригинальной Аксапте запасы увеличиваются в момент регистрации номенклатуры. Именно эта операция заполняет DateInvent. У вас, судя по всему, номенклатуру зарегистрировали 30.06.2010. А отборочную накладную или сразу накладную сделали днем позже. В Аксапте номенклатура была в остатках еще 30.06.2010. И отчет по остаткам на дату вам это показывает. Аналогичная ситуация возникает и при комплектации. Если локализаторская складская оборотная ведомость не учитывает операции регистрации и комплектации... если это действительно так, то либо не пользуйтесь ими, либо напишите свой отчет, который будет корректно работать. И еще, скомплектовано, не значит отгружено. |
|
03.07.2010, 14:34 | #6 |
Member
|
Цитата:
Сообщение от ena_ax
...
DateInvent должен совпадать с DatePhisical ... Цитата:
Сообщение от ena_ax
...
скомплектовано, не значит отгружено ...
__________________
С уважением, glibs® |
|
03.07.2010, 18:24 | #7 |
Участник
|
Цитата:
Дело в том, что у нас нет отдельной зоны комплектации, и статус скомплетовано, означает лишь его готовность к отгрузке. Поэтому когда я сформировал журнал инвентаризация, то был сильно удивлен расхождением в количестве. Теперь это расхождение объяснимо. Спасибо за обсуждение. |
|
04.07.2010, 21:45 | #8 |
Участник
|
Ну в идеологии Аксы считается, что раз товар скомплектован, то это уже не отдельные единицы товара, а упакованное в контейнер (паллету) грузоместо. То есть, для инвентаризации нельзя заглянуть в этот контейнер - нужно сначала его разобрать.
|
|
|
|