Записная книжка разработчика. Список рассылки

2 0

В классическом понимании, список рассылки - это перечень подразделений\сотрудников, которые должны ознакомиться с документом после подписания его руководителем и регистрации  делопроизводителем в нужном журнале, чаще всего оформленный в виде приложения к документу, которое заполняет  автор документа.  Этот процесс можно автоматизировать таким образом, чтобы регистратору документа не приходилось заполнять данный список вручную.  Фактически - самая простая доработка, которая улучшает работу делопроизводителя. 

На Directum Club решение проскакивало в виде ответа на вопрос в давние времена, но не было оформлено в виде отдельной заметки и в неполном объеме.  Для коллекции восполним этот пробел. 

Для решения задачи откроем справочник "Типовые маршруты". Используем в качестве примера стандартный типовой маршрут (ТМ) "Согласование официальных документов", т.е. такой ТМ в котором есть блок регистрации документа в схеме маршрута.  В карточке маршрута  через панель инструментов откроем "Параметры" и добавим новый параметр "Список рассылки".  В свойствах параметра укажем тип справочника -  "Подразделения".

Разумеется, можно создать аналогичный параметр для выбора сотрудников, которым должен быть отправлен документ на ознакомление. И в том, и другом случае вычисления будут примерно похожими.  Лично мне больше нравится выбор по подразделениям, когда автор указывает нужные подразделения и не думает о фамилиях  сотрудников.  При формировании списка рассылки в карточку РКК по подразделению добавится руководитель указанного подразделения.  Для простоты кода опущена проверка на отсутствие руководителя. 

Для того, чтобы параметр был обязательным при заполнения в схеме ТМ в разделе "Запрашиваемые параметры" отметим чек-бокс "Запрашивать" и "Обязательный". 

Чтобы заполненные сотрудником значения  "Списка рассылки" добавлялись в список рассылки карточки РКК, в событиях ТМ  в блоке "Регистрация документа делопроизводителем"  в разделе "После запроса параметров" добавим код после существующего: 

// Формирование списка рассылки в карточке РКК по подразделениям
  
  Query = "select rkk.Analit
              from MBAnalit rkk, SBLinks sv, MBAnalitSpr mr
              where rkk.Vid = " & ИДТипСпр("РКК") & "
              and sv.SourceType = 'R'
              and sv.DestType = 'E'
              and sv.SourceID = rkk.Analit
              and mr.Analit = rkk.MestoReg
              and sv.DestID = " & DocID
  
  Res = SQL(Query)
  
     RKK = References.РКК.GetObjectByID(Res)
     RKK.OpenRecord
     
     DDS3 = RKK.DetailDataSet(3)     
     DepartmentListCount = Object.WorkFlowParams.ValueByName('СписокРассылки').Count 
      i = 0
     while i < DepartmentListCount
         DDS3.Append
         RefInfo = Object.WorkFlowParams.ValueByName('СписокРассылки').Values(i)
         DDS3.DepartmentT3 = RefInfo.Code         
         Worker = GetRequisiteValueAsString('ПОД'; RefInfo.Code; 'Работник') 
         DDS3.РаботникТ3 = Worker   
       
         i = i + 1
     endwhile
     RKK.Save
  endif

В результате внесенных изменений после регистрации РКК, выполнении задачи регистратором и закрытия карточки задачи в карточку РКК документа добавится список рассылки, который создал автор документа при отправке документа на согласование по ТМ, тем самым, избавив делопроизводителя от повторного заполнения данного раздела.

При запуске задачи по ТМ сотрудники будут указывать список рассылки: 


Точно также можно поступить, если Вы в своей работе используете мастер действий при оформлении и отправке документов.  В параметрах мастера действий по аналогии с ТМ добавляем параметр "Список рассылки", а в форме добавляем его на нужном этапе, где он будет запрашиваться: 

При работе мастера на нужном этапе заполняется список, который передается в ТМ. 

В результате всех изменений после регистрации документа в журнале РКК у Вас будет заполненный список рассылки документа(пример):


Спасибо за внимание.

2
Авторизуйтесь, чтобы оценить материал.
1
Пока комментариев нет.

Авторизуйтесь, чтобы написать комментарий