|
10.03.2005, 12:31 | #1 |
Участник
|
Изыскания по поводу функциональности поля "Ссылка на лот"
Мы (я и fed), решили выложить на форум свои мысли по поводу использования системой поля "Ссылка на лот" в таблице складских проводок:
1. Моя часть касается процедуры пересчета\закрытия склада, а именно пересчета проводок заказов или закупок созданных на основании контракта. 2. Часть fed'а будет звучать примерно так: "двоякая сущность поля "сылка на лот" Итак моя часть: Как известно, данное поле, кроме всего прочего, указывает из какого лота прихода, взять себестоимость для лота расхода. Стандартно такую связь можно указать через процедуру "Маркировка". Данная процедура однозначно сопоставляет лот прихода, лоту расхода записывая в поле "Ссылка на лот" перекрестные ссылки. При пересчете\закрытии склада, себестоимость такой сопоставленной расходной проводки будет равна себестоимости сопоставленной проводки прихода. В случае когда складские проводки созданны заказом или закупкой сделанными на основании контракта, они содержат ссылку на лот строки исходного контракта. Ссылка эта появляется еще при создании строк и находится на закладке "Прочее" строк заказа\закупки. Оттуда она и подставляется в складские проводки. Как мы знаем: заказы\закупки с типом контракт не создают складских проводок, поэтому наши "Ссылки на лот" ссылаются на номера лотов не существующих в таблице складских проводок. Вот на этом моменте закрытие\пересчет склада и спотыкается. Увидев такую проводку, система выбрасывает ее из стандартного механизма сопоставления, и пытается дооценить себестоимость, выбрав ее по ссылке. Но так как ссылка ссылается "в никуда", то естественно ничего не дооценивается и проводка выпадает из списка проводок к сопоставлению: В классе InventCostItemDim, есть следующие методы: 1. protected void load(InventDim _inventDimCriteria) 2. protected void updateSettleRefItem(ItemId _itemId) в этих методах вы увидите запросы в которых встречается такое условие: PHP код:
PHP код:
При небольшой корректировке этих запросом мы добиваемся правильного пересчета. |
|