Добрый день, коллеги. Часто при работе с "1С:Документооборот" версии 3, например, на релизе 3.0.5.76 КОРП, можно столкнуться с неожиданной проблемой. Вы заходите в настройки программы, в раздел "Обмен данными", устанавливаете флаг "Использовать синхронизацию данных", но при попытке перейти к созданию новой настройки обмена система выдает сообщение: "Возможность настройки синхронизации данных в данной программе не предусмотрена". Это может сбить с толку, ведь основная опция включена, а других настроек, на первый взгляд, нет. Давайте вместе разберемся, в чем корень этой проблемы и как ее можно решить.
Проанализируем ситуацию. Такое поведение системы обычно говорит не о полном запрете на обмен, а о том, что в текущей конфигурации не зарегистрировано ни одного "Плана обмена", с которым мог бы работать стандартный помощник настройки синхронизации. Платформа 1С просто не видит доступных механизмов для обмена и поэтому блокирует доступ к интерфейсу их настройки. Наша задача — "подсказать" системе, какой план обмена она может использовать.
Основной способ решения этой задачи, особенно для КОРП-версий, заключается во внесении небольшого изменения в код конфигурации. Этот метод требует доступа к Конфигуратору и базовых навыков программирования. Рассмотрим по шагам, что нужно сделать.
Запуск в режиме Конфигуратора. Первым делом необходимо запустить информационную базу в режиме "Конфигуратор". Убедитесь, что у вас есть права на внесение изменений в конфигурацию.
Открытие конфигурации. Если конфигурация закрыта для изменений, ее необходимо открыть. Для этого в меню выберите "Конфигурация" -> "Открыть конфигурацию".
Поиск общего модуля. В дереве метаданных найдем ветку "Общие" и в ней — "Общие модули". Нам нужен модуль с названием ОбменДаннымиПереопределяемый. Это специальный модуль, предназначенный для адаптации типовых механизмов обмена данными под нужды конкретной конфигурации.
Поиск нужной процедуры. Открыв модуль двойным щелчком, воспользуемся поиском (Ctrl + F), чтобы найти процедуру ПолучитьПланыОбмена. В некоторых версиях конфигурации эта процедура может быть пустой, что и является причиной нашей проблемы. Система вызывает эту процедуру, чтобы получить список доступных планов обмена, но в ответ получает пустоту.
Добавление кода. Наша задача — наполнить эту процедуру смыслом. Нужно добавить в нее код, который будет регистрировать в системе один из существующих в конфигурации планов обмена. Для "1С:Документооборот КОРП" часто используют план обмена для создания распределенных информационных баз (РИБ).
В тело процедуры ПолучитьПланыОбмена необходимо вставить следующую строку кода:
Процедура ПолучитьПланыОбмена(ПланыОбменаПодсистемы) Экспорт
// Добавляем план обмена для РИБ, чтобы стал доступен интерфейс настройки синхронизации.
ПланыОбменаПодсистемы.Добавить(Метаданные.ПланыОбмена.РаспределеннаяИнформационнаяБаза);
КонецПроцедуры
Что делает этот код? Он обращается к коллекции планов обмена подсистемы (ПланыОбменаПодсистемы), которая передается в процедуру в качестве параметра, и добавляет в нее объект метаданных — план обмена РаспределеннаяИнформационнаяБаза. Теперь, когда система вызовет эту процедуру, она получит не пустой список, а конкретный план обмена, и, как следствие, откроет доступ к стандартному мастеру настройки синхронизации.
Сохранение и обновление. После добавления кода необходимо сохранить изменения в конфигурации (F7 или кнопка "Обновить конфигурацию базы данных"). Платформа применит изменения, и после этого можно будет заходить в программу в режиме "Предприятие".
После выполнения этих действий, при переходе к настройкам синхронизации данных ошибка "Возможность настройки... не предусмотрена" должна исчезнуть, и откроется стандартное окно для создания и настройки обменов.
Применяя описанное решение, стоит учитывать несколько ключевых моментов.
Отличие для версии ПРОФ. Предложенный код использует план обмена РаспределеннаяИнформационнаяБаза. Как справедливо отмечают на форумах, этот объект метаданных является частью функциональности, в основном присущей версиям КОРП. В конфигурации "1С:Документооборот ПРОФ" такого плана обмена может попросту не быть. В этом случае попытка сохранить код приведет к синтаксической ошибке. Для версии ПРОФ следует искать другие доступные планы обмена в дереве метаданных или использовать иные, штатные механизмы интеграции, если они предусмотрены вашим релизом (например, обмен через универсальный формат EnterpriseData, который появился в более поздних версиях).
Последствия изменения конфигурации. Очень важно понимать: как только вы вносите изменения в код, ваша конфигурация перестает быть типовой. Она снимается с поддержки. Это означает, что при последующих обновлениях программы вам придется выполнять процедуру сравнения и объединения конфигураций вручную, чтобы не потерять внесенные изменения и корректно применить новшества от разработчика. Это усложняет сопровождение системы, поэтому прибегать к такому методу стоит осознанно.
В качестве альтернативы, особенно если вы не готовы снимать конфигурацию с поддержки, стоит рассмотреть возможность обновления "1С:Документооборот" до более свежего релиза. Начиная с версии 3.0.6, фирма "1С" активно развивает механизмы синхронизации через универсальный формат, что делает настройку обмена с другими типовыми конфигурациями (такими как "1С:Бухгалтерия" или "1С:ERP") значительно проще и не требует изменений в коде.