Авторегистрация в плане обмена 1с что это

Планы обмена 1С 8.3

Планы обмена в 1С 8.3 — объект метаданных конфигурации, служащий для реализации синхронизации данных в системе 1С 8.

План обмена можно сравнить со справочником, где элементы — это узлы информационных баз. Однако в работе с планами обмена имеется множество нюансов, о них мы поговорим ниже.

Обычно обмен в 1С построен с использованием специальных правил обмена, которые формируются с помощью конфигурации Конвертация данных.

Авторегистрация в плане обмена 1с что это. plan obmena 1s1. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 1s1. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 1s1

Настройки и свойства планов обмена в 1С

Как ранее было замечено, план обмена очень похож на обычный справочник в 1С, и поэтому мы рассмотрим только главные отличия обмена.

Как работать с планом обмена

План обмена умеет хранить информацию и изменения элементов из состава плана обмена, а так же хранит информацию о номере текущего сообщения. В общем случае схема работы такова:

Авторегистрация в плане обмена 1с что это. plan obmena 1s. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 1s. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 1s

Распределенная информационная база

Если этот флаг установлен в настройках, то данный план обмена является распределенной информационной базой (РИБ).

Распределенная информационная база — территориально распределенная система на основе одинаковой конфигурации 1С 8.3. РИБ помимо изменений данных умеет передавать и изменений конфигурации, что очень удобно, например, при обновлении релиза конфигурации.

Состав плана обмена

Настройка, с помощью которой разработчик управляет набором объектов для обмена:

Авторегистрация в плане обмена 1с что это. sostav plana obmena 1s. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-sostav plana obmena 1s. картинка Авторегистрация в плане обмена 1с что это. картинка sostav plana obmena 1s

В составе плана обмена может быть 3 состояния объекта:

Планы обмена и производительность 1С

Из-за системных особенностей реализации планов обмена не рекомендуется злоупотреблять выгрузкой изменений по планам обмена. Дело в том, что при чтении изменений блокируются все таблицы изменений. Т.е. при выгрузке план обмена не дает записать новые изменений, а следовательно, блокирует и сами элементы — справочники, документы и т.д.

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

Другие статьи по 1С:

Видеолекции по технологии обмена в 1С 8.2:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

План обмена в 1С 8.3

Авторегистрация в плане обмена 1с что это. reklama http. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-reklama http. картинка Авторегистрация в плане обмена 1с что это. картинка reklama http

План обмена

Планы обмена используются для организации обменов данными между различными системами. Это может быть как обмен между двумя базами на платформе 1С, так и обмен между базой на 1С и какой-нибудь внешней системой, например с сайтом.

В целом план обмена похож на справочник, он обладает почти теми же самыми свойствами и методами. Поэтому в данной статье будет рассмотрена только та функциональность, которая касается обмена данными.

В дереве метаданных план обмена находится в ветке Общие — Планы обмена. В одной конфигурации может быть несколько планов обмена, например один для обмена с другой базой 1С, второй для обмена с сайтом, третий для обмена с мобильным приложением.

В пользовательском режиме создаются элементы плана обмена, которые называются узлами обмена:

Авторегистрация в плане обмена 1с что это. plan obmena. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena

Каждый узел плана обмена описывает одного участника обмена. Один узел является предопределенным и описывает текущую базу, в списке он выделяется специальной пиктограммой с точкой в правом нижнем углу (узел Основная база). Данный узел всегда присутствует в плане обмена.

Обмен между узлами выполняется с помощью сообщений обмена. В каждом сообщении указывается узел-отправитель и узел-получатель. Кроме этого у каждого сообщения есть свой номер. Как правило сообщение — это XML файл, хотя может быть и другой формат.

Для плана обмена нельзя установить нулевую длину кода или наименования, так как узлы идентифицируются по коду (в файл обмена записывается код узла).

Состав плана обмена

При создании нового плана обмена нужно определить состав данных, которыми будут обмениваться системы. Например, в текущей конфигурации может быть 20 справочников, 10 документов, 5 регистров сведений, но в другую базу нужно выгружать только 5 справочников и 2 документа.

Для настройки состава плана обмена на закладке Основные нужно нажать на кнопку Состав:

Авторегистрация в плане обмена 1с что это. plan obmena 1. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 1. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 1

Будет открыто окно, в котором можно флажками отметить те объекты, которыми можно будет обмениваться с помощью данного плана обмена:

Авторегистрация в плане обмена 1с что это. plan obmena 2. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 2. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 2

В состав плана обмена можно включить следующие объекты:

Также у данных видов объектов метаданных есть закладка Обмен данными, где можно отметить те планы обмена, в состав которых будет входить данный объект метаданных:

Авторегистрация в плане обмена 1с что это. plan obmena 13. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 13. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 13

При сохранении конфигурации базы данных для каждого из отмеченных объектов будет создана таблица с тремя колонками:

УзелСсылкаНомер сообщения

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

В колонке Ссылка будет храниться ключ элемента, который должен быть выгружен для узла из колонки Узел. Для объектных данных — это ссылка. Для константы — идентификатор константы, при этом в конструкторе запросов данной колонки не будет, но физически она есть. Для наборов записей подчиненных регистратору — это регистратор. Для независимых регистров сведений будет столько колонок сколько есть измерений у регистра сведений, в каждой колонке будет храниться значение измерения. Если регистр сведений периодический, то будет еще одна колонка для периода.

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

Состав данных таблиц можно посмотреть с помощью конструктора запросов. Для этого нужно нажать на кнопку Отображать таблицы изменений:

Авторегистрация в плане обмена 1с что это. plan obmena 3. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 3. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 3

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

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

Служба регистрации изменений

Служба регистрации изменений позволяет получить список измененных объектов для определенного узла плана обмена. В дальнейшем данный список объектов можно выгрузить в файл.

Основное предназначение данной службы — это возможность выгружать только измененные объекты. Например, если в базе 10 000 элементов одного справочника, то достаточно один раз выгрузить его полностью, а в дальнейшем выгружать только измененные объекты.

Алгоритм работы данной службы:

Для того чтобы изменения объектов автоматически регистрировались в таблицах изменений нужно при настройке состава плана обмена разрешить автоматическую регистрацию (по умолчанию она разрешена):

Авторегистрация в плане обмена 1с что это. plan obmena 5. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 5. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 5

Рассмотрим данный алгоритм на примере.

В базе-источнике есть 3 узла плана обмена, один из которых является текущей базой (Основная база):

Авторегистрация в плане обмена 1с что это. plan obmena 4. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 4. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 4

В состав плана обмена включен только один справочник Номенклатура и для него разрешена автоматическая регистрация:

Авторегистрация в плане обмена 1с что это. plan obmena 7. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 7. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 7

На данный момент таблица регистрации изменений пустая:

УзелСсылкаНомер сообщения

Создадим новую номенклатуру Стул. В результате в таблицу будет добавлено 2 новые строки, по одной для каждого узла плана обмена (кроме узла текущей базы):

УзелСсылкаНомер сообщения
База БухгалтерияСтулNULL
СайтСтулNULL

Так как выгрузка еще не выполнялась, то в колонке Номер сообщения NULL.

Создадим еще одну номенклатуру Шкаф:

УзелСсылкаНомер сообщения
База БухгалтерияСтулNULL
СайтСтулNULL
База БухгалтерияШкафNULL
СайтШкафNULL

В таблицу было добавлено 2 строки для шкафа.

После этого была выполнена выгрузка всех изменений для узла База Бухгалтерия. Был увеличен счетчик сообщения для данного узла, а также в таблице изменений была изменена колонка Номер сообщения:

УзелСсылкаНомер сообщения
База БухгалтерияСтул1
СайтСтулNULL
База БухгалтерияШкаф1
СайтШкафNULL

Создадим еще одну номенклатуру Стол:

УзелСсылкаНомер сообщения
База БухгалтерияСтул1
СайтСтулNULL
База БухгалтерияШкаф1
СайтШкафNULL
База БухгалтерияСтолNULL
СайтСтолNULL

Было добавлено еще 2 строки с NULL в колонке Номер сообщения.

После этого была выполнена выгрузка сразу в оба узла:

УзелСсылкаНомер сообщения
База БухгалтерияСтул1
СайтСтул1
База БухгалтерияШкаф1
СайтШкаф1
База БухгалтерияСтол2
СайтСтол1

Для узла Сайт в колонке Номер сообщения везде была проставлена единица. Для узла База Бухгалтерия это было уже второе сообщение, поэтому для номенклатуры Стол был записана двойка, а для стула и шкафа осталась без изменений. Напомню, в этой колонке хранится номер сообщения, в котором объект был выгружен в первый раз, а стул и шкаф уже выгружались в первом сообщении.

Затем у стула был изменен артикул и он был перезаписан:

УзелСсылкаНомер сообщения
База БухгалтерияСтулNULL
СайтСтулNULL
База БухгалтерияШкаф1
СайтШкаф1
База БухгалтерияСтол2
СайтСтол1

В результате для него в колонку Номер сообщения был записан NULL.

Только сейчас в узел База Бухгалтерия было загружено первое сообщение (напомню было две выгрузки). В результате был сформирован файл ответа (с квитанцией), в который был записан номер загруженного сообщения (номер 1).

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

УзелСсылкаНомер сообщения
База БухгалтерияСтулNULL
СайтСтулNULL
СайтШкаф1
База БухгалтерияСтол2
СайтСтол1

В результате была удалена строка со шкафом. Строка со стулом не была удалена, потому что там NULL, а у строки со столом Номер сообщения = 2. Строки с сайтом вообще не рассматривались, потому что там не совпадает узел.

Из данного примера можно сделать следующие выводы:

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

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

Основной отбор регистра сведений

У регистра сведений в свойствах измерения есть флаг Основной отбор:

Авторегистрация в плане обмена 1с что это. plan obmena 8. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 8. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 8

А если регистр сведений периодический, то на закладке Основные есть флаг Основной отбор по периоду:

Авторегистрация в плане обмена 1с что это. plan obmena 9. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 9. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 9

По умолчанию данные флаги установлены.

С помощью них определяется минимальная гранула для регистрации на узлах плана обмена.

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

Если снять данный флаг у одного из измерений, то оно перестанет входить в гранулу для регистрации, в результате при изменении одной записи может зарегистрироваться сразу несколько записей.

Лучше всего объяснить на примере. Пусть есть регистр сведений со следующей структурой:

Авторегистрация в плане обмена 1с что это. plan obmena 10. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 10. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 10

И в нем содержатся следующие данные:

Авторегистрация в плане обмена 1с что это. plan obmena 11. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 11. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 11

Если все измерения входят в основной отбор, то при изменении оптовой цены для шкафа в таблицу регистрации попадет только одна запись, она же будет выгружена в файл обмена:

ПериодНоменклатураВид ценУзелНомер сообщения
05.10.21ШкафОптоваяСсылка на узелNULL

Если снять флаг Основной отбор у измерения Вид цены, то из таблицы регистрации будет удалена соответствующая колонка. В результате при изменении оптовой цены для шкафа в таблицу регистрации будет записана только номенклатура и период:

ПериодНоменклатураУзелНомер сообщения
05.10.21ШкафСсылка на узелNULL

Тогда при выгрузке в файл, из регистра будут отобраны все записи, где Номенклатура = Шкаф и Период = 05.10.21, то есть сразу 2 записи: с оптовой и розничной ценой.

То же самое касается периода. Если снять флаг Основной отбор по периоду, то колонка Период будет удалена из таблицы регистрации изменений. Тогда при выгрузке в файл будут выбрана вся история изменений цены для одной номенклатуры.

Удаление объекта

При непосредственном удалении объекта из базы данных в таблицу регистрации изменений записывается объект Удаление объекта.

При выгрузке он тоже выгружается в файл обмена, затем в базе приемнике по идентификатору (для объектных данных) будет найден соответствующий объект и удален.

ЭтотУзел

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

Авторегистрация в плане обмена 1с что это. plan obmena 22. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-plan obmena 22. картинка Авторегистрация в плане обмена 1с что это. картинка plan obmena 22

Чтобы получить текущий узел можно воспользоваться методом ЭтотУзел. Данный метод вернет ссылку на узел плана обмена:

Источник

План обмена

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

В одном прикладном решении может существовать несколько планов обмена, каждый из которых может описывать свой порядок обмена данными. Например, если выполняется обмен данными с удаленными складами и удаленными офисами, то, скорее всего, будет существовать два плана обмена (один для обмена со складами, другой — для офисов), поскольку состав данных, которыми производится обмен со складами, будет значительно «уже», чем состав данных, предназначенных для обмена с офисами.

Назначение

В плане обмена хранится список узлов, — участников обмена в распределенной информационной системе. В качестве узлов могут выступать информационные базы 1С:Предприятия 8, информационные базы 1С:Предприятия 7.7 или другие информационные системы, не основанные на 1С:Предприятии.

Для каждого узла можно задать код, наименование и необходимый перечень реквизитов, описывающих узел. Узел может иметь также несколько подчиненных табличных частей для хранения информации, связанной с этим узлом, несколько форм, для отображения информации, содержащейся в плане обмена, и т. д. Например, структура плана обмена МобильноеПриложениеТорговыйПредставитель может выглядеть следующим образом:

Авторегистрация в плане обмена 1с что это. 000000151 1. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-000000151 1. картинка Авторегистрация в плане обмена 1с что это. картинка 000000151 1

При создании плана обмена существует возможность указать, будет ли он задействовать механизмы распределенной информационной базы или нет.

Также в плане обмена указывается состав данных, которыми предполагается вести обмен:

Авторегистрация в плане обмена 1с что это. 000000151 2. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-000000151 2. картинка Авторегистрация в плане обмена 1с что это. картинка 000000151 2

Для каждого из объектов прикладного решения, которые могут участвовать в обмене, задается режим регистрации их изменений. Если разрешена авторегистрация, то система сама отслеживает выполняемые изменения, и формирует набор данных, которыми нужно обменяться. Если же разработчик запрещает авторегистрацию изменений, — он должен, средствами встроенного языка, самостоятельно выполнять регистрацию нужных ему изменений.

Механизмы, реализуемые планом обмена

Источник

План обмена. Авторегистрация изменений. Разрешить или запретить. Преимущества

Количество записей в планах обмена все растет и растет. Решил как-то разобраться. А может попробовать ручную регистрацию изменений. Может скорость обменов увеличится в десятки раз? Как ускорить обмены?
Итак. Долой всю справочную литературу со всеми помощниками…

Итак сравнение (на примере справочника или документа):
Авторегистрация. Кратко об этапах:
1) Регистрация ВСЕХ изменений (автоматическая естественно)
2) При обмене выборка этих самых зарегистрированных изменений (очень долго – 45% времени)
3) Функция проверки а нужно ли перегружать данные, если не нужно то выгружаем УдалениеОбъекта (долго)

Ручная регистрация.
1) Регистрация ВСЕХ изменений (ручками) при этом проверяются на нужные или не нужные все объекты (долго). Ненужные ведь тоже надо регистрировать как УдалениеОбъекта, иначе могут остаться скорректированные данные (часто бывает такое), т.е. в основной базе данные будут изменены, а в получателе навсегда останутся старые, которых вообще не должно быть.
2) При обмене выборка этих самых зарегистрированных изменений (очень долго)

Как ни крути везде одинаково долго. Что делать? Как ускорить обмены?

(1) не раз в год
(2) не нужные тоже ведь должны попадать как УдалениеОбъекта
часто бывает такое, что заказ приняли на одного клиента из Питера, и заказ по обменам улетел в Питер. Затем оказалось, что этот заказ не Питера а Москвы, тогда после его изменения, он улетает в Москву. Но, чтобы в Питере он УДАЛИЛСЯ НУЖНО ИМ ТОЖЕ СДЕЛАТЬ РЕГИСТРАЦИЮ УдалениеОбъекта.

(8) записи типа удаление объектов как раз и выполняются долго. Особенно заметно, когда нужных 1% данных а остальное УдалениеОбъекта.

Может в идеале никакие данные не должны меняться ни задним числом ни вчерашним днем и даже часом, но у нас такое не реально.

(26)
> При ручной регистрации изменений в таблицы регистрации изменений должны попадать только нужные записи для каждого узла. При обмене уже никаких проверок быть не должно. Так что, что-то ты там перемудрил.

Наверное, ты не внимательно читаешь
1) Я не говорил, что при обмене есть проверки в случае ручной регистрации.
2) нужные попадают. И не нужные тоже как УдалениеОбъекта читай (5)

Источник

Создание и регистрация плана обмена

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

Итак, какие причины могут заставить задуматься о создании собственного плана обмена? План обмена помогает регистрировать изменения объектов. После чего получить список этих объектов, и выгрузить их в необходимый формат или обработать нужным образом. После обработки объектов 1С их можно пометить, как отправленные. Это не снятие с регистрации, а лишь пометка о том, что объекты уже были обработаны. Такой механизм удобен, когда необходимо контролировать прием получателем выгруженной информации. Когда информационная система-приемник получит пакет обмена и успешно его обработает, она может отправить подтверждение о приеме. После чего в нашем плане обмена можно снять с регистрации отправленные объекты.

Также в плане обмена есть несколько стандартных реквизитов. Например, «Номер принятого» и «Номер отправленного». Эти реквизиты удобно использовать для того, чтобы принимать только актуальную информацию, которая не была ранее принята. А теперь обо всем этом подробней и с примерами. Хоть планы обмена кому-то и кажутся чем-то страшным и необъяснимым, после прочтения статьи, думаю, все станет просто и понятно.

1. Создание и регистрация, узлы плана обмена.

Приведем пример, когда нам нужно выгружать измененные номенклатуры (для ТСД, мобильного устройства, промежуточной базы или пр.).

Назовем его «ОбменНоменклатурой_Тест». Включаем в состав нужные объекты. В этом примере справочник «Номенклатура».

Авторегистрация в плане обмена 1с что это. 1. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-1. картинка Авторегистрация в плане обмена 1с что это. картинка 1

Авторегистрацию устанавливаем в значение «Разрешить». Смысл авторегистрации в том, что если объект был изменен, он будет автоматически зарегистрирован к обмену, и никаких дополнительных манипуляций для регистрации делать больше не нужно.
Если же выбрать значение для авторегистрации «Запретить», тогда придется вручную регистрировать объекты к обмену. Это нужно, когда есть необходимость в дополнительных отборах; когда, например, у каждого узла плана обмена (приемника) будет свой набор номенклатуры, и разделятся он будет в настройках плана обмена, где каждому узлу будет закреплен свой список номенклатуры.
Чтобы зарегистрировать вручную объект к обмену, можно создать подписку на событие «При записи» справочника. И в обработчике после наложенных отборов указать следующее:

Процедура РегистрацияИзмененийДляВыгрузки(Источник,Отказ) Экспорт

//Здесь налаживаем отборы

//и сам код регистрации
Узел = ПланыОбмена.ОбменНоменклатурой_Тест.НайтиПоКоду(«Тест»);
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Источник);

Сохраним изменения и откроем конфигурацию в режиме предприятия.
Так как конфигурация в данном случае пустая, дополнительно будут использоваться две обработки «РегистрацияИзмененийДляОбмена82 (управляемое приложение).epf» (its.1c.ru/db/metod8dev/content/5013/hdoc) и консоль запросов (its.1c.ru/db/metod8dev/content/4500/hdoc). Обе обработки доступны для свободного скачивания.

В режиме предприятия создадим новый узел плана обмена. Это, по сути, элемент плана обмена, который будет использоваться только для одного приемника. Хотя, если не требуется подтверждение о приеме данных, то с одного узла можно рассылать данные всем, но здесь мы такой вариант не рассматриваем, так как он намного проще и будет понятен по ходу статьи.

Переходим через все «Все функции» в наш план обмена, добавляем новый узел плана обмена. Имя назначим «Тест», а код 1. Код в дальнейшем будет очень важен, если требуется идентификация. То есть в сообщение обмена можно вкладывать код отправителя и код получателя. Тогда получатель всегда будет знать, что пакет обмена предназначен именно ему, и от кого он пришел.
Для предопределенного узла можно задать код «ЦБ», так как это наша база.

Авторегистрация в плане обмена 1с что это. 2. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-2. картинка Авторегистрация в плане обмена 1с что это. картинка 2

Откроем обработку «Регистрация изменений для обмена», выберем наш узел «Тест». И видим, что пока не зарегистрировано ни одного объекта.

Авторегистрация в плане обмена 1с что это. 3. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-3. картинка Авторегистрация в плане обмена 1с что это. картинка 3

Создадим новый элемент в справочнике «Номенклатура» в 1С. Переходим снова в обработку, нажимаем кнопку «Обновить» и видим, что у нас этот объект зарегистрировался автоматически.

Авторегистрация в плане обмена 1с что это. 4. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-4. картинка Авторегистрация в плане обмена 1с что это. картинка 4

2. 1С Выгрузка планов обмена.

Здесь мы рассматриваем именно планы обмена, поэтому метод передачи данных нам неважен. Будь то прямое подключение к базе-приемнику, формирование файла или текста, который будет передан в двоичном виде через 1С http сервисы, выборка изменений при этом будет идти одинаково.

Например, создадим кнопку в списке плана обмена и назначим на нее обработчик на сервере.

Есть возможность выбирать изменения объектной моделью, вот так:

Пока ВыборкаИзменений.Следующий() Цикл
КонецЦикла;

«НомерСообщения» – это стандартный реквизит плана обмена «НомерОтправленного». Его необходимо прочитать из узла и самостоятельно увеличить после отправки данных.

Также есть возможность выбора изменений запросом:
В процедуре на сервере давайте откроем конструктор запроса с обработкой результата и посмотрим, как выбрать изменения. В конструкторе есть кнопка «Отображать таблицы изменений». После нажатия на эту кнопку мы увидим таблицы, в которых хранятся наши изменения.

Авторегистрация в плане обмена 1с что это. 5. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-5. картинка Авторегистрация в плане обмена 1с что это. картинка 5

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

Авторегистрация в плане обмена 1с что это. 6. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-6. картинка Авторегистрация в плане обмена 1с что это. картинка 6

После того как мы воспользуемся кнопкой в обработке регистрации изменений для обмена данными, мы увидим, что данные помечены, как выгруженные. И в колонке «Номер отправленного» мы видим номер пакета, в котором была произведена 1С выгрузка объекта.

Авторегистрация в плане обмена 1с что это. 7. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-7. картинка Авторегистрация в плане обмена 1с что это. картинка 7

3. Порядок снятия с регистрации.

После того как объект будет получен приемником, он может отправить нам подтверждение получения. Опять-таки, это может быть сделано любым удобным способом, например, через файл. Мы его читаем, и теперь пришло время узнать порядок снятия с регистрации. Если от приемника мы получим объекты (гуиды, например), которые успешно были приняты, мы можем снять с регистрации только их. А если мы условились, что принимаем весь пакет, то можем снять с регистрации пакет по номеру. В коде это выглядит так:

Авторегистрация в плане обмена 1с что это. 8. Авторегистрация в плане обмена 1с что это фото. Авторегистрация в плане обмена 1с что это-8. картинка Авторегистрация в плане обмена 1с что это. картинка 8

После этого, регистрация изменений будет снята.
Если приемник не получил данные, то при следующей выборке все данные, для которых не снята регистрация будут выгружены повторно.

В общем, повторюсь, план обмена помогает организовать обмен данными со сторонними системами. И в этой статье мы разобрали, как на самом деле просто с ним работать.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *