Как исправить ошибку «не указана учетная запись электронной почты» при настройке синхронизации в 1С:Бухгалтерия?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

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

Анализ причин возникновения ошибки

Рассмотрим подробнее, почему возникает эта ошибка. Проблема локализована в релизах 3.0.115.x и связана с обновлением состава Библиотеки стандартных подсистем (БСП). Разберем ситуацию поэтапно:

  1. Несоответствие типов данных: При изучении программного кода обработки ПомощникСозданияОбменаДанными выяснилось, что в новых версиях произошла подмена типов. Реквизит формы, отвечающий за хранение выбранной учетной записи, приобрел тип Строка, в то время как реквизит самого объекта (узла обмена или параметров транспорта), в который должны записываться данные, ожидает тип СправочникСсылка.УчетныеЗаписиЭлектроннойПочты.
  2. Ошибка визуализации: Когда мы выбираем учетную запись из справочника, в поле формы подставляется ее строковое представление (наименование или адрес почты). Однако из-за того, что тип реквизита формы — строка, ссылка на объект справочника фактически «затирается» или не передается дальше по коду.
  3. Провал инициализации: Программа пытается прочитать настройки транспорта из реквизита, который оказывается пустым или содержит неверный тип данных. В журнале регистрации фиксируется событие отказа, и мастер настройки прекращает работу.

Ситуация осложняется тем, что компания 1С проводит плановый рефакторинг справочника УчетныеЗаписиЭлектроннойПочты, переводя механизмы на работу с профилями настроек почты. В некоторых релизах это привело к тому, что старый справочник помечается «к удалению», а новые формы еще не полностью адаптированы под гибридную логику работы.

Способ 1: Использование расширения конфигурации

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

Шаг 1. Создание расширения. Создадим новое расширение в режиме «Конфигуратор», установив назначение «Исправление» (Patch) или «Адаптация».

Шаг 2. Заимствование формы. Найдем в основной конфигурации обработку ПомощникСозданияОбменаДанными и добавим ее в расширение вместе с формой настройки транспорта.

Шаг 3. Изменение типа реквизита. В редакторе формы расширения найдем реквизит (часто он называется УчетнаяЗапись или УчетнаяЗаписьЭлектроннойПочты) и вручную установим ему тип СправочникСсылка.УчетныеЗаписиЭлектроннойПочты вместо типа Строка.

Шаг 4. Настройка видимости. После изменения типа реквизита проверим свойства элемента формы (поля ввода). Убедимся, что для него включена кнопка выбора и указан правильный путь к данным. Теперь, когда мы будем выбирать запись в мастере, система сохранит именно ссылку на объект, а не просто текст.


// Пример логики, которую можно применить в расширении для проверки типа
&НаСервере
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    // Проверяем, что реквизит имеет нужный нам тип для работы обмена
    Элементы.УчетнаяЗапись.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты");
КонецПроцедуры

Способ 2: Обходной путь через изменение канала транспорта

Если вы не хотите вносить изменения в структуру программы через расширения, проанализируем альтернативный вариант. Ошибка зачастую кроется именно в «Помощнике», но отсутствует в формах редактирования уже созданных узлов. Рассмотрим алгоритм действий:

  1. Начните создание новой синхронизации данных.
  2. На этапе выбора способа подключения выберите «Синхронизация через локальный или сетевой каталог». Это позволит вам завершить работу мастера без обращения к проблемному полю почтовой учетной записи.
  3. Завершите создание настройки обмена (настройте правила, фильтры и префиксы).
  4. После того как узел обмена будет создан, перейдите в раздел «Администрирование — Синхронизация данных — Настройки синхронизации данных».
  5. Откройте созданную настройку и выберите пункт «Параметры подключения».
  6. В открывшемся окне измените транспорт на «Электронная почта».

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

Способ 3: Настройка системной учетной записи

Выясним еще одну деталь: иногда код БСП обращается к «Системной учетной записи», если основная не определена корректно. Попробуем выполнить следующие действия:

  1. Перейдем в раздел «Администрирование — Настройки почты».
  2. Убедимся, что в системе настроена Системная учетная запись.
  3. Проверим, что она способна как отправлять, так и принимать почту (пройдем тест авторизации).

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

Рекомендации по дальнейшим действиям

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

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

← На главную