Skip to content

Commit

Permalink
Описание события "После обработки ленты событий"
Browse files Browse the repository at this point in the history
  • Loading branch information
nvyhodceva committed Aug 12, 2019
1 parent e4ee9c8 commit 913a2bd
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 11 deletions.
23 changes: 12 additions & 11 deletions docs/source/Functions_PM.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
:name: Исходящие документы
:maxdepth: 1

ПолучитьТаблицуИспользуемыхПакетов <func/pm/Poluchit'TablitsuIspol'zuyemykhPaketov>
ПолучитьТаблицуИспользуемыхВидовДокументов <func/pm/Poluchit'TablitsuIspol'zuyemykhVidovDokumentov>
ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов <func/pm/Poluchit'TekstZaprosaDlyaSpiskaPaketovNaOtpravkuPoMassivuVidovPaketov>
ПодготовитьПакет <func/pm/Podgotovit'Paket>
ПодготовитьЭлектронныйДокумент <func/pm/Podgotovit'ElektronnyyDokument>
ПослеПодготовкиПакета <func/pm/PoslePodgotovkiPaketa>
ПолучитьТаблицуИспользуемыхВидовДокументов <func/pm/Poluchit'TablitsuIspol'zuyemykhVidovDokumentov>
ПолучитьТаблицуИспользуемыхПакетов <func/pm/Poluchit'TablitsuIspol'zuyemykhPaketov>
ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов <func/pm/Poluchit'TekstZaprosaDlyaSpiskaPaketovNaOtpravkuPoMassivuVidovPaketov>
ПослеОтправкиПакета <func/pm/Posle_Otpravki_Paketa>
ПослеПодготовкиПакета <func/pm/PoslePodgotovkiPaketa>


Входящие документы
Expand All @@ -25,12 +25,12 @@
:name: Входящие документы
:maxdepth: 0

ВыполнитьТребуемоеДействие <func/pm/Vypolnit'_Trebuyemoye_Deystviye>
НайтиСопоставлениеДокумента <func/pm/Nayti_Sopostavleniye_Dokumenta>
ПолучитьЗаполненныйОбъектДокумента1С <func/pm/Poluchit'_Zapolnennyy_Obyekt_Dokumenta_1S>
СопоставитьНоменклатуруПоставщика <func/pm/Sopostavit'_Nomenklaturu_Postavshchika>
ПровестиАнализДокумента <func/pm/Provesti_Analiz_Dokumenta>
ПослеАнализаПакета <func/pm/Posle_Analiza_Paketa>
ВыполнитьТребуемоеДействие <func/pm/Vypolnit'_Trebuyemoye_Deystviye>
ПровестиАнализДокумента <func/pm/Provesti_Analiz_Dokumenta>
СопоставитьНоменклатуруПоставщика <func/pm/Sopostavit'_Nomenklaturu_Postavshchika>


Дополнение формы модуля
Expand All @@ -40,10 +40,10 @@
:name: Изменение списка документов
:maxdepth: 0

ЗаполнитьСписокДополнительныхКнопок <func/pm/Zapolnit'_Spisok_Dopolnitel'nykh_Knopok>
НажатиеДополнительнойКнопки <func/pm/Nazhatiye_Dopolnitel'noy_Knopki>
ПолучитьНастройкиДополнительныхКолонокСпискаДокументов <func/pm/Poluchit'_Nastroyki_Dopolnitel'nykh_Kolonok_Spiska_Dokumentov>
ПослеОбновленияСпискаДокументов <func/pm/Posle_Obnovleniya_Spiska_Dokumentov>
НажатиеДополнительнойКнопки <func/pm/Nazhatiye_Dopolnitel'noy_Knopki>
ЗаполнитьСписокДополнительныхКнопок <func/pm/Zapolnit'_Spisok_Dopolnitel'nykh_Knopok>


Прочие функции
Expand All @@ -53,8 +53,9 @@
:name: Прочие функции
:maxdepth: 0

ОбработатьСобытие <func/pm/Obrabotat'Sobytiye>
ВыполнитьРегламентныеДействия <func/pm/Vypolnit'_Reglamentnyye_Deystviya>
ПослеУстановкиСтатусаДокумента <func/pm/Posle_Ustanovki_Statusa_Dokumenta>
ОбработатьСобытие <func/pm/Obrabotat'Sobytiye>
ОпределитьТипЗначенияОбъекта <func/pm/Opredelit'_Tip_Znacheniya_Obyekta>
ПолучитьКоличествоДокументовЗаПериод <func/pm/Poluchit'_Kolichestvo_Dokumentov_Za_Period>
ПослеОбработкиЛентыСобытий <func/pm/Posle_Obrabotki_Lenty_Sobytiy>
ПослеУстановкиСтатусаДокумента <func/pm/Posle_Ustanovki_Statusa_Dokumenta>
21 changes: 21 additions & 0 deletions docs/source/func/pm/Posle_Obrabotki_Lenty_Sobytiy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

ПослеОбработкиЛентыСобытий
==========================

**Синтаксис:**

ПослеОбработкиЛентыСобытий(<Параметры>)

**Описание:**

В процедуре можно изменить любые свойства подготовленного пакета до его отправки. Например, переопределить отправителя, получателя, подразделение, заблокированность, тестовость и т.д.

**Параметры:**

Элементы структуры **Параметры**:

* **ПараметрыСервиса** - структура, содержащая параметры, необходимые для авторизации на сервере Диадока (токен, настройки прокси)
* **ИдентификаторыДокументов** - таблица документов, по которым были изменения (статуса, перемещение в подразделение и т.д.).
Состоит из идентификаторов документа (BoxId, LetterId, DocumentId) и ссылки на элемент справочника Диадок_Документы.

Пример использования: :doc:`Дополнительные возможности <../../proc/pm/Dopolnitel'nyye_Vozmozhnosti>`
70 changes: 70 additions & 0 deletions docs/source/proc/pm/Dopolnitel'nyye_Vozmozhnosti.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,76 @@

Существуют общие события, которые либо относятся к документам обоих направлений, либо к работе модуля в целом.

После обработки ленты событий
-----------------------------

Обновление данных существующих документов (например, изменение статуса), получение информации о новых документах происходит при чтении ленты событий.

Выполняется либо при нажатии на кнопку "Обмен с сервером", либо при выполнении регламентного задания при вызове соответствующего метода основного модуля.

Для получения таблицы идентификаторов документов, которые пришли в текущей партии событий (не более 100), используется :doc:`ПослеОбработкиЛентыСобытий <../../func/pm/Posle_Obrabotki_Lenty_Sobytiy>`.

Идентификаторы могут пригодиться для выполнения методов API.

Пример сохранения данных о пользователе или подразделении, которым были переданы документы на согласование.

::

Для Каждого СтруктураИдентификаторов Из ИдентификаторыДокументов Цикл

Если ЗначениеЗаполнено(СтруктураИдентификаторов.ДокументЭДО) Тогда
ДокументЭДО = СтруктураИдентификаторов.ДокументЭДО;
Иначе

BoxId = СтруктураИдентификаторов.BoxId;
LetterId = СтруктураИдентификаторов.LetterId;
DocumentId = СтруктураИдентификаторов.DocumentId;

ДокументЭДО = ОсновнойМодуль.ЭДО_Диадок_Документы_ПолучитьДокумент(BoxId, LetterId, DocumentId);

КонецЕсли;

Если Не ЗначениеЗаполнено(ДокументЭДО) Тогда
Продолжить;
КонецЕсли;

РеквизитыДокумента = ОсновнойМодуль.ЭДО_ПолучитьРеквизитыДокумента(ДокументЭДО);
МаршрутизацияДокумента = ОсновнойМодуль.ЭДО_ПолучитьМаршрутизациюДокумента(ПараметрыСервиса, РеквизитыДокумента);
Если МаршрутизацияДокумента.Количество() > 0 Тогда

ДанныеМаршрутизации = МаршрутизацияДокумента[МаршрутизацияДокумента.ВГраница()];
AttachmentType = ДанныеМаршрутизации.AttachmentType;
Если AttachmentType = "ResolutionRequest" Тогда

TargetResolution = Неопределено;
TargetResolutionString = Неопределено;

Если ЗначениеЗаполнено(ДанныеМаршрутизации.User) И ЗначениеЗаполнено(ДанныеМаршрутизации.UserId) Тогда
TargetResolution = ДанныеМаршрутизации.UserId;
TargetResolutionString = ДанныеМаршрутизации.User;
ИначеЕсли ЗначениеЗаполнено(ДанныеМаршрутизации.Department) И ЗначениеЗаполнено(ДанныеМаршрутизации.DepartmentId) Тогда
TargetResolution = ДанныеМаршрутизации.DepartmentId;
TargetResolutionString = ДанныеМаршрутизации.Department;
КонецЕсли;

Если ЗначениеЗаполнено(TargetResolution) Тогда
ОсновнойМодуль.ЭДО_СправочникМенеджер_УстановитьЗначениеДопРеквизита(ДокументЭДО, "TargetResolution", TargetResolution, TargetResolutionString);
КонецЕсли;

ИначеЕсли AttachmentType = "Resolution"
Или AttachmentType = "ResolutionRequestDenial"
Или AttachmentType = "ResolutionRouteRemovalAttachment" Тогда

ОсновнойМодуль.ЭДО_СправочникМенеджер_УдалитьДопРеквизит(ДокументЭДО, "TargetResolution");

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат Истина;

При изменении статуса документа
-------------------------------

Expand Down

0 comments on commit 913a2bd

Please sign in to comment.