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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.10.2003, 09:42   #1  
Valia is offline
Valia
Участник
 
139 / 23 (1) +++
Регистрация: 09.07.2003
Адрес: там
Таким образом решение поставленной задачи автоматической разноски я вижу следующим образом:

Фактически необходимо разработать класс, метод которого и будет и заниматься разноской, что-то типа этого

boolean createJournalLine()
{

InventJournalTrans journalLine;
InventDim _inventDim;
InventDim inventDimIssue;
InventDim inventDimReceipt;

.....

InventMovement _movement;

InventJournalCheckPost journalCheckPost;

;

inventJournalTable = InventJournalTable::find(inventJournalId);// ищется соответствующий журнал, если нет то заводится

if(!inventJournalTable)
{
this.createJournalTable(inventJournalId);
inventJournalTable = InventJournalTable::find(inventJournalId);
}

journalLine.initFromInventJournalTable(inventJournalTable);
journalLine.journalType= InventJournalType::Transfer;


_movement = InventMovement::construct(journalLine); // теперь бы неплохо создать экземпляр класса InventMovement


// а вот дальше начинается самой интересное - кикае методы использовать, чтобы наконецто зарезервировать, то ли этот
InventMovement::setAutoReserving(journalLine);
...

// то ли еще какой,



journalLine.inventDimId = InventDim::findOrCreate(inventDimIssue).inventDimId;
journalLine.toInventDimId = InventDim::findOrCreate(inventDimReceipt).inventDimId;
journalLine.initValue();

journalLine.write();

if (journalLine.inventDimId != inventDimIssue.inventDimId)
{
inventDimIssue.data(InventDim::find(journalLine.inventDimId));
inventDimIssue.write();
}

if (journalLine.toInventDimId != inventDimReceipt.inventDimId)
{
inventDimReceipt.data(InventDim::find(journalLine.toInventDimId));
inventDimReceipt.write();
}

// после всего етого необходимо разнести

journalCheckPost = InventJournalCheckPost::construct();
journalCheckPost.getLast();
journalCheckPost.parmPost(NoYes::Yes);
journalCheckPost.parmJournalNum(inventJournalTable.JournalId); //journalId
journalCheckPost.parmVoucher('');
journalCheckPost.parmComplete(NoYes::Yes);

journalCheckPost.parmJournalCheckPostType(JournalCheckPostType::Post);
journalCheckPost.parmJournalCheckPostDialog(JournalCheckPostDialog::Invent);


journalCheckPost.run();
journalCheckPost.jobStatistics(); // ну и посмотреть на результаты работы


return true;
}


таким образом остается непонятным как осуществляется резервирование и какие используются методы

А может быть предложенный вариант не совсем оптимелен.

Подскажите пожалуйста, выскажите свои мысли по етому поводу.

Заранее огромное спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ALEG: Где можно найти информацию о планах и стратегии вендора? Blog bot DAX Blogs 0 22.11.2006 03:10
Где найти русскую Аксапту на попробовать? win311 DAX: Прочие вопросы 6 28.06.2005 15:02
Где Axapta 3.0 хранит лицензионную информацию? last DAX: Прочие вопросы 3 23.03.2005 12:50
Где что хранится? Kengo DAX: Программирование 10 11.11.2004 13:05
Где возможно найти документацию по SP3? NeveB DAX: Администрирование 10 24.09.2004 10:38

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

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

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