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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.11.2008, 08:58   #6  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Примерно такой вот нужен код (сильно не бейте :-)). Фин. учет себестоимости должен быть по операциям.

DeleteConsumptionEntry(_ItemLedgEntryNo : BigInteger;_ShowMessage : Boolean)

ItemLedgEntry.RESET;
ItemLedgEntry.GET(_ItemLedgEntryNo);

IF ProdOrderLine.FINDFIRST THEN
REPEAT

ProdOrderLine."Cost is Adjusted" := FALSE;
ProdOrderLine.MODIFY;

Item.GET(ProdOrderLine."Item No.");
Item."Cost is Adjusted" := FALSE;
Item.MODIFY;

UNTIL ProdOrderLine.NEXT = 0;

ProdOrderLine.RESET;
ProdOrderLine.SETRANGE("Prod. Order No.",ItemLedgEntry."Prod. Order No.");


ItemApplEntry.RESET;
ItemApplEntry.SETRANGE("Item Ledger Entry No.",ItemLedgEntry."Entry No.");
IF ItemApplEntry.FINDFIRST THEN
REPEAT

AppliedFromItemLedgEntry.RESET;
IF AppliedFromItemLedgEntry.GET(ItemApplEntry."Inbound Item Entry No.") = TRUE THEN
BEGIN
AppliedFromItemLedgEntry."Remaining Quantity" := AppliedFromItemLedgEntry."Remaining Quantity" - ItemApplEntry.Quantity;
AppliedFromItemLedgEntry.Open := TRUE;
AppliedFromItemLedgEntry."Applied Entry to Adjust" := TRUE;
AppliedFromItemLedgEntry.MODIFY;
END;

ItemApplEntry.DELETE;
UNTIL ItemApplEntry.NEXT = 0;

LedgEntryDim.RESET;
LedgEntryDim.SETRANGE("Table ID",32);
LedgEntryDim.SETRANGE("Entry No.",ItemLedgEntry."Entry No.");
IF LedgEntryDim.FINDFIRST THEN
LedgEntryDim.DELETEALL;

ItemLedgEntry.DELETE;

ValueEntry.RESET;
ValueEntry.SETRANGE("Item Ledger Entry No.",_ItemLedgEntryNo);
IF ValueEntry.FINDFIRST THEN
REPEAT
GLEntry.RESET;
GLEntry.SETRANGE("Value Entry No.",ValueEntry."Entry No.");
IF GLEntry.FINDFIRST THEN
REPEAT

LedgEntryDim.RESET();
LedgEntryDim.SETRANGE("Table ID",17);
LedgEntryDim.SETRANGE("Entry No.",GLEntry."Entry No.");
IF LedgEntryDim.FINDFIRST THEN
LedgEntryDim.DELETEALL;

GLEntry.DELETE;
UNTIL GLEntry.NEXT = 0;

LedgEntryDim.RESET;
LedgEntryDim.SETRANGE("Table ID",5802);
LedgEntryDim.SETRANGE("Entry No.",ValueEntry."Entry No.");
IF LedgEntryDim.FINDFIRST THEN
LedgEntryDim.DELETEALL;

ValueEntry.DELETE;
UNTIL ValueEntry.NEXT = 0;



IF _ShowMessage THEN
MESSAGE('Изменено потребление в заказе ' + ProdOrderLine."Prod. Order No.");
__________________
Want to believe...
 


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

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

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