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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.09.2013, 13:19   #1  
sashanka is offline
sashanka
Участник
 
28 / 10 (1) +
Регистрация: 07.02.2013
Изменение маршрута производственного заказа
Стояла такая задача:
Пусть у нас есть производственный заказ с более менее правильной спецификацией и фиктивный маршрутом в 1 операцию - сделать хорошо, он выполняется, т.е. разносятся журналы, меняются статусы и т.д.
И вот настал момент, когда фиктивный маршрут нам нужно поменять на нормальный(пронормированный и прочее), но нам необходимо:
- отгрузочные накладные не откатывать (что списали, то уже не вернешь);
- откатить старые журналы карат заданий;
- обновить журнал карта заданий;
- провести все задания из нового журнала;
- списать новые позиции спецификации если такие есть;

Решению, которое нашла я:
Откатывала журналы карты заданий
X++:
    ProdJournalCheckPostRoute    prodJournalCheckPostRoute;
    ProdJournalCreateRoute       prodJournalCreate;
    ProdJournalTable             prodJournalTable;

    ;

    prodJournalCreate = ProdJournalCreateRoute::newStatusDecrease( m_prodTable.ProdId );
    prodJournalCreate.run();

    prodJournalTable = prodJournalCreate.usedProdJournalTable();

    if ( prodJournalTable.RecId && prodJournalTable.JournalId )
    {
        prodJournalCheckPostRoute = ProdJournalCheckPostRoute::newPostJournal( prodJournalTable.JournalId, true );
        prodJournalCheckPostRoute.run();
    }
Для обновления маршрута я не вводила все необходимые параметры ручками при формировании новых записей в ProdRoute

А использовала бубен и танцы с таблицей ReqRoute,
а именно создавала там маршрут с помощью ReqTrans.createRoute(), далее практически скопипастив метод ReqTransPoMarkFirm.createProdRoute создавала записи в ProdRoute
для обновления заданий пробегала ProdRoute и переписывала задания с помощью

X++:
while select prodRoute
    order by OprNum,OprPriority
where prodRoute.ProdId == m_prodTable.ProdId
{
    prodJobUpdate     = ProdJobUpdate::newProdIdOprNum( prodRoute.ProdId, prodRoute.OprNum);
    prodJobUpdate.run();
}

Теперь вопрос, насколько ужасно мое решение? -__-
Знает кто-нибудь менее шаманский способ?
Теги
производственный заказ

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменение производственного заказа sashanka DAX: Функционал 14 12.08.2013 13:46
Создание производственного заказа программно ena_ax DAX: Программирование 7 23.09.2011 11:38
Множественная калькуляция производственного заказа DYPotapchenko DAX: Функционал 15 11.03.2011 12:41
Тип производственного заказа Anais DAX: Функционал 17 26.05.2005 13:50
Производство: проблема при обработке производственного заказа Asp DAX: Функционал 2 15.04.2004 15:48
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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