|
23.01.2014, 04:40 | #1 |
Участник
|
Выдача товара раньше обработанного прихода на склад (Ax 3.0)
Случайно столкнулись с ошибкой пользователя, который смог создать журнал выдачи материала в производство и разнести его с датой операции более ранней, чем материал поступил на склад по отборочной накладной. Соответственно, и раньше, чем была обработана закупка.
Например: закупили материал 22.06.2013, проводка по складу и по ГК 22.06.2013. Пользователь создает журнал выдачи в производство и указывает дату операции 01.06.2013. Система разносит такой журнал, при это не выдает ни одного предупреждения. В настройках для группы складской модели галки "Отрицательный физический склад" и "Отрицательный финансовый склад" выключены. Насколько я понимаю, система должна контролировать такие ситуации или это не так? Может кто подскажет, какую именно смотреть проверку в коде? Может у нас где-то уже сломали стандартный функционал. Последний раз редактировалось Fizik; 23.01.2014 в 04:53. |
|
23.01.2014, 09:42 | #2 |
Участник
|
Это давняя баго-фича стандартного функционала. При разноске расхода система проверяет только текущее наличие. При этом никаких проверок на дату не делается, даже если товар был оприходован более поздней датой, чем проводимый расход, система спокойно даст его разнести.
В свое время я делал на одном проекте модификацию, которая контролировала бы наличие номенклатуры именно на дату расхода. Ax 3.0 под рукой уже давно нет, но вроде бы правился метод \Classes\InventUpd_Physical\updateNow. В нем как раз есть проверка текущего наличия номенклатуры (при этом используется класс InventOnHand). Нужно ее дополнить проверкой наличия на дату расхода. Не помню, как назывался в трешке класс, который позволял получить наличие на дату, в 2009-й это класс InventSumDate и его потомки. Но сразу хочу предупредить. Эта модификация может очень сильно снизить производительность разноски расходов, т.к. операция получения наличия на дату выполняется значительно медленнее операции получения текущего количества. Возможно, это стоит делать только для отдельных номенклатур, для которых это критично. Последний раз редактировалось Peter Savintsev; 23.01.2014 в 09:44. |
|
23.01.2014, 11:30 | #3 |
Moderator
|
Цитата:
Сообщение от Peter Savintsev
Но сразу хочу предупредить. Эта модификация может очень сильно снизить производительность разноски расходов, т.к. операция получения наличия на дату выполняется значительно медленнее операции получения текущего количества. Возможно, это стоит делать только для отдельных номенклатур, для которых это критично.
Это я к тому, что если вы задним числом операции часто проводите, то вам придется не просто проверку поставить, а еще и бизнес-процессы пересмотреть достаточно заметно... |
|
|
|