Показать сообщение отдельно
Старый 13.01.2014, 12:30   #2  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Добрый день! Неужели никто не сможет помочь?

Нашёл, что даты редактируются в WrkCtrJobData_ProdJob.update()

X++:
super();

    cacheProdRouteJob.SchedTimeHours  = (this.rec_JobTime()     / 3600);
    cacheProdRouteJob.CalcTimeHours   = (this.rec_JobCalcTime() / 3600) * (this.rec_LoadPercent() / 100);

    cacheProdRouteJob.FromDate    = scheduleJobs.jobLinkData().rec_FromDate();
    cacheProdRouteJob.FromTime    = scheduleJobs.jobLinkData().rec_FromTime();
    cacheProdRouteJob.ToDate      = scheduleJobs.jobLinkData().rec_ToDate();
    cacheProdRouteJob.ToTime      = scheduleJobs.jobLinkData().rec_ToTime();
    
    cacheProdRouteJob.WrkCtrId    = wrkCtrData.rec_WrkCtrId();

    if ((cacheProdRouteJob.FromDate    == cacheProdRouteJob.ToDate &&
         cacheProdRouteJob.FromTime    == cacheProdRouteJob.ToTime) || this.rec_JobTime() == 0)
    {
        cacheProdRouteJob.SchedCancelled = NoYes::Yes;
    }
    else
        cacheProdRouteJob.SchedCancelled = NoYes::No;

    cacheProdRouteJob.update();
Однако насколько я понял, JobTime для завершённых задач устанавливается в нуле и у них всегда будут прописаны даты, от которых производится планирование (ProdParmScheduling.SchedDate и ProdParmScheduling.SchedTime), а также таким заданиям установится галка SchedCancelled, как видно из примера кода, хотя оно уже завершено.

Последний раз редактировалось Cardagant; 13.01.2014 в 13:37.