Авторский материал, впервые опубликованный на Infostart: Ошибка при синхронизации через почтовые сообщения. Здесь — отредактированная версия того же текста.
Главное
Если обмен между базами 1С настроен через почтовые сообщения, рано или поздно можно увидеть ошибку получения заголовков писем с кодом IMAP 25 и ответом сервера «command or literal size is too large». Обмен при этом останавливается: база просто не может прочитать список писем.
Порядок разбора простой. Сначала проверяем настройки синхронизации и почтовой учётной записи с обеих сторон обмена. Если с настройками всё в порядке, смотрим сам почтовый ящик: у ящика, который годами копит сжатые сообщения обмена, объём папок вырастает настолько, что сервер перестаёт отдавать заголовки. После очистки ящика обмен запускают вручную.
Как выглядит ошибка
Настройки синхронизации данных 1С с 1С:Бухгалтерия предприятия 3.0: обмен завершился с ошибкой. Скриншот автора, источник: Infostart
Журнал регистрации 1С: карточка ошибки обмена данными через универсальный формат при получении данных. Скриншот автора, источник: Infostart
Текст ошибки выглядит так:
- Обработка: ТранспортСообщенийОбменаEMAIL: Ошибка при получении заголовков сообщений с сервера электронной почты.
- Произошла ошибка при работе с IMAP. Код ошибки: 25 Ответ сервера: command or literal size is too large
- {ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный.Модуль(481)}: НаборПисем = Соединение.ПолучитьЗаголовки();
- {ОбщийМодуль.РаботаСПочтовымиСообщениями.Модуль(211)}: Результат = РаботаСПочтовымиСообщениямиСлужебный.ЗагрузитьСообщения(УчетнаяЗапись, ПараметрыЗагрузки);
- {Обработка.ТранспортСообщенийОбменаEMAIL.МодульОбъекта(366)}: НаборСообщений = ОбщийМодульРаботаСПочтовымиСообщениями.ЗагрузитьПочтовыеСообщения(EMAILУчетнаяЗапись, ПараметрыЗагрузки);
- {Обработка.ТранспортСообщенийОбменаEMAIL.МодульОбъекта(88)}: Результат = ПолучитьСообщениеОбмена(ПроверкаНаличия);
- {ОбщийМодуль.ОбменДаннымиСервер.Модуль(8314)}: Если Не ОбработкаТранспортаСообщенийОбмена.ПодключениеУстановлено()
- {ОбщийМодуль.ОбменДаннымиСервер.Модуль(7034)}: ВыполнитьТранспортСообщенияОбменаПолучение(СтруктураНастроекОбмена);
- {ОбщийМодуль.ОбменДаннымиСервер.Модуль(5297)}: ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена);
- {ОбщийМодуль.ОбменДаннымиСервер.Модуль(5352)}: ВыполнитьОбменДаннымиПоСценариюОбменаДанными(Ложь, Выборка.Ссылка);
И причина в конце: «Произошла ошибка при работе с IMAP. Код ошибки: 25 Ответ сервера: command or literal size is too large».
Шаг 1. Проверить настройки синхронизации
Проверять нужно обе учётные системы, между которыми настроен обмен. Точка входа зависит от конфигурации.
Для 1С:Комплексная автоматизация 2, 1С:ERP Управление предприятием 2 и 1С:Управление торговлей 11 — раздел «НСИ и администрирование» — «Настройки интеграции» — «Синхронизация данных».
Для остальных типовых конфигураций пути свои:
- 1С:Бухгалтерия предприятия 3.0 — «Администрирование» — «Настройки программы» — «Синхронизация данных»;
- 1С:Зарплата и управление персоналом 3.1 — «Администрирование» — «Синхронизация данных»;
- 1С:Управление нашей фирмой 3.0 — «Настройки» — «Интеграции» — «Синхронизация данных».
Дальше принцип проверки во всех конфигурациях одинаковый. В открывшемся окне «Синхронизация данных» перейдите по гиперссылке «Настройки синхронизации данных».
Окно «Синхронизация данных» в типовой конфигурации 1С: гиперссылка «Настройки синхронизации данных». Скриншот автора, источник: Infostart
В списке выделите нужную настройку и нажмите «Настроить».
Список настроек синхронизации 1С с 1С:Бухгалтерия предприятия 3.0: кнопка «Настроить». Скриншот автора, источник: Infostart
В окне «Синхронизация данных через универсальный формат» нажмите «Параметры синхронизации данных» и выберите «Настройки подключения».
Настройка синхронизации 1С с 1С:Бухгалтерия предприятия 3.0: пункт «Настройки подключения» в параметрах синхронизации. Скриншот автора, источник: Infostart
В окне «Настройки транспорта обмена данными» проверьте подключение к учётной записи электронной почты кнопкой «Проверить подключение».
Окно «Настройки транспорта обмена данными» в 1С: кнопка «Проверить подключение» к учётной записи электронной почты. Скриншот автора, источник: Infostart
Затем проверьте саму системную учётную запись — войти в неё можно прямо из окна настроек транспорта.
Переход к системной учётной записи электронной почты из настроек транспорта обмена данными 1С. Скриншот автора, источник: Infostart
В карточке системной учётной записи нажмите «Проверить настройки». При исправных настройках программа сообщит, что проверка настроек почты завершилась успешно; иначе выведет перечень ошибок.
Карточка системной учётной записи электронной почты в 1С: результат команды «Проверить настройки». Скриншот автора, источник: Infostart
Шаг 2. Разобрать почтовый ящик
Если настройки с обеих сторон в порядке, зайдите в саму почтовую учётную запись, через которую базы обмениваются сжатыми сообщениями, и посмотрите на объём отправленных и полученных писем.
Именно здесь чаще всего и находится причина: ящик переполнен служебными письмами обмена, и сервер отказывается отдавать заголовки. В исходном материале ориентир такой — если писем, связанных с обменом, больше примерно 3 000, ящик пора чистить. Точный предел зависит от почтового сервиса и его лимитов, поэтому воспринимайте цифру как ориентир, а не как жёсткое значение.
Перед удалением убедитесь, что все циклы обмена завершены и в ящике не осталось непрочитанных сообщений, которые база ещё не забрала.
Почтовый ящик, используемый для обмена данными между базами 1С: большой объём служебных сообщений. Скриншот автора, источник: Infostart
Очистка почтового ящика от сообщений обмена данными между базами 1С. Скриншот автора, источник: Infostart
Шаг 3. Запустить обмен вручную
После очистки выполните синхронизацию в ручном режиме. Снова откройте «Настройки синхронизации данных» — тем же путём, что и на шаге 1, — на стороне каждой из конфигураций, участвующих в обмене, и нажмите «Синхронизировать». Дождитесь окончания цикла обмена: после этого ошибка должна уйти.
Запуск синхронизации данных вручную в типовой конфигурации 1С. Скриншот автора, источник: Infostart
Что стоит помнить
- Ошибка относится к транспорту, а не к правилам обмена: данные и настройки конвертации здесь ни при чём, база просто не может прочитать почту.
- Разбор ящика — не разовая мера. Если обмен идёт постоянно, разумно предусмотреть регулярную очистку папок или отдельный ящик только под обмен.
- Обмен через почтовые сообщения в принципе чувствителен к лимитам почтового сервера. Если ошибка повторяется после очистки, стоит обсудить с администратором переход на другой транспорт — например, на общий каталог или FTP.
- Названия пунктов меню отличаются между версиями конфигураций: ориентируйтесь на смысл шага, а не на дословный путь.
Контакты: it-digit.ru/about/contacts · +7 (495) 646-01-17 · sales@it-digit.ru