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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2008, 15:58   #1  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Коллеги! помогите разобраться с ситуацией.
имеем nav 4-0 sp3.
в товаре настраиваем измерение (например товгруппа) и ставим ему единый код этого измерения
создаем заказ покупки на этот товар
сооздаем другой заказ с типом в строках товарная издержка
распределяем эту издержку на товар из первого заказа
пытаемся учесть заказ с товарной издержкой получаем ошибку о том что надо проставить измерение для товара.
смотрел код в 90 кю видел место где создается новая строка которая учитывается но смег рабобраться как к ней дописать измерения из товара.
помогите плиз!
Старый 08.10.2008, 09:26   #2  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Товарные издержки распределяются функцией PostItemCharge. В ней пересчитывается себестоимость на строке покупки и вызывается функция PostItemJnlLine, которая формирует и учитывает товарный журнал.
С измерения в товарный журнал попадают из строки покупки, точнее из таблички TempDocDim, предварительно заполненной фунцией CopyAndCheckDocDimToTempDocDim.
В Вашем случае возможные варианты:
1. Если это не противоречит логике - копировать (с переписыванием при наличии или нет) измерений из примененной товарной операции. В фунции PostItemJnlLine фильтруйте табличку Ledger Entry Dimension по Table ID=32 и "Entry No."=ItemLedgShptEntryNo в функции PostItemJnlLine и формируйте записи в TempJnlLineDim.
2. В функции PostItemCharge перед вызовом PostItemJnlLine дописываете в TempDocDim на строку покупки дефолтовые измерения товара (таблица 352). После вызова PostItemJnlLine удаляете, дабы лишняя информация не попала в Posted Document Dimension.
Старый 08.10.2008, 10:21   #3  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
спасибо за ответ! иммено так я и пытался делать, вернее шел по второму варианту ихотел использовать стандартный мехвнизм из 39 таблицы


TableID[1]:=DATABASE::Item;
No[1]:=PurchLine."No.";

DimMgt.GetDefaultDim(TableID,No,SourceCodeSetup.Purchases,
PurchLine."Shortcut Dimension 1 Code",PurchLine."Shortcut Dimension 2 Code");


IF PurchLine."Line No." <> 0 THEN
BEGIN
DimMgt.UpdateDocDefaultDim(
DATABASE::"Purchase Line",PurchLine."Document Type",PurchLine."Document No.",PurchLine."Line No.",
PurchLine."Shortcut Dimension 1 Code",PurchLine."Shortcut Dimension 2 Code");
CopyAndCheckDocDimToTempDocDim;
END;
но это не сработало.
думаю придется напрямую выбирать из 352 и писать в TempDocDim .
еще раз спасибо.
p.s. что мне подсказывает что это явный баг!
Старый 08.10.2008, 11:21   #4  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от Arshak Посмотреть сообщение
спасибо за ответ! иммено так я и пытался делать, вернее шел по второму варианту ихотел использовать стандартный мехвнизм из 39 таблицы


TableID[1]:=DATABASE::Item;
No[1]:=PurchLine."No.";

DimMgt.GetDefaultDim(TableID,No,SourceCodeSetup.Purchases,
PurchLine."Shortcut Dimension 1 Code",PurchLine."Shortcut Dimension 2 Code");


IF PurchLine."Line No." <> 0 THEN
BEGIN
DimMgt.UpdateDocDefaultDim(
DATABASE::"Purchase Line",PurchLine."Document Type",PurchLine."Document No.",PurchLine."Line No.",
PurchLine."Shortcut Dimension 1 Code",PurchLine."Shortcut Dimension 2 Code");
CopyAndCheckDocDimToTempDocDim;
END;
но это не сработало.
Разумеется это не сработает - так как в базе физически хранится товарная издержка,
несмотря на то что в строке покупке для целей учета поставили номерок товара.


Цитата:
Сообщение от Arshak Посмотреть сообщение
p.s. что мне подсказывает что это явный баг!
К сожалению (или к счастью) на строку распределения тов. издержек нельзя привязать измерения.
Можно считать это багом, можно недоработкой. Я лично не вижу необходимости такого функционала в стандарте.
Старый 08.10.2008, 14:08   #5  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
я думаю что если для целей учета проставили номерок товара, а у товара есть стандартное измерение то стоило бы позаботиться чтоб оно проставлялось везде где фигурирует товар IHMO
Старый 08.10.2008, 17:21   #6  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от Arshak Посмотреть сообщение
я думаю что если для целей учета проставили номерок товара, а у товара есть стандартное измерение то стоило бы позаботиться чтоб оно проставлялось везде где фигурирует товар IHMO
Тогда самый прямой и на мой взгляд самые неправильный путь - проставлять измерения в 22 кодеюните .
Старый 09.10.2008, 14:46   #7  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
ок, еще раз спасибо за совет все получилось с прописыванием в лоб! а все остальное на совести Микрософта
Старый 09.10.2008, 23:23   #8  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
глубокий минус им за это.
сам расстраивался, помню.
Старый 10.10.2008, 09:57   #9  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
глубокий минус им за это.
сам расстраивался, помню.
Может надо завести юзера Microsoft и снимать респекты обоснованные?
 


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

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

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