Показать сообщение отдельно
Старый 05.05.2012, 10:54   #14  
niksen is offline
niksen
Участник
Самостоятельные клиенты AX
 
284 / 28 (1) +++
Регистрация: 05.07.2011
Адрес: Татарстан
вот что получилось для перепланирования. Может кому понадобится.
Критикуйте
X++:
static void ProdStatusSched(Args _args)
{
    ProdParmScheduling  prodParmScheduling;
    ProdTable           prodTable;
    ;
    ttsbegin;
    while select ProdTable
        where ProdTable.ProdStatus != ProdStatus::Scheduled
    {
        prodParmScheduling.clear();
        prodParmScheduling.ParmBuffer::initParmId();
        prodParmScheduling.ProdId = ProdTable.ProdId;
//    устанавливаем параметры перепланирования:
        prodParmScheduling.SchedDirection = ProdSchedDirection::ForwardFromToday;
        prodParmScheduling.SchedMethod = ProdSchedMethod::OperationScheduling;
        prodParmScheduling.SchedDate = str2date('24/05/2012',123);
        prodParmScheduling.SchedTime = str2time('15:55');
        prodParmScheduling.CapLimited = NoYes::Yes;
        prodParmScheduling.MatLimited = NoYes::Yes;
        prodParmScheduling.SyncRef = NoYes::Yes;
        prodParmScheduling.SchedRef = NoYes::Yes;
        prodParmScheduling.CancelProcessTime = NoYes::No;
        prodParmScheduling.CancelSetupTime = NoYes::No;
        prodParmScheduling.CancelQueueTime = NoYes::No;
        prodParmScheduling.CancelTransportTime = NoYes::No;
        prodParmScheduling.CancelOverlap = NoYes::No;
        prodParmScheduling.JobStatus = ParmJobStatus::Executed;
        prodParmScheduling.AutoUpdate = NoYes::Yes;

        prodParmScheduling.insert();

        ProdTable::find(ProdTable.ProdId).status().runJobScheduling(prodParmScheduling);

    }
    ttscommit;

}