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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2016, 18:00   #1  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Обновил для AX2012 и оформил в функцию:
X++:
static void CreateReq(ItemId ItemId, Qty Qty, InventDimId InventDimId, ReqPOType ReqPOType,TransDate TransDate=today(), InventLocationId fromLoc="", ReqPlanId reqPlanId = ReqParameters::find().CurrentReqPlanIdSchedDynamic)
{
    ReqPO reqPO;
    ReqTrans ReqTrans;
    
    ReqPlan ReqPlan;
    ReqPlanData reqPlanData     = ReqPlanData::newReqPlanId(reqPlanId);
    
    reqTransPOCreate reqTransPOCreate;
    BOMVersion      bomVersion;
    
    InventTable InventTable=InventTable::find(ItemId);
    InventDim InventDim=InventDim::find(InventDimId);
    InventLocationId toLoc=InventDim.InventLocationId;
    ;
    reqPO.clear();
    reqTrans.clear();

    reqPlan = reqPlan::findReqPlanId(reqPlanId);
    if (!reqPlan.RecId) Error("@SYS28502");

    reqPO.PlanVersion = reqPlan.RecId;
    reqPO.initReqPOType( ReqPlanData.parmReqPlanVersionRefRecId(), reqPoType);
    reqPO.initFromItemId(ItemId);


    reqPO.Qty = Qty;
    reqPO.PurchQty = Qty;

    reqPO.CovInventDimId = inventDimId;
    reqPO.PurchUnit = inventTableModule::find(ItemId,moduleInventPurchSales::Invent).UnitId;
    reqPO.ReqDateDlv=TransDate;
    
    if(reqPO.validateFieldValue(fieldStr(ReqPO, ItemId))&&reqPO.validateWrite())
    {
        switch(reqPoType) 
        {
            case ReqPOType::Transfer:
                ReqTransFormPO::validateFromInventLocationId(fromLoc, toLoc,reqPO);
                break;
            case ReqPOType::Production: 
                reqPO.ItemBomId=InventTable.bomId(TransDate,Qty,InventDim);
                reqPO.ItemRouteId=InventTable.routeId(TransDate,Qty,InventDim);
                break;
            case ReqPOType::Purch: 
                reqPO.VendId=InventTable.PrimaryVendorId;
                break;
        }

    
    reqPO.insert();
    ReqPlannedOrder::construct().insertFromForm(reqPO,inventDim,fromLoc,toLoc,true,true);
    
    }
}
За это сообщение автора поблагодарили: AK-76 (1).
Теги
сводное планирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Новый Sales Order через AxSalesTable, проблема с InventTrans Qaz Qwerty DAX: Программирование 6 22.10.2008 22:08
Отличия в строках ReqPO, почему одна строка появляется в форме а другая нет (Master Planning, Planned Orders) rkorchagin DAX: Программирование 8 21.02.2007 16:27
ReqPO и ReqTrans - планирование Rimantas DAX: Программирование 12 18.01.2007 10:37
Как создать order мануально braathe DAX: Программирование 0 29.04.2005 15:21
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:56.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.