Копировать ссылку на страницу

Постановка задачи

В справочнике Поручения есть реквизит На контроле (ControlType). При снятии поручения с контроля необходимо заполнить фактическую дату выполнения поручения максимальной фактической датой выполнения поручения у всех исполнителей. Фактическая дата поручения хранится в реквизите Факт. Дата (Дата3), фактическая дата поручения у исполнителя – в реквизите Дата отчета (ДатаТ).

Для этого нужно задать вычисление для реквизита На контроле (ControlType).

Вычисление реквизита

 

DISCARD_CONTROL_TYPE = "Discard"

PERFORMERS_DS_INDEX = 1

 

// Установить фактическую дату выполнения поручения.

if Sender.AsString == DISCARD_CONTROL_TYPE

  MaxDate = ''

  PerformersDataSet = Object.DetailDataSet(PERFORMERS_DS_INDEX)

  if PerformersDataSet.RecordCount > 0

    MaxDate = GetMaxValueOfDateRequisites(PerformersDataSet;

    'ДатаТ'; TRUE)

  endif

  Object.Дата3 = IfThen(MaxDate == ''; Today(); MaxDate)

endif

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM