Показать сообщение отдельно
Старый 22.08.2007, 21:28   #6  
СибирскийКлещ is offline
СибирскийКлещ
Участник
 
26 / 11 (1) +
Регистрация: 24.11.2005
Цитата:
Сообщение от Morpheus Посмотреть сообщение
Ребята разобрался... внедренцы выполнили импорт справочника номенклатуры с Группой складских моделей, отсутствующей в соответствующем справочнике. Для всех таких номенклатурных единиц не создавались проводки в ГК. А так как эти номенклатуры приходовались в журналах спецификаций - сотрудники компании не обращали внимание. Аудит проекта выявил проблему!
Вся информация по разноске операций номеклатуры сидит в в таблице InventTransPosting, которая инициализируется классом InventUpdate и его наследниками. Потом при коррекции/пересчете/закрытии эта информация перегоняется в таблицу InventSettlement, обрабатывая которую классы, отвечающие за эти операции и формируют проводки в ГК.
Например класс InventAdjPost при пересчете, заполнняя map'а-хранилища шаблонов проводок в ГК, не учитывает те записи таблицы InventSettlement, где не заполнены типы разноски по по обеим счетам, что и наблюдалось в Вашем случае. Так же следует учитывать, что в этом классе данные из InventSettlement для проводки ГК "утрамбоввываются" дважды : объект типа LedgerVoucherObject создается с режимом разноски Summary и при заполнении map'а-хранилища идет контроль на совпадение атрибутов проводки.
Другой вопрос, почему в InventTransPosting, а потом уже в InventSettlement, попала информация такая. Точнее, почему она попала - ясно, пустая запись при поиске складской модели дает пустые флаги проведения в ГК физ./фин. операций и пустые типы разноски по счетам в InventTransPosting. Но по логике система должна ругаться в таком случае.

Последний раз редактировалось СибирскийКлещ; 22.08.2007 в 21:51. Причина: Название класса перепутал