База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как найти формирование данных для синхронизации в ЗУП?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
8 октября 2026 в 5:21 #38820
ЗУП при синхронизации не используется МенеджерОбменаЧерезУниверсальныйФормат, тогда где искать формирование выгружаемых данных?
-
8 октября 2026 в 5:21 #38821
В ЗУП 3.1 формирование файла синхронизации обычно не находится в одном общем модуле с названием
МенеджерОбменаЧерезУниверсальныйФормат. Этот менеджер может отсутствовать в конкретном релизе или использоваться только в другой конфигурации.В современных релизах ЗУП обмен построен вокруг подсистемы «Синхронизация данных». Формирование выгружаемых данных разделено на несколько этапов:
1. регистрация изменений;
2. отбор объектов по узлу плана обмена;
3. применение правил конвертации;
4. формирование сообщения универсального формата;
5. запись XML-файла в каталог обмена.## Где искать в конфигураторе
### 1. План обмена
В конфигураторе откройте:
1С (Код)1Общие планы обменаИщите план обмена, связанный с синхронизацией данных. Его имя зависит от релиза ЗУП. Обычно в названии присутствуют слова:
1С (Код)123ОбменДаннымиСинхронизацияДанныхОбменСБухгалтериейУ плана обмена нужно посмотреть:
— состав объектов;
— регистр сведений регистрации изменений;
— процедуры менеджера плана обмена;
— подписки на события, которые регистрируют изменения;
— обработчики выгрузки данных.Основной признак: если объект попал в сообщение, сначала он должен быть зарегистрирован для узла обмена.
Проверять нужно в первую очередь:
1С (Код)1ПланОбмена.<ИмяПлана>.МенеджерИ процедуры, связанные с:
1С (Код)1234ЗарегистрироватьИзмененияПолучитьИзмененияПолучитьИзмененияДляВыгрузкиУдалитьРегистрациюИзмененийТочные имена процедур могут отличаться в зависимости от релиза.
## 2. Регистры сведений регистрации изменений
Откройте в конфигураторе:
1С (Код)1Регистры сведенийИщите регистры с названиями, содержащими:
1С (Код)1234РегистрацияИзмененийИзмененияДляОбменаИзмененияОбъектовСостояниеОбменаВ ЗУП регистрация обычно связана с узлом плана обмена. В регистре можно увидеть:
— ссылку на объект;
— узел обмена;
— момент регистрации;
— вид изменения;
— иногда тип объекта или составной идентификатор.Если документ или элемент справочника не зарегистрирован, обработка выгрузки его, как правило, не включит в сообщение.
Проверить содержимое можно программно, например через консоль запросов. Конкретное имя регистра нужно подставить из вашей конфигурации:
1С (Код)12345678910111213Запрос = Новый Запрос;Запрос.Текст =|ВЫБРАТЬ| РегистрацияИзменений.Объект,| РегистрацияИзменений.УзелПланаОбмена,| РегистрацияИзменений.Момент|ИЗ| РегистрСведений.РегистрацияИзменений КАК РегистрацияИзменений|ГДЕ| РегистрацияИзменений.УзелПланаОбмена = &УзелПланаОбмена|;Запрос.УстановитьПараметр("УзелПланаОбмена", УзелПланаОбмена);## 3. Общие модули подсистемы синхронизации
В конфигураторе выполните глобальный поиск по исходным текстам общих модулей.
Искать нужно не только
МенеджерОбменаЧерезУниверсальныйФормат, но и следующие фрагменты:1С (Код)1234567891011121314УниверсальныйФорматСинхронизацияДанныхВыгрузитьДанныеСформироватьСообщениеЗаписатьСообщениеПакетДанныхФайлОбменаКаталогОбменаРегистрацияИзмененийПравилаКонвертацииКонвертацияОбъектовXDTOЗаписатьXMLЗаписьXMLОсобенно проверяйте общие модули, в названии которых есть:
1С (Код)12345678СинхронизацияДанныхСинхронизацияДанныхСлужебныйСинхронизацияДанныхКлиентСинхронизацияДанныхСерверОбменДаннымиОбменДаннымиСлужебныйКонвертацияДанныхУниверсальныйФорматНазвания могут отличаться. В типовых конфигурациях состав и имена общих модулей менялись между релизами.
Часто клиентская часть только запускает процесс, а фактическая генерация файла происходит на сервере. Поэтому искать нужно процедуры с флагом:
1С (Код)1&НаСерверелибо в общих модулях с признаком:
1С (Код)123СерверВызов сервераЭкспорт## 4. Регламентные задания
Если выгрузка выполняется автоматически, проверьте:
1С (Код)1Регламентные заданияИщите задания с названиями вроде:
1С (Код)12345Выполнение обмена даннымиСинхронизация данныхОбмен с другими программамиВыгрузка данныхОтправка данныхУ регламентного задания смотрите:
— имя метода;
— общий модуль;
— расписание;
— параметры;
— соответствующий элемент настройки синхронизации.Вызов обычно идет примерно по такой цепочке:
1С (Код)123456Регламентное задание-> обработчик синхронизации-> получение зарегистрированных изменений-> конвертация объектов-> формирование сообщения-> запись Message_*.xmlФактическое имя метода будет зависеть от релиза.
## 5. Обработчики команд формы настройки синхронизации
Если файл формируется вручную по кнопке «Выполнить обмен», «Выгрузить данные» или «Синхронизировать», нужно открыть форму настройки синхронизации.
В конфигураторе ищите общие формы и формы обработки по словам:
1С (Код)12345СинхронизацияОбменДаннымиНастройкаСинхронизацииНастройкиСинхронизацииПомощникСинхронизацииВ модуле формы найдите обработчик команды. Он обычно не формирует XML непосредственно, а вызывает серверную процедуру общего модуля.
Практический способ:
1. Запустите отладку.
2. Откройте настройку синхронизации.
3. Поставьте точку останова в обработчике кнопки запуска обмена.
4. Нажмите кнопку выполнения обмена.
5. Проследите стек вызовов.
6. Найдите первый серверный вызов, в котором появляются:
— узел плана обмена;
— настройки подключения;
— пакет данных;
— правила конвертации;
— имя файла.Это обычно быстрее, чем просматривать все общие модули вручную.
## 6. Правила конвертации
Важный момент: перечень выгружаемых объектов и состав их данных часто задаются не жестко в BSL-коде.
Правила могут храниться:
— в XML-файле настроек синхронизации;
— в регистре сведений;
— в макете конфигурации;
— в объекте типаХранилищеЗначения;
— в данных, загруженных при создании настройки синхронизации;
— в поставляемых правилах конвертации.Ищите в конфигурации:
1С (Код)1234567ПравилаОбменаПравилаКонвертацииНастройкиОбменаНастройкиСинхронизацииСоответствияОбъектовКонвертацияОбъектовКлючиОтправкиПри синхронизации ЗУП и Бухгалтерии правила могут не быть отдельным видимым объектом метаданных. Они могут загружаться из универсального формата и храниться в настройке конкретной синхронизации.
Поэтому изменение правил обмена не всегда требует изменения общего модуля. Сначала нужно проверить данные самой настройки синхронизации.
## 7. Где посмотреть состав уже сформированного файла
В каталоге обмена обычно появляются файлы типа:
1С (Код)123Message_ЗК_БП.xmlMessage_БП_ЗК.xmlНастройки обмена ЗУП 3 - БП 3.xmlВ разных релизах имена могут быть другими.
Файл
Message_*.xmlпоказывает уже сформированный результат, но не всегда позволяет понять, почему объект попал в выгрузку. Для этого сопоставьте его с:1. регистрацией изменений;
2. узлом плана обмена;
3. настройкой синхронизации;
4. правилами конвертации;
5. журналом регистрации.Если нужно понять, какая процедура непосредственно записывает файл, проще всего поставить точку останова на операции записи XML или на процедуру, где используется имя файла обмена.
В глобальном поиске ищите:
1С (Код)1234567ЗаписатьЗаписатьXMLЗаписьXMLФайлОбменаИмяФайлаКаталогОбменаMessage_Если строки
Message_в конфигурации нет, имя может формироваться динамически через настройку канала обмена.## Что проверять в первую очередь
Для типовой ЗУП 3.1 я бы шел в таком порядке:
### Шаг 1. Определить используемый план обмена
В пользовательском режиме откройте:
1С (Код)123Администрирование-> Синхронизация данных-> Настройки синхронизации данныхОткройте нужную настройку и определите:
— вид приложения-приемника;
— узел обмена;
— способ подключения;
— каталог обмена;
— дату начала обмена.Затем в конфигураторе найдите соответствующий план обмена.
### Шаг 2. Проверить регистрацию изменений
После изменения тестового документа проверьте, появилась ли запись в регистре регистрации изменений.
Например:
— изменить документ
Начисление зарплаты и взносов;
— записать его;
— выполнить запрос к регистру регистрации;
— найти ссылку на этот документ;
— проверить, что она зарегистрирована именно для нужного узла.### Шаг 3. Поставить точку останова на серверный запуск обмена
Не на кнопку формы, а на серверную процедуру, вызываемую после нее.
В стеке вызовов нужно найти процедуры, где последовательно выполняется:
1С (Код)123456Получение измененийОтбор зарегистрированных объектовФормирование пакетаКонвертацияФормирование сообщенияЗапись файла### Шаг 4. Проверить правила конвертации
Если объект зарегистрирован, но в XML его нет, проблема обычно находится уже после регистрации:
— объект исключен правилами обмена;
— не выполняется условие отбора;
— объект является подчиненным и выгружается только вместе с владельцем;
— объект уже был выгружен ранее;
— установлен отбор по организации или периоду;
— для объекта нет правила конвертации;
— документ не проведен или не соответствует условиям обмена.## Важное различие
Не следует искать только процедуру, которая «формирует выгружаемые данные». В синхронизации это обычно несколько разных механизмов:
1С (Код)1234567Проведение/изменение объекта-> регистрация изменения-> отбор объекта для конкретного узла-> поиск правила конвертации-> конвертация объекта-> запись объекта в сообщение-> запись XML-файлаПоэтому если нужно понять, почему конкретный документ не попал в выгрузку, начинать надо с регистра изменений.
Если нужно понять, почему документ попал в выгрузку, но с другими реквизитами, смотреть нужно правила конвертации.
Если нужно понять, где создается сам XML-файл, искать нужно серверный обработчик обмена и вызовы записи XML, а не только план обмена.
В типовой ЗУП наиболее результативный метод отладки такой:
1. очистить или заархивировать каталог обмена;
2. изменить один тестовый объект;
3. проверить его регистрацию;
4. запустить выгрузку в режиме отладки;
5. остановиться на серверном вызове;
6. пошагово пройти до процедуры формирования сообщения;
7. посмотреть значение структуры или таблицы, из которой создается XML;
8. сопоставить ее с содержимымMessage_*.xml.При этом настройки синхронизации могут быть загружены в базу как данные, поэтому отсутствие очевидного объекта
МенеджерОбменаЧерезУниверсальныйФорматсамо по себе не означает, что универсальный формат не используется.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.