 Как найти задачу на отправку и контроль возврата
  Как найти задачу на отправку и контроль возврата
| Если задача на контроль возврата стартована из РКК, используйте действие Контролировать возврат. Если задача на контроль возврата стартована из диалогов Контроль возврата документа или Отправка документов, использованных в рамках задачи по согласованию документов (в нужном типовом маршруте), то найти задачу можно с помощью действия Вложено в задачи от основной задачи. | 
 Как изменить инициатора задачи на отправку и контроль возврата
  Как изменить инициатора задачи на отправку и контроль возврата
| Инициатор указывается в параметре UserName, который передается в списке ParamStringList в серверное событие. В параметре указывается имя пользователя. По умолчанию в качестве инициатора указывается текущий пользователь. В блоке типового маршрута «Отправка положительного ответа в систему обмена» для инициатора есть отдельное свойство. Если параметр UserName в функции DISISendAndCheckReturnRun не заполнен, инициатором будет инициатор задачи из переданного параметра TaskID. Если и этот параметр не заполнен, инициатором будет служебный пользователь. Заменить пользователя можно в вычислении событий диалогов, в блоке типового маршрута «Отправка положительного ответа в систему обмена». Если у всех задач на отправку должен быть единый инициатор, можно изменить вычисление инициатора в функции DISISendAndCheckReturnRun. | 
 Как сформировать текст задания по отправке аналогично стандартным типовым маршрутам
  Как сформировать текст задания по отправке аналогично стандартным типовым маршрутам
| Для формирования текста задания для отправки новых документов используется функция DISIGetTaskTextForSendDocuments. Подготовьте данные из диалога для формирования текста задания (на событии блока задания): 
 if Dialog.Result <<>> mrOk Exit() else PartnersDDS = Dialog.DetailDataSet(1) PartnersDDS.First PartnersStringList = CreateStringList() PartnersStringList.Delimiter = '|' while not PartnersDDS.EOF PartnerAdresse = PartnersDDS.DISISubscriberAddresse2T if Assigned(PartnerAdresse) PartnersStringList.Add(PartnerAdresse) endif PartnersDDS.Next endwhile Text = DISIGetTaskTextForSendDocuments(Dialog.String; Dialog.String2; PartnersStringList.DelimitedText) ActiveText = Object.ActiveText if Assigned(ActiveText) Object.ActiveText = Format("%s%s%s"; ArrayOf(ActiveText; CR; Text)) else Object.ActiveText = Text endif endif Для формирования текста задания для отправки задачи на контроль возврата бумажных документов используется функция DISIGetTaskTextForEnsureDocumentReturn. Добавьте в нее обработку новых параметров или используйте параметры самой функции: 
 if Dialog.Result <<>> mrOk Exit() else Text = DISIGetTaskTextForEnsureDocumentReturn(Object.ID) ActiveText = Object.ActiveText if Assigned(ActiveText) Object.ActiveText = Format("%s%s%s"; ArrayOf(ActiveText; CR; Text)) else Object.ActiveText = Text endif endif | 
 Как сделать единый блок для отправки документов в бумаге и через системы обмена
  Как сделать единый блок для отправки документов в бумаге и через системы обмена
| Обычно пользователю, ответственному за отправку, заранее известно, в каком виде нужно отправить документы в конкретную организацию. Например, способ отправки может определяться в параметре типового маршрута DeliveryMethod. В этом случае в событии задания по отправке можно программно вычислить, какой диалог отобразить: 
 Mode = DISIGetModeForSendDocBlock(Object.ID) if Mode == 'Send' // Отображение диалога DISISendDocuments. … else if Mode == 'Control' // Отображение диалога DISICheckReturn. … endif endif Если имена параметров отличаются от стандартных, обработайте новые параметры в функции DISIGetModeForSendDocBlock. | 
 Как реализовать поддержку отправки документов в веб-доступе
  Как реализовать поддержку отправки документов в веб-доступе
| Аналогично обработке диалогов в типовом маршруте «Согласование договорных документов». Доработка прикладной части не требуется. | 
 Как вложить новые объекты в задачу по отправке
  Как вложить новые объекты в задачу по отправке
| 
 
 RecordID = TaskParamList.FindItem('RecordID') if Assigned(RecordID) // Получить IReferenceInfo и добавить его во вложения задачи. ... endif 
 
 ParamStringList.Add('RecordID' & CONST_VALUE_DELIMITER & RecordID) 
 
 ParamList.Add('RecordID'; RecordID) | 
| © Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |