Обсуждения, почта, SMS и уведомления: как написать коллегам прямо из 1С
Содержание
Быстрее всего отправить сообщение пользователям в 1С 8.3 через Обсуждения (система взаимодействия). Подключите её один раз в разделе Администрирование → Органайзер, и у каждого сотрудника справа вверху появится значок чата: можно написать одному человеку или группе, приложить файл или ссылку на документ. Если нужно предупредить всех, кто сидит в базе, перед обновлением, используйте блокировку работы пользователей с полем сообщения. Для писем, SMS и рассылок по расписанию в типовых конфигурациях есть готовые механизмы, а программист может отправлять сообщения кодом.
Отдельной кнопки «написать всем» в платформе нет. Способ выбирают по задаче: личное общение, массовое предупреждение, внешний канал (почта, телефон) или автоматическая рассылка.
Способы отправить сообщение пользователям в 1С: какой выбрать
Сначала определите, кому и зачем вы пишете. От этого зависит инструмент.
| Задача | Инструмент | Видит получатель | Нужна ли настройка |
|---|---|---|---|
| Написать коллеге или отделу | Обсуждения | Чат в 1С, всплывающее оповещение | Регистрация базы в системе взаимодействия |
| Предупредить всех перед обновлением | Блокировка работы пользователей | Окно с вашим текстом в сеансе | Нет |
| Отправить письмо сотруднику или клиенту | Учётная запись электронной почты | Письмо в почтовом ящике | Учётная запись SMTP |
| Срочное уведомление на телефон | Отправка SMS | SMS | Договор с SMS-провайдером |
| Регулярная рассылка отчёта | Рассылки отчётов | Письмо с вложением | Учётная запись почты |
| Уведомление из обработки или документа | Код на встроенном языке | Оповещение, сообщение, чат | Доработка |
💡 Для служебной переписки внутри компании почти всегда хватает Обсуждений. Почта и SMS нужны, когда адресат сейчас не в 1С.
Обсуждения вместо служебных записок: как написать коллеге внутри 1С
В типовых БП 3.0, ЗУП 3.1, УТ 11 нет отдельного объекта «Служебная записка». Внутренние документы с маршрутами согласования есть в 1С:Документообороте. В остальных конфигурациях их роль выполняют Обсуждения: переписка хранится, к ней можно вернуться, а сообщение привязывается к конкретному документу.
Как подключить Обсуждения
- Зайдите в базу под пользователем с полными правами.
- Откройте
Администрирование → Органайзер(в некоторых релизах настройка вынесена вОбщие настройки). - Найдите блок «Обсуждения» и нажмите команду подключения или регистрации.
- Укажите адрес электронной почты администратора. На него придёт код подтверждения.
- Введите код. База зарегистрируется в бесплатном сервисе 1С:Диалог.
После этого у пользователей появится панель обсуждений. Сотрудник попадает в список доступных собеседников, когда хотя бы раз зайдёт в зарегистрированную базу.
Если интернета на сервере нет или переписку нельзя выводить за периметр, разворачивают собственный сервер взаимодействия. Это отдельный продукт, его ставит администратор, а в базе указывают адрес своего сервера вместо облачного.
Как отправить сообщение
- 💬 Личное. Откройте панель обсуждений, начните новое обсуждение, выберите собеседника из списка, напишите текст.
- 👥 Групповое. Создайте обсуждение с несколькими участниками, например «Бухгалтерия» или «Закрытие месяца ».
- 📎 По документу. В открытом документе или карточке справочника есть команда обсуждения объекта. Сообщение увидят все, кто откроет этот объект, и ссылка ведёт прямо в него.
Получатель видит всплывающее оповещение, даже если окно чата закрыто. Если человек не в сети, сообщение дождётся следующего входа.
Обсуждения работают только в зарегистрированной базе. Копия зарегистрированной базы, развёрнутая для тестов, может сохранить регистрацию и общих собеседников. Перед экспериментами на копии отключите в ней систему взаимодействия, иначе тестовые сообщения уйдут живым людям.
Предупредить всех перед обновлением: сообщение при блокировке сеансов
Это самый частый сценарий у администратора: через 15 минут обновление, всем нужно сохраниться и выйти. В типовых конфигурациях на БСП для этого есть готовая форма.
- Откройте
Администрирование → Обслуживаниеи найдите команду блокировки работы пользователей. - Включите блокировку.
- Задайте время начала и окончания блокировки.
- В поле сообщения напишите текст, например: «В 19:00 обновление базы. Сохраните документы и выйдите из программы. Работа возобновится в 19:30».
- Сохраните настройки.
Программа покажет текст всем, кто работает в базе, и будет напоминать по мере приближения времени. В момент начала блокировки сеансы завершатся, новые входы будут запрещены до её снятия.
Незаписанные документы пользователей пропадут в момент завершения сеанса. Давайте запас минимум 10–15 минут и запускайте блокировку вне часов пик.
Для клиент-серверной базы то же самое можно сделать в консоли администрирования кластера. В свойствах информационной базы включают блокировку начала сеансов и заполняют поле сообщения. Этот текст видит тот, кто пытается войти в заблокированную базу. Уже работающих пользователей консоль сама не предупреждает, поэтому сначала используйте форму внутри конфигурации.
Отправка писем пользователям по электронной почте из 1С
Почта нужна, если сотрудник не сидит в 1С постоянно или письмо получает контрагент.
Настройка учётной записи
- Откройте
Администрирование → Органайзери перейдите к учётным записям электронной почты. - Создайте учётную запись. Мастер попросит адрес и пароль и попробует подобрать параметры сервера сам.
- Если автоподбор не сработал, укажите вручную SMTP-сервер, порт (обычно 465 с SSL или 587 с STARTTLS) и логин.
- Отметьте, что запись используется для отправки.
- Нажмите проверку настроек. Программа отправит тестовое письмо.
💡 Для Яндекса и Mail.ru вместо обычного пароля почти всегда нужен пароль приложения, созданный в настройках почтового ящика. С обычным паролем проверка завершится ошибкой авторизации.
Как отправить письмо
- Из списка документов или справочника: команда отправки по почте в меню печати. Печатная форма приложится файлом.
- Из карточки контрагента или физлица: адрес подставится из контактной информации.
- Новое письмо вручную: в конфигурациях с подсистемой «Взаимодействия» (УТ 11, КА, ERP, УНФ) есть журнал взаимодействий, где создают электронное письмо и видят историю переписки.
Учётная запись бывает общей или личной. Личную видит и использует только её владелец, общую — все, кому разрешено отправлять почту.
SMS-рассылка: подключение шлюза к 1С
SMS 1С сама не отправляет. Нужен договор с SMS-провайдером, который принимает сообщения от программы через свой сервис.
Порядок подключения:
- Заключите договор с провайдером из списка, который поддерживает ваша конфигурация, и пополните баланс.
- Согласуйте у провайдера имя отправителя. Без согласованного имени сообщения уходят с общего номера, а у части операторов не доходят вовсе.
- В УТ 11, КА, ERP и УНФ откройте настройки отправки SMS в разделе
Администрирование → Органайзер. - Выберите провайдера, укажите логин и пароль от его личного кабинета.
- Отправьте проверочное SMS на свой номер.
Номера получателей берутся из контактной информации: у сотрудников — из карточки физлица или пользователя, у клиентов — из карточки партнёра или контрагента.
| Что проверить | Почему важно |
|---|---|
| Формат номера | Номер без кода страны или с лишними символами провайдер может отклонить |
| Длина текста | Кириллица — около 70 символов на одно SMS, длинный текст делится и тарифицируется частями |
| Транслит | Сокращает число частей, но читается хуже |
| Баланс | При нулевом балансе отправка молча завершится ошибкой в журнале |
Всплывающие уведомления и сообщения из кода
Этот раздел для тех, кто дорабатывает конфигурацию через расширение или обработку.
Уведомление текущему пользователю
Метод ПоказатьОповещениеПользователя() выводит всплывающее окно в правом нижнем углу. Работает только на клиенте и только для того, кто сейчас выполняет код.
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПоказатьОповещениеПользователя("Документ записан",
,
"Заявка передана на согласование",
БиблиотекаКартинок.Информация);
КонецПроцедуры
Метод Сообщить() выводит текст в окно сообщений формы. Им удобно сообщать об ошибках заполнения, но другой пользователь этот текст не увидит.
Сообщение другому пользователю через систему взаимодействия
Чтобы уведомить коллегу программно, создают обсуждение и пишут в него сообщение. База должна быть зарегистрирована в системе взаимодействия, а у получателя должен быть пользователь информационной базы, который уже входил в программу.
&НаСервере
Процедура ОтправитьКоллеге(ПользовательИБ, ТекстСообщения)
Если Не СистемаВзаимодействия.ИспользованиеДоступно() Тогда
Возврат;
КонецЕсли;
ИдПолучателя = СистемаВзаимодействия.ПолучитьИдентификаторПользователя(
ПользовательИБ.УникальныйИдентификатор);
ИдАвтора = СистемаВзаимодействия.ТекущийПользователь().Идентификатор;
Обсуждение = СистемаВзаимодействия.СоздатьОбсуждение();
Обсуждение.Заголовок = "Уведомление из 1С";
Обсуждение.Групповое = Ложь;
Обсуждение.Участники.Добавить(ИдАвтора);
Обсуждение.Участники.Добавить(ИдПолучателя);
Обсуждение.Записать();
Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор);
Сообщение.Автор = ИдАвтора;
Сообщение.Текст = ТекстСообщения;
Сообщение.Записать();
КонецПроцедуры
Каждый вызов создаёт новое обсуждение. Если уведомлений много, сохраните идентификатор обсуждения и пишите в него повторно, иначе у получателя накопятся десятки одинаковых чатов.
Письмо кодом
В конфигурациях на БСП письмо лучше отправлять через общий модуль работы с почтой: он берёт настроенную учётную запись, и пароль не попадает в код. Если БСП нет, платформа даёт объекты ИнтернетПочтовыйПрофиль, ИнтернетПочтовоеСообщение и ИнтернетПочта.
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.example.ru";
Профиль.ПортSMTP = 465;
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.ПользовательSMTP = "robot@example.ru";
Профиль.ПарольSMTP = ПарольИзБезопасногоХранилища;
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Отправитель = "robot@example.ru";
Письмо.Получатели.Добавить("buh@example.ru");
Письмо.Тема = "Остатки на складе";
Письмо.Тексты.Добавить("Отчёт сформирован, проверьте остатки.",
ТипТекстаПочтовогоСообщения.ПростойТекст);
Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);
Почта.Послать(Письмо);
Почта.Отключиться();
Пароль не храните строкой в модуле: любой, кто откроет конфигурацию, его увидит. Для этого есть безопасное хранилище БСП.
Кому можно писать: права доступа и адресация пользователей
Сообщения адресуются пользователям информационной базы, а не сотрудникам или физлицам. Человек без пользователя в базе не появится ни в Обсуждениях, ни в получателях уведомлений из кода.
Что проверить, если адресата нет в списке:
- 👤 Пользователь создан в
Администрирование → Настройки пользователей и прав → Пользователии ему разрешён вход в программу. - 🔑 Пользователь хотя бы раз входил в базу после её регистрации в системе взаимодействия.
- 📧 Для почты: в карточке пользователя или физлица заполнен адрес электронной почты.
- 📱 Для SMS: заполнен мобильный телефон в контактной информации.
- 🛡️ Группа доступа, в которую входит пользователь, разрешает работу с почтой и взаимодействиями. Права настраивают в профилях групп доступа.
Для массовых сообщений удобнее группы пользователей. Создайте группу «Склад» или «Кассиры» и используйте её как список адресатов в групповом обсуждении или в рассылке.
Заблокированных и уволенных пользователей отключайте от входа, а не удаляйте. Иначе их старая переписка в обсуждениях потеряет автора.
Отправка по расписанию через регламентные задания
Регулярные уведомления не нужно отправлять руками.
Без программирования: рассылки отчётов
В конфигурациях на БСП есть рассылки отчётов. Их находят в разделе Администрирование → Печатные формы, отчеты и обработки.
- Создайте новую рассылку.
- Добавьте отчёты, например «Оборотно-сальдовая ведомость» с нужными настройками.
- Выберите получателей: пользователей, сотрудников или произвольные адреса.
- Задайте формат вложения: PDF, Excel или HTML в теле письма.
- Включите расписание, например каждый понедельник в 8:00.
Отчёт формируется на сервере и уходит письмом через учётную запись почты. Опция «не отправлять пустой отчёт» убирает лишние письма.
С программированием: своё регламентное задание
Если нужно уведомлять о событиях («за последний час не загрузились заказы», «срок договора истекает через 7 дней»), программист создаёт регламентное задание:
- В расширении или конфигурации добавляет регламентное задание и указывает метод серверного общего модуля.
- В методе проверяет условие и отправляет сообщение кодом из раздела выше.
- Задаёт расписание.
- Проверяет запуск в
Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
| Тип базы | Когда выполняются регламентные задания |
|---|---|
| Клиент-серверная | Сервером 1С, без открытых сеансов |
| Файловая | Только пока открыт хотя бы один сеанс пользователя или база опубликована на веб-сервере |
В файловой базе ночная рассылка не сработает, если на ночь все вышли из программы. Это частая причина жалоб «письма приходят через раз».
Частые вопросы
Можно ли отправить сообщение пользователям, у которых 1С уже открыта, без перезапуска?
Можно ли вложить в сообщение файл или ссылку на документ?
Платные ли Обсуждения?
Почему сообщения из обработки не доходят?
СистемаВзаимодействия.ИспользованиеДоступно() в той же базе.