AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.03.2005, 12:31   #1  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Изыскания по поводу функциональности поля "Ссылка на лот"
Мы (я и fed), решили выложить на форум свои мысли по поводу использования системой поля "Ссылка на лот" в таблице складских проводок:

1. Моя часть касается процедуры пересчета\закрытия склада, а именно пересчета проводок заказов или закупок созданных на основании контракта.
2. Часть fed'а будет звучать примерно так: "двоякая сущность поля "сылка на лот"

Итак моя часть:

Как известно, данное поле, кроме всего прочего, указывает из какого лота прихода, взять себестоимость для лота расхода. Стандартно такую связь можно указать через процедуру "Маркировка". Данная процедура однозначно сопоставляет лот прихода, лоту расхода записывая в поле "Ссылка на лот" перекрестные ссылки. При пересчете\закрытии склада, себестоимость такой сопоставленной расходной проводки будет равна себестоимости сопоставленной проводки прихода.
В случае когда складские проводки созданны заказом или закупкой сделанными на основании контракта, они содержат ссылку на лот строки исходного контракта. Ссылка эта появляется еще при создании строк и находится на закладке "Прочее" строк заказа\закупки. Оттуда она и подставляется в складские проводки.
Как мы знаем: заказы\закупки с типом контракт не создают складских проводок, поэтому наши "Ссылки на лот" ссылаются на номера лотов не существующих в таблице складских проводок.
Вот на этом моменте закрытие\пересчет склада и спотыкается. Увидев такую проводку, система выбрасывает ее из стандартного механизма сопоставления, и пытается дооценить себестоимость, выбрав ее по ссылке. Но так как ссылка ссылается "в никуда", то естественно ничего не дооценивается и проводка выпадает из списка проводок к сопоставлению:

В классе InventCostItemDim, есть следующие методы:
1. protected void load(InventDim _inventDimCriteria)
2. protected void updateSettleRefItem(ItemId _itemId)

в этих методах вы увидите запросы в которых встречается такое условие:

PHP код:
inventTrans.InventRefTransId  == '' 
или такое:

PHP код:
inventTrans.InventRefTransId  != '' 
но, помимо того что мы выбираем проводки с заполненными или незаполненными InventRefTransId, нам еще следует проверять, имеется ли проводка с таким лотом в InventTrans. Зачем такая проверка, я думаю совершенно очевидно.
При небольшой корректировке этих запросом мы добиваемся правильного пересчета.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при выборе поля "подразделение" на форме Дима DAX: Программирование 5 01.10.2007 11:23
Создание "Ссылка меню" petr DAX: Программирование 5 14.04.2006 14:00
Очистка поля "Ссылка на лот" при пересчете slava09 DAX: Функционал 9 15.02.2005 10:57
Как добавить в addRange условие по "или" на контейнерные поля? Lora DAX: Программирование 9 29.11.2004 13:52
Поля "Автор", "Автор модификации" xconsul DAX: Функционал 1 22.10.2003 09:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:01.