diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как выгрузить изменения в сообщение обмена.md b/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как выгрузить изменения в сообщение обмена.md deleted file mode 100644 index d94f52a..0000000 --- a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как выгрузить изменения в сообщение обмена.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Как выгрузить изменения в сообщение обмена -slug: общие-обмен-данными-1-планы-обмена/как-выгрузить-изменения-в-сообщение-обмена ---- -```bsl -УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); - -Если НЕ УзелОбмена.Пустая() Тогда - - // 0. Создаем объект ЗаписьXML для формирования XML-файла - ПутьКФайлуСообщения = "S:\Exchange\Message_ИС_ПР.xml"; - ЗаписьXML = Новый ЗаписьXML(); - ЗаписьXML.ОткрытьФайл(ПутьКФайлуСообщения); - - // 1. Создаем объект "ЗаписьСообщенияОбмена" - ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); - - // 2. Начинаем запись сообщения обмена для выбранного узла в файл XML - ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена); - - // 3. Выбираем изменения - ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения); - - // 4. Записываем изменения в файл XML - Пока ВыборкаИзменений.Следующий() Цикл - Данные = ВыборкаИзменений.Получить(); - ЗаписатьXML(ЗаписьXML, Данные); - КонецЦикла; - - // 5. Заканчиваем запись сообщения обмена - ЗаписьСообщения.ЗакончитьЗапись(); - - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Сообщение обмена успешно сформировано!"; - Сообщение.Сообщить(); - -Иначе - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Не найден узел плана обмена"; - Сообщение.Сообщить(); -КонецЕсли; -``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как зарегистрировать изменнеия в план обмена.md b/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как зарегистрировать изменнеия в план обмена.md deleted file mode 100644 index fdcbccb..0000000 --- a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как зарегистрировать изменнеия в план обмена.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Как зарегистрировать изменнеия в план обмена -slug: общие-обмен-данными-1-планы-обмена/как-зарегистрировать-изменнеия-в-план-обмена ---- -```bsl -УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); -Если НЕ УзелОбмена.Пустая() Тогда - - Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000005"); - Если НЕ Контрагент.Пустая() Тогда - ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Контрагент); - Текст = "Изменения контрагента зарегистрированы"; - Иначе - Текст = "Контрагент не найден"; - КонецЕсли; - - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = Текст; - Сообщение.Сообщить(); - -Иначе - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Не найден узел плана обмена"; - Сообщение.Сообщить(); -КонецЕсли; -``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как прочиттать изменения.md b/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как прочиттать изменения.md deleted file mode 100644 index 732ed71..0000000 --- a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как прочиттать изменения.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Как прочиттать изменения -slug: общие-обмен-данными-1-планы-обмена/как-прочиттать-изменения ---- - -# С присваиванием номера сообщения - -```bsl -УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); -НомерСообщения = 1; -Если НЕ УзелОбмена.Пустая() Тогда - ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, НомерСообщения); - Пока ВыборкаИзменений.Следующий() Цикл - Объект = ВыборкаИзменений.Получить(); - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = Объект; - Сообщение.Сообщить(); - КонецЦикла; -Иначе - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Не найден узел плана обмена"; - Сообщение.Сообщить(); -КонецЕсли; -``` - -# Просто запросом -```bsl -УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); - -Запрос = Новый Запрос; -Запрос.УстановитьПараметр("Узел", УзелОбмена); -Запрос.Текст = -"ВЫБРАТЬ -| КонтрагентыИзменения.Узел КАК Узел, -| КонтрагентыИзменения.НомерСообщения КАК НомерСообщения, -| КонтрагентыИзменения.Ссылка КАК Ссылка -|ИЗ -| Справочник.Контрагенты.Изменения КАК КонтрагентыИзменения -|ГДЕ -| КонтрагентыИзменения.Узел = &Узел"; - -РезультатЗапроса = Запрос.Выполнить(); -Выборка = РезультатЗапроса.Выбрать(); -Пока Выборка.Следующий() Цикл - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = Выборка.Ссылка; - Сообщение.Сообщить(); -КонецЦикла; -``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как удалить изменения из таблицы регистрации изменений.md b/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как удалить изменения из таблицы регистрации изменений.md deleted file mode 100644 index 0f9f039..0000000 --- a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как удалить изменения из таблицы регистрации изменений.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Как удалить изменения из таблицы регистрации изменений -slug: общие-обмен-данными-1-планы-обмена/как-удалить-изменения-из-таблицы-регистрации-изменений ---- -```bsl -УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); - -Если НЕ УзелОбмена.Пустая() Тогда - ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена); - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Изменения для узла ""Приемник"" удалены"; - Сообщение.Сообщить(); -Иначе - Сообщение = Новый СообщениеПользователю; - Сообщение.Текст = "Не найден узел плана обмена"; - Сообщение.Сообщить(); -КонецЕсли; -``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Работа с планом обмена.md b/src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Работа с планом обмена.md new file mode 100644 index 0000000..51d7461 --- /dev/null +++ b/src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Работа с планом обмена.md @@ -0,0 +1,80 @@ +--- +title: Работа с планом обмена +slug: общие-обмен-данными-планы-обмена/работа-с-планом-обмена +--- + +## Как вручную зарегистрирвоать изменение объекта + +```bsl +УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); +Если ЗначениеЗаполнено(УзелОбмена) Тогда + ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Объект); +КонецЕсли; +``` + +## Как создать сообщение обмена +```bsl + +// 0. Создаем объект ЗаписьXML для формирования XML-файла +ПутьКФайлуСообщения = "S:\Exchange\Message_ИС_ПР.xml"; +ЗаписьXML = Новый ЗаписьXML(); +ЗаписьXML.ОткрытьФайл(ПутьКФайлуСообщения); // Или Запись.УстановитьСтроку() + +// 1. Создаем объект "ЗаписьСообщенияОбмена" +ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); + +// 2. Начинаем запись сообщения обмена для выбранного узла в файл XML +ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена); + +// 3. Выбираем изменения +ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения); + +// 4. Записываем изменения в файл XML +Пока ВыборкаИзменений.Следующий() Цикл + Данные = ВыборкаИзменений.Получить(); + ЗаписатьXML(ЗаписьXML, Данные); +КонецЦикла; + +// 5. Заканчиваем запись сообщения обмена +ЗаписьСообщения.ЗакончитьЗапись(); + +``` + +## Как прочитать изменения, зарегистрированные в плане обмена +### С присваиванием номера сообщения + +```bsl +// См. описание в синтакс-помощнике +Выборка = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); +``` + +### Просто запросом +```bsl +УзелОбмена = ПланыОбмена.ОбменИсточникПриемник.НайтиПоКоду("ПР"); + +Запрос = Новый Запрос; +Запрос.УстановитьПараметр("Узел", УзелОбмена); +Запрос.Текст = +"ВЫБРАТЬ +| КонтрагентыИзменения.Узел КАК Узел, +| КонтрагентыИзменения.НомерСообщения КАК НомерСообщения, +| КонтрагентыИзменения.Ссылка КАК Ссылка +|ИЗ +| Справочник.Контрагенты.Изменения КАК КонтрагентыИзменения +|ГДЕ +| КонтрагентыИзменения.Узел = &Узел"; + +РезультатЗапроса = Запрос.Выполнить(); +Выборка = РезультатЗапроса.Выбрать(); +Пока Выборка.Следующий() Цикл + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = Выборка.Ссылка; + Сообщение.Сообщить(); +КонецЦикла; +``` + +## Как удалить регистрацию объекта из плана обмена +```bsl +// См. описание в синтакс-помощнике +ПланыОбмена.УдалитьРегистрациюИзменений(<Узлы>, <Данные>); +``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как создать план обмена.md b/src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Создание плана обмена.md similarity index 92% rename from src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как создать план обмена.md rename to src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Создание плана обмена.md index dfc849d..1a10528 100644 --- a/src/content/docs/knowledge-base/Общие/Обмен данными/1. Планы обмена/Как создать план обмена.md +++ b/src/content/docs/knowledge-base/Общие/Обмен данными/Планы обмена/Создание плана обмена.md @@ -1,6 +1,6 @@ --- -title: Как создать план обмена -slug: общие-обмен-данными-1-планы-обмена/как-создать-план-обмена +title: Настройка плана обмена +slug: общие-обмен-данными-планы-обмена/настройка-плана-обмена --- ## Создание объекта метаданных @@ -63,4 +63,6 @@ slug: общие-обмен-данными-1-планы-обмена/как-со После включения объекта метаданных в состав хотя бы в одного план обмена, для объекта метаданных создается таблица `изменений`, содержащая поля `Ссылка`, `Узел` и `НомерСообщения`. Для отображения таблиц изменений в кострукторе запроса нужно нажать на кнопку `Отображать таблицы изменений` -![Изображение](/obmen-dannymi/plan-obmena/3.png) \ No newline at end of file +![Изображение](/obmen-dannymi/plan-obmena/3.png) + +[Консоль запросов](/poleznoe/УправляемаяКонсольОтчетов_3.8.9.epf) \ No newline at end of file