«Раньше отчёт приходил каждое утро в 9:00, а теперь тишина уже вторую неделю.» Так описал ситуацию финансовый директор ресторанной группы с восемью заведениями. Каждое утро он открывал почту, видел сводку по выручке за вчерашний день и начинал рабочий день. А потом отчёты перестали приходить. Без предупреждения, без ошибок — просто тишина.
Рассылка отчётов — одна из тех функций 1С, о которой не думают, пока она работает. Настроили один раз, забыли. А когда ломается — оказывается, что никто толком не знает, как она устроена и где искать проблему.
Мы разберём три реальных случая из практики. Компании разные, проблемы разные, но корень один — рассылка выглядит простой, а внутри устроена сложнее, чем кажется.
Как работает рассылка отчётов в 1С
Прежде чем разбирать поломки, стоит понять, что происходит «под капотом». Объясним простыми словами.
В 1С есть подсистема «Рассылка отчётов» — часть Библиотеки стандартных подсистем (БСП). Она берёт на себя автоматическую отправку отчётов по расписанию. Вы настраиваете: какой отчёт, кому, в каком формате, по какому графику. Дальше система всё делает сама. По крайней мере, так задумано.
Когда наступает время рассылки, происходит цепочка действий:
- Формирование отчёта. 1С открывает указанный отчёт, подставляет параметры (период, организацию, подразделение) и формирует результат. По сути — выполняет тот же запрос к базе данных, что и при ручном открытии отчёта.
- Подготовка писем. Система берёт список получателей, для каждого формирует письмо: тема, текст, вложение с отчётом в выбранном формате (обычно Excel или PDF).
- Отправка через SMTP. Каждое готовое письмо передаётся на почтовый сервер через протокол SMTP. Тот же механизм, что при обычной отправке письма из 1С.
- Результат. Если всё прошло штатно, письмо попадает в почтовый ящик получателя. Если нет — 1С должна записать ошибку в журнал регистрации.
На каждом из этих этапов что-то может пойти не так. И в каждом из наших трёх случаев проблема была на разном этапе.
Случай первый: «Не указан ни один получатель»
Ресторанная группа. Восемь заведений, централизованная бухгалтерия. Каждое утро руководителям заведений рассылалась сводка: выручка, средний чек, количество гостей. Четырнадцать получателей. Работало полгода как часы.
Потом в компанию вышли два новых управляющих. Их добавили в справочник сотрудников, включили в рассылку. И на следующее утро отчёты перестали приходить. Всем. Не только новым, а вообще всем четырнадцати.
В журнале регистрации мы нашли ошибку: «Не указан ни один получатель письма».
Звучит странно — получателей шестнадцать, как ни одного? Оказалось, проблема в данных. У двух новых сотрудников в карточке не были заполнены адреса электронной почты. Они числились в списке рассылки, но email-поле было пустым.
А механизм рассылки устроен так: он перебирает получателей по очереди и для каждого готовит письмо. Когда встречает пустой email — генерирует ошибку. И эта ошибка не «пропускает» проблемного получателя и идёт дальше. Она прерывает всю рассылку целиком. Один пустой email блокирует отправку остальным пятнадцати.
Это особенность реализации в конкретной конфигурации. В типовом механизме БСП такая ситуация обрабатывается аккуратнее, но у клиента рассылка была доработана, и в доработке этот момент не учли.
Что мы сделали
- Заполнили email у новых сотрудников — рассылка тут же заработала
- Доработали код: теперь получатели без email пропускаются, а не ломают всю очередь
- Добавили логирование — в журнал регистрации записывается, кому письмо не отправлено и почему
Весь ремонт занял два часа. Но до нашего вмешательства рассылка не работала девять дней — потому что ошибка в журнале регистрации была неочевидной, и без анализа кода понять причину было невозможно.
Случай второй: рассылка идёт 20 минут вместо пяти
Торговая компания, оптовые продажи. Каждое утро шестидесяти двум менеджерам рассылался отчёт по дебиторской задолженности — у каждого своя выборка по его клиентам. Когда рассылку настроили, она выполнялась за пять минут. Через полгода стала занимать двадцать.
«Мы думали, база просто выросла и стала медленнее, — рассказал IT-директор. — Но двадцать минут — это перебор.»
И это были не просто двадцать минут ожидания. Регламентное задание, которое запускает рассылку, имеет ограничение по времени выполнения. Когда рассылка стала регулярно выходить за этот лимит, сервер прерывал процесс. Часть писем уходила, часть — нет. Причём каждый день по-разному: зависело от того, на каком получателе рассылка «не успевала».
Мы посмотрели, как устроена рассылка, и нашли проблему. Отчёт по дебиторской задолженности — достаточно тяжёлый. Он обращается к большому объёму данных: документы реализации, оплаты, возвраты за несколько месяцев. Формирование одного такого отчёта занимает порядка пятнадцати-двадцати секунд.
Сам по себе это нормально. Но рассылка была устроена так: для каждого из шестидесяти двух получателей отчёт формировался заново. С нуля. Каждый раз — полный запрос к базе данных, полный расчёт всех показателей. А потом из общего результата выбиралась часть, относящаяся к конкретному менеджеру.
То есть один и тот же тяжёлый отчёт формировался шестьдесят два раза, хотя достаточно было сформировать его один раз и раздать каждому менеджеру его часть.
Простая арифметика: 62 получателя по 20 секунд на формирование отчёта — это 1240 секунд, больше 20 минут. При этом на саму отправку писем уходило меньше минуты.
Что мы сделали
- Переписали механизм рассылки: отчёт формируется один раз, результат сохраняется во временное хранилище
- Для каждого получателя из общего результата выбирается его срез данных — это занимает доли секунды
- Время рассылки сократилось с 20 минут до 4-5 минут
- Таймауты прекратились, все 62 получателя стали стабильно получать отчёты
Логика исправления простая, но добраться до неё без анализа кода невозможно. Снаружи рассылка просто «тормозит», а причина — в архитектуре формирования данных.
Случай третий: письма не уходят, но ошибок нет
Производственная компания. Каждую пятницу руководству рассылался сводный отчёт по выпуску продукции за неделю. В какой-то момент отчёты перестали приходить. Руководитель заметил это через три недели — «думал, бухгалтерия забыла, потом спросил — оказалось, рассылка вроде бы работает».
Мы проверили журнал регистрации. Записи о рассылке были. Статус — «выполнено успешно». Ни одной ошибки. По логам всё выглядело идеально: отчёт сформирован, письма подготовлены, отправка выполнена. Но фактически ни одно письмо не дошло до получателей.
Начали копать код. И нашли проблему в том месте, где происходит непосредственная отправка письма через SMTP. Код был доработан предыдущим специалистом, и отправка была обёрнута в конструкцию «Попытка — Исключение». Это стандартный приём в программировании: если при выполнении кода произойдёт ошибка, программа не «падает», а переходит в блок «Исключение», где ошибку можно обработать.
Проблема в том, что блок «Исключение» был пустым. Совсем. Ни записи в журнал, ни сообщения пользователю, ни повторной попытки отправки. Ошибка возникала — и растворялась в пустоте. Программа считала, что выполнила задачу, потому что не упала. А почтовый сервер менял настройки аутентификации, соединение не устанавливалось — и код тихо «проглатывал» отказ.
Представьте курьера, который взял посылку, поехал по адресу, увидел закрытую дверь — и выбросил посылку в мусорку. А в отчёте написал «доставлено». Примерно так и работал этот код.
Что мы сделали
- Заполнили блок «Исключение» — теперь ошибки отправки записываются в журнал регистрации с полным текстом
- Добавили уведомление администратору: если хотя бы одно письмо из рассылки не отправлено, ответственный получает сообщение
- Исправили настройки SMTP-подключения — оказалось, почтовый сервер перешёл на обязательное TLS-шифрование, а в 1С стоял старый протокол
- Проверили все остальные места в коде, где использовалась конструкция «Попытка — Исключение» — нашли ещё два пустых блока, исправили
Этот случай — хороший пример того, как «работающая» система может месяцами не выполнять свою функцию. Формально всё в порядке, а по факту — пустота.
Чек-лист диагностики: рассылка не работает
Если ваши отчёты из 1С перестали приходить, пройдите по этим пунктам. Часть можно проверить самостоятельно, часть — с помощью специалиста.
1. Проверьте настройки учётной записи электронной почты
Зайдите в «Администрирование» — «Органайзер» — «Настройка системной учётной записи». Отправьте тестовое письмо себе. Если не уходит — проблема на уровне почтового подключения. Проверьте адрес SMTP-сервера, порт, логин, пароль. Узнайте у вашего почтового провайдера, не менялись ли настройки.
2. Проверьте список получателей
Откройте карточку рассылки (обычно «Администрирование» — «Печатные формы, отчёты и обработки» — «Рассылки отчётов»). Просмотрите список получателей. У каждого должен быть заполнен email. Пустое поле — потенциальная причина сбоя. Проверьте также, что адреса корректные — опечатки вроде «info@company,by» вместо «info@company.by» случаются чаще, чем кажется.
3. Загляните в журнал регистрации
«Администрирование» — «Журнал регистрации». Установите фильтр по событию — ищите записи, связанные с рассылкой отчётов или отправкой почты. Обратите внимание на статус: «Ошибка» или «Предупреждение» укажут на проблему. Текст ошибки часто содержит подсказку — «Connection refused», «Authentication failed», «Timeout».
Если ошибок нет, а письма не приходят, — это может быть ситуация из третьего случая, когда ошибки «проглатываются». Тут без анализа кода не обойтись.
4. Проверьте соединение с SMTP-сервером
Иногда проблема не в 1С, а в сети. Сервер, на котором работает 1С, должен иметь доступ к почтовому серверу по нужному порту (обычно 465 или 587). Если в компании менялись настройки сети, файрвола или прокси — соединение могло оборваться. Попросите системного администратора проверить доступность почтового сервера с сервера 1С.
5. Проверьте формирование самого отчёта
Откройте тот же отчёт вручную и сформируйте с теми же параметрами, что и в рассылке. Если отчёт не формируется или выдаёт ошибку — рассылка тоже не сможет его сформировать. Бывает, что отчёт ломается после обновления конфигурации или изменения структуры данных.
Как не допустить повторения
Проблемы с рассылкой не берутся из ниоткуда. Они копятся постепенно: добавили сотрудника без email, изменились настройки почтового сервера, база выросла и отчёт стал тяжелее. Вот что помогает держать рассылку в рабочем состоянии.
Мониторинг
Самый простой вариант — включить себя в список получателей рассылки. Если утром отчёт не пришёл — значит, что-то сломалось. Вы узнаете об этом в тот же день, а не через три недели.
Вариант посложнее — настроить оповещение администратору, если регламентное задание рассылки завершилось с ошибкой. Это задача для специалиста, но делается один раз и работает постоянно.
Регулярная проверка получателей
При добавлении новых сотрудников в рассылку — сразу проверять, заполнен ли email. Звучит элементарно, но именно это стало причиной девятидневного простоя в первом случае. Заведите правило: добавил в рассылку — проверь, что первое письмо дошло.
Контроль после обновлений
Обновили конфигурацию 1С? Проверьте, работает ли рассылка. Обновили настройки почтового сервера? Проверьте рассылку. Поменяли пароль от почтового ящика? Не забудьте обновить его и в 1С.
Обновления — самый частый триггер поломок. Не потому что обновления плохие, а потому что они меняют поведение системы, и рассылка, настроенная полгода назад, может оказаться несовместимой с новой версией.
Логирование ошибок
Если в вашей базе есть доработки, связанные с рассылкой или отправкой почты, — убедитесь, что ошибки не «проглатываются». Пустые блоки «Попытка — Исключение» — это мина замедленного действия. Попросите специалиста проверить код: каждая перехваченная ошибка должна записываться в журнал регистрации.
Оптимизация тяжёлых отчётов
Если рассылка включает отчёты с большим объёмом данных и отправляется десяткам получателей — следите за временем выполнения. Когда рассылка начинает занимать больше десяти минут, это сигнал: скоро начнутся таймауты. Не ждите, пока проблема станет критической — обратитесь к специалисту для оптимизации.
Когда нужен специалист
Часть проверок можно сделать самостоятельно: отправить тестовое письмо, посмотреть список получателей, заглянуть в журнал регистрации. Но есть ситуации, когда без специалиста не обойтись:
- В журнале регистрации нет ошибок, но письма не приходят
- Рассылка работает, но слишком медленно, часть писем теряется
- Нужно настроить рассылку с индивидуальными параметрами для каждого получателя
- После обновления конфигурации рассылка перестала работать
- Нужно добавить оповещение о сбоях рассылки
Настройка и диагностика рассылки — обычно от одного часа до одного дня, в зависимости от сложности. В большинстве случаев — несколько часов. Это не космическая хирургия, но и не задача для бухгалтера.
Коротко о главном
Рассылка отчётов в 1С — механизм надёжный, но требующий внимания. Три случая из нашей практики показывают типичные причины сбоев:
- Данные получателей. Пустой email у одного сотрудника может заблокировать рассылку всем остальным.
- Производительность. Неоптимальная архитектура рассылки превращает пятиминутную задачу в двадцатиминутную — с таймаутами и потерей писем.
- Обработка ошибок. Пустой блок «Попытка — Исключение» делает рассылку невидимо сломанной — всё выглядит нормально, но ничего не работает.
Если ваши отчёты перестали приходить — начните с чек-листа выше. Проверьте почту, получателей, журнал. Если причина не очевидна — обращайтесь к тем, кто работает с кодом 1С. Проблема почти наверняка решаемая, вопрос в том, как быстро её найти.


