Как вернуть кнопки загрузки правил конвертации и регистрации в плане обмена УПП 1.3?

Программист 1С v8.3 (Обычные формы)
← На главную

В процессе настройки обмена данными между конфигурацией 1С:Управление производственным предприятием (УПП) 1.3 и сторонними системами (например, "Промышленная безопасность") программисты часто сталкиваются с технической недоработкой интерфейса: на форме узла плана обмена отсутствуют стандартные кнопки "Загрузить правила конвертации объектов" и "Загрузить правила регистрации объектов". Эта проблема может возникнуть даже при использовании актуальных версий платформы и типовых конфигураций.

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

Решение 1. Проверка прав доступа и функциональных опций

Первым делом проанализируем настройки прав доступа. В 1С:УПП 1.3 права на новые или измененные объекты конфигурации не всегда подтягиваются автоматически, даже если у пользователя установлена роль "Полные права".

Выполним следующие шаги:

  1. Перейдем в Конфигуратор и откроем список ролей.
  2. Для роли Полная (или специализированной роли, под которой настраивается обмен) найдем наш план обмена.
  3. Необходимо убедиться, что галочки проставлены не только на сам объект (План обмена), но и на все его команды, реквизиты и табличные части. Часто бывает, что права на чтение объекта есть, а на выполнение команд интерфейса — нет.
  4. Обновим конфигурацию базы данных.

Далее проверим состояние системных констант. В УПП 1.3 функциональность синхронизации данных управляется специфической настройкой. Разберем, как её найти:

  1. В режиме "1С:Предприятие" (лучше использовать обычный интерфейс) перейдем в меню Операции — Константы.
  2. Найдем константу Использовать обмен данными с конфигурациями на платформе 8.2 (именно так она называется в старых редакциях УПП, заменяя привычную "Использовать синхронизацию данных").
  3. Установим значение этой константы в Истина (Включено).

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

Решение 2. Корректное именование макетов в плане обмена

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

Рассмотрим правила создания макетов:

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

Решение 3. Программная регистрация плана обмена

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

Разберем, как внести изменения в код:

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

Пример кода для добавления:


Процедура ПолучитьПланыОбменаДляНастройкиОбменаДанными(СписокПлановОбмена) Экспорт
    // Добавляем наш новый план обмена в список
    СписокПлановОбмена.Добавить(Метаданные.ПланыОбмена.НашНовыйПланОбмена);
КонецПроцедуры

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

Решение 4. Ручное создание записи в регистре "Правила для обмена данными"

Иногда программный механизм "не видит" связь между планом обмена и регистром правил из-за кэширования или ошибок в коде формы. В этом случае проанализируем содержимое регистра сведений ПравилаДляОбменаДанными.

Попробуем выполнить следующие действия:

  1. Через меню "Все функции" (или "Функции для технического специалиста") откроем регистр ПравилаДляОбменаДанными.
  2. Вручную создадим новую запись.
  3. В поле Имя плана обмена выберем наш проблемный план.
  4. Укажем Вид правил — Правила конвертации или Правила регистрации.
  5. Сохраним запись.

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

Решение 5. Анализ модуля формы узла

Если вы копировали форму узла из другого плана обмена, проанализируем процедуру ПриСозданииНаСервере (или ПриОткрытии в обычных формах). В УПП часто встречается жесткая проверка имен объектов.

Выясним, нет ли в коде условий типа:


Если Метаданные().Имя = "ОбменУПП_ЗУП" Тогда
    ЭлементыФормы.КнопкаЗагрузитьПравила.Видимость = Истина;
Иначе
    ЭлементыФормы.КнопкаЗагрузитьПравила.Видимость = Ложь;
КонецЕсли;

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

Важный нюанс: Убедитесь, что вы не пытаетесь использовать механизм загрузки правил XML для планов обмена, работающих по формату EnterpriseData. В УПП 1.3 поддержка универсального формата ограничена, но если план обмена помечен как работающий через "Синхронизацию данных", кнопки загрузки .xml файлов конвертации могут быть скрыты намеренно, так как система ожидает использования встроенных в конфигурацию обработчиков.

← На главную