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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.03.2003, 07:06   #3  
Gustow is offline
Gustow
Участник
 
6 / 10 (1) +
Регистрация: 10.06.2002
Создаю журнал инвентаризации №40.
Создаю вручную строку с номенклатурой 0959429900
Пытаюсь сдублировать запись с помощью нижеприведенного фрагмента.

=====================================================
InventJournalTrans IJT ;
InventJournalTrans IJT1 ;
InventTrans InventTrans ;
InventSum InventSum ;
InventDim InventDim ;
;
select firstonly IJT1 where IJT1.JournalID == '38' ;
// InventJournalTrans
IJT.JournalId = IJT1.JournalId ;
IJT.TransDate = str2date('01.01.03',123) ; //На другую дату
IJT.Voucher = IJT1.Voucher ;
IJT.JournalType = IJT1.JournalType ;
IJT.ItemId = IJT1.ItemId ;
IJT.CostAmount = IJT1.CostAmount ;
IJT.Counted = IJT1.Counted ;
IJT.Qty = IJT1.Qty ;
IJT.CostPrice = IJT1.CostPrice ;
IJT.PriceUnit = IJT1.PriceUnit ;
IJT.InventDimId = IJT1.InventDimId ;
IJT.insert() ;

select InventDim where InventDim.inventDimId == IJT1.InventDimId ;

ttsbegin;
IJT.inventDimId = InventDim::findOrCreate(inventDim).inventDimId;
ttscommit;

InventMovement::setAutoReserving(IJT);

if (IJT.inventDimId != inventDim.inventDimId)
{
inventDim.data(InventDim::find(IJT.inventDimId));
inventDim.write();
}

// InventTrans
InventTrans.ItemId = IJT.ItemId ;
InventTrans.Qty = IJT.Qty ;
InventTrans.TransType = InventTransType::InventCounting ; // Инвентаризация
InventTrans.TransRefId = IJT.JournalId ;
InventTrans.InventTransId = IJT.InventTransId ;
InventTrans.StatusReceipt = StatusReceipt::Ordered ; // Заказано
InventTrans.DateExpected = IJT.TransDate ;
InventTrans.ValueOpen = InventTransOpen::Yes ;
InventTrans.Direction = InventDirection::Receipt ;
InventTrans.DateStatus = IJT.TransDate ;
InventTrans.inventDimId = IJT.InventDimId ;
InventTrans.ValueOpenSecCur_RU = InventTransOpen::Yes ;
InventTrans.InventTransId = IJT.InventTransId ;
InventTrans.insert();

// добавляем суммы
select InventSum
where InventSum.ItemId == IJT.ItemId &&
InventSum.InventDimId == IJT.InventDimId ;
if (InventSum.RecId == 0)
{
InventSum.ItemId = IJT.ItemId ;
InventSum.Ordered = IJT.Counted ;
InventSum.InventDimId = IJT.InventDimId ;
InventSum.LastUpdDateExpected = IJT.TransDate ;
}
else
{
InventSum.LastUpdDateExpected = IJT.TransDate ;
InventSum.Ordered += IJT.Counted ; // суммируем
}

InventSum.write() ;
=====================================================
сообщение об ошибке
=====================================================
Error Разноска - Журнал\Номер журнала:
40\Документ ГК:
Inv000035\Дата:
06.03.2003\Номенклатура: 0959429900
Дата выполнения проводки неправильна

Info Разноска - Журнал Журнал не был проведен
======================================================
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Глюки SP3. Журнал инвентаризации maxsmirnov DAX: Программирование 2 19.04.2006 21:35
Номер документа в ГК. Журнал инвентаризации. DreamCreator DAX: Программирование 1 21.03.2005 16:07
Мультипользовательский ввод в журнал инвентаризации OliaM DAX: Функционал 11 01.12.2004 23:43
Журнал спецификаций Lol14 DAX: Функционал 13 16.06.2003 13:10
Журнал инвентаризации sk45 DAX: Функционал 4 03.06.2003 12:59

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

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

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