Ответы в темах
-
АвторЗаписи
-
6 ноября 2026 в 4:49 в ответ на: Как добавить функции получения прайса, проверки долга, акта сверки и заказа? #38971
Это уже не просто отправка документов, а полноценный Telegram-бот, связанный с УНФ 3. Оптимальная схема:
1С (Код)1234567891011Клиент в Telegram↓Telegram Bot API↓Регламентное задание или HTTP-сервис 1С↓Обработка команды↓Данные УНФ 3↓Ответ текстом или PDF-файломДля начала лучше использовать регламентное задание с методом
getUpdates. Такой вариант проще разместить и обслуживать. Webhook быстрее, но потребует публикации HTTP-сервиса 1С через HTTPS.## 1. Какие функции можно реализовать
В боте можно сделать меню:
1С (Код)123456📋 Прайс-лист💳 Моя задолженность📄 Акт сверки🛒 Оформить заказ📦 Мои заказы📞 Связаться с менеджеромПример сценариев:
### Прайс-лист
Клиент нажимает:
1С (Код)1📋 Прайс-листБот:
1. получает клиента по Telegram
chat_id;
2. определяет доступный ему вид цен;
3. формирует список товаров;
4. формирует Excel или PDF;
5. отправляет файл в Telegram.### Задолженность
Клиент нажимает:
1С (Код)1💳 Моя задолженностьБот возвращает:
1С (Код)12345678Партнер: ООО РомашкаОбщая задолженность: 125 400 руб.Просроченная задолженность: 45 000 руб.Аванс: 10 000 руб.К оплате: 115 400 руб.По состоянию на 05.11.2026### Акт сверки
Клиент выбирает период:
1С (Код)1📄 Акт сверкиЗатем бот предлагает:
1С (Код)123За текущий годЗа предыдущий годУказать периодПосле выбора периода:
1. формируется акт сверки;
2. он сохраняется в PDF;
3. PDF отправляется клиенту.### Оформление заказа
Клиент:
1. открывает каталог;
2. выбирает товар;
3. указывает количество;
4. подтверждает заказ;
5. в УНФ создается документЗаказ покупателя;
6. бот возвращает номер заказа.Для первого варианта не нужно сразу делать полноценный каталог с тысячами товаров. Практичнее начать с поиска товара по артикулу или наименованию.
—
# 2. Связка Telegram-пользователя с клиентом УНФ
Это основной элемент безопасности.
Нельзя определять клиента только по имени пользователя Telegram. Имя можно изменить, а иногда оно вообще отсутствует.
Нужно хранить таблицу соответствий:
1С (Код)1TelegramChatId → Партнер УНФ → Контрагент УНФ → Контактное лицоВ расширении создайте регистр сведений, например:
1С (Код)1TelegramПользователиИзмерение:
1С (Код)1ИдентификаторЧатаРеквизиты:
1С (Код)12345678ПартнерКонтрагентКонтактноеЛицоТелефонДатаРегистрацииДатаПоследнегоОбращенияАктивенКодПодтвержденияПример записи:
1С (Код)12345ИдентификаторЧата: 123456789Партнер: ООО РомашкаКонтрагент: ООО РомашкаКонтактное лицо: Иванов ИванАктивен: Истина## Вариант регистрации клиента
Самый простой способ:
1. клиент пишет боту
/start;
2. бот просит указать номер телефона;
3. номер телефона передается Telegram как контакт;
4. 1С ищет клиента по номеру телефона;
5. бот отправляет код подтверждения;
6. после подтверждения создается связь с партнером.Более безопасный способ:
1. менеджер в УНФ открывает карточку клиента;
2. нажимает «Подключить Telegram»;
3. программа создает одноразовый код;
4. клиент отправляет боту этот код;
5. бот связываетchat_idс конкретным партнером.Пример текста:
1С (Код)123Ваш код подключения: 847291Передайте этот код клиенту. Код действует 15 минут.Код нельзя делать постоянным. После успешной регистрации его нужно удалить или пометить использованным.
—
# 3. Получение входящих сообщений от Telegram
Telegram передает сообщения через API
getUpdates:1С (Код)1https://api.telegram.org/botТОКЕН/getUpdatesВ регламентном задании 1С нужно:
1. получить
offset;
2. вызватьgetUpdates;
3. разобрать JSON;
4. обработать каждое сообщение;
5. сохранить новыйoffset.Пример вызова:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758&НаСервереФункция ПолучитьОбновленияTelegram() ЭкспортТокенБота = ПолучитьТокенБота();ПоследнийИдентификатор =ПолучитьПоследнийИдентификаторОбновления();Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);Запрос = Новый HTTPЗапрос;Запрос.АдресРесурса ="/bot"+ ТокенБота+ "/getUpdates?timeout=1&offset="+ Строка(ПоследнийИдентификатор + 1);Ответ = Соединение.Получить(Запрос);Если Ответ.КодСостояния <> 200 ТогдаВызватьИсключение"Ошибка получения сообщений Telegram. Код: "+ Строка(Ответ.КодСостояния);КонецЕсли;ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();ЧтениеJSON = Новый ЧтениеJSON;ЧтениеJSON.УстановитьСтроку(ТелоОтвета);Данные = ПрочитатьJSON(ЧтениеJSON);Если ТипЗнч(Данные) <> Тип("Структура") ТогдаВозврат;КонецЕсли;Если Не Данные.Свойство("result") ТогдаВозврат;КонецЕсли;Для Каждого Обновление Из Данные.result ЦиклОбработатьОбновлениеTelegram(Обновление);Если Обновление.Свойство("update_id") ТогдаЗаписатьПоследнийИдентификаторОбновления(Обновление.update_id);КонецЕсли;КонецЦикла;КонецФункцииВ реальном проекте желательно сначала записывать полученные сообщения в регистр сведений
ОчередьTelegram, а уже потом обрабатывать их. Это позволит повторить обработку после ошибки.—
# 4. Меню Telegram
Для меню используются inline-кнопки. Пользователь нажимает кнопку, а бот получает
callback_query.Структура меню:
1С (Код)12345678910111213141516171819202122232425262728&НаСервереПроцедура ОтправитьГлавноеМеню(ИдентификаторЧата) ЭкспортКнопки = Новый Массив;СтрокаКнопок = Новый Массив;СтрокаКнопок.Добавить(НоваяКнопкаTelegram("📋 Прайс-лист", "PRICE"));СтрокаКнопок.Добавить(НоваяКнопкаTelegram("💳 Задолженность", "DEBT"));Кнопки.Добавить(СтрокаКнопок);СтрокаКнопок = Новый Массив;СтрокаКнопок.Добавить(НоваяКнопкаTelegram("📄 Акт сверки", "RECONCILIATION"));СтрокаКнопок.Добавить(НоваяКнопкаTelegram("🛒 Новый заказ", "ORDER"));Кнопки.Добавить(СтрокаКнопок);ПараметрыКлавиатуры = Новый Структура;ПараметрыКлавиатуры.Вставить("inline_keyboard", Кнопки);ОтправитьСообщениеTelegram(ИдентификаторЧата,"Выберите нужную операцию:",ПараметрыКлавиатуры);КонецПроцедурыВспомогательная функция:
1С (Код)12345678910&НаСервереФункция НоваяКнопкаTelegram(Текст, Данные) ЭкспортКнопка = Новый Структура;Кнопка.Вставить("text", Текст);Кнопка.Вставить("callback_data", Данные);Возврат Кнопка;КонецФункцииПри нажатии кнопки Telegram вернет:
1С (Код)1234callback_data = PRICEcallback_data = DEBTcallback_data = RECONCILIATIONcallback_data = ORDERВ обработчике:
1С (Код)123456789101112131415161718192021222324&НаСервереПроцедура ОбработатьКомандуTelegram(ИдентификаторЧата,Команда) ЭкспортЕсли Команда = "PRICE" ТогдаСформироватьИОтправитьПрайсЛист(ИдентификаторЧата);ИначеЕсли Команда = "DEBT" ТогдаОтправитьЗадолженность(ИдентификаторЧата);ИначеЕсли Команда = "RECONCILIATION" ТогдаПоказатьВыборПериодаАктаСверки(ИдентификаторЧата);ИначеЕсли Команда = "ORDER" ТогдаНачатьОформлениеЗаказа(ИдентификаторЧата);КонецЕсли;КонецПроцедуры—
# 5. Получение прайс-листа
Здесь нужно заранее определить бизнес-правила:
— какой вид цен использовать;
— показывать ли только доступные товары;
— показывать ли остатки;
— учитывать ли характеристики;
— учитывать ли индивидуальные цены клиента;
— какой склад использовать;
— какие товары разрешено продавать клиенту.Для клиента лучше использовать именно тот вид цен, который применяется в заказах УНФ.
## Запрос списка товаров и цен
Ниже примерный запрос. Названия регистров цен в конкретной версии УНФ 3 необходимо проверить в конфигураторе. В разных версиях могут отличаться регистр и состав измерений.
1С (Код)1234567891011121314151617181920Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Цены.Номенклатура КАК Номенклатура,| Цены.Цена КАК Цена|ИЗ| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(| &Дата,| ВидЦен = &ВидЦен) КАК Цены|ГДЕ| Цены.Цена > 0| И Цены.Номенклатура.ПометкаУдаления = ЛОЖЬ| И Цены.Номенклатура.ЭтоГруппа = ЛОЖЬ|УПОРЯДОЧИТЬ ПО| Цены.Номенклатура.Наименование";Запрос.УстановитьПараметр("Дата", ТекущаяДата());Запрос.УстановитьПараметр("ВидЦен", ВидЦен);Выборка = Запрос.Выполнить().Выбрать();В рабочей разработке этот запрос нужно адаптировать под фактический регистр цен УНФ 3. Нельзя без проверки использовать условное имя регистра, если его нет в вашей конфигурации.
## Формирование файла
Для большого прайс-листа лучше формировать Excel, а не отправлять тысячи сообщений.
Варианты:
— Excel;
— PDF;
— CSV;
— текстовый файл;
— ссылка на веб-каталог.Пример формирования табличного документа:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637ТабличныйДокумент = Новый ТабличныйДокумент;Область = ТабличныйДокумент.Область("R1C1:R1C3");Область.Текст = "Артикул";Область.Область(1, 2).Текст = "Наименование";Область.Область(1, 3).Текст = "Цена";НомерСтроки = 2;Пока Выборка.Следующий() ЦиклТабличныйДокумент.Область(НомерСтроки,1,НомерСтроки,1).Текст =Выборка.Номенклатура.Код;ТабличныйДокумент.Область(НомерСтроки,2,НомерСтроки,2).Текст =Выборка.Номенклатура.Наименование;ТабличныйДокумент.Область(НомерСтроки,3,НомерСтроки,3).Значение =Выборка.Цена;НомерСтроки = НомерСтроки + 1;КонецЦикла;Сохранение:
1С (Код)12345ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");ТабличныйДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);Затем:
1С (Код)1234ОтправитьДокументВTelegram(ИдентификаторЧата,ИмяФайла,"Прайс-лист");Для индивидуальных цен нельзя просто брать общий вид цен. Нужно определить вид цен по соглашению или настройкам клиента и передать его в запрос.
—
# 6. Проверка задолженности
В УНФ задолженность может быть рассчитана по разным аналитикам:
— по заказам;
— по договорам;
— по накладным;
— по расчетным документам;
— по срокам оплаты.Поэтому сначала нужно определить, какая аналитика фактически используется в базе.
Нельзя автоматически считать задолженность простой суммой всех реализаций минус все оплаты, если в УНФ используется сложная детализация взаиморасчетов.
## Пример запроса задолженности
Ниже пример общего подхода через регистр расчетов. Точное имя регистра нужно проверить в вашей базе:
1С (Код)12345678910111213141516171819202122Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Остатки.Партнер КАК Партнер,| СУММА(Остатки.СуммаОстаток) КАК СуммаЗадолженности|ИЗ| РегистрНакопления.ВзаиморасчетыСКлиентами.Остатки(| &Момент,| Партнер = &Партнер) КАК Остатки|СГРУППИРОВАТЬ ПО| Остатки.Партнер";Запрос.УстановитьПараметр("Момент", ТекущаяДата());Запрос.УстановитьПараметр("Партнер", Партнер);Результат = Запрос.Выполнить().Выбрать();СуммаЗадолженности = 0;Если Результат.Следующий() ТогдаСуммаЗадолженности = Результат.СуммаЗадолженности;КонецЕсли;Это только пример структуры. В УНФ 3 следует использовать тот регистр, на основании которого типовые отчеты программы показывают задолженность. Надежнее всего посмотреть схему компоновки данных типового отчета по задолженности и использовать ее логику.
## Формирование ответа
1С (Код)1234567891011121314151617Текст = "Информация по взаиморасчетам"+ Символы.ПС+ Символы.ПС+ "Клиент: "+ Партнер.Наименование+ Символы.ПС+ "Задолженность: "+ Формат(СуммаЗадолженности, "ЧДЦ=2")+ " руб."+ Символы.ПС+ Символы.ПС+ "Дата формирования: "+ Формат(ТекущаяДата(), "ДЛФ=Д");ОтправитьСообщениеTelegram(ИдентификаторЧата,Текст);Рекомендуется добавить расшифровку:
1С (Код)1Показать документыПосле нажатия бот отправляет список:
1С (Код)123456789Реализация № 45 от 10.10.2026Сумма: 80 000 руб.Оплачено: 50 000 руб.Долг: 30 000 руб.Реализация № 51 от 20.10.2026Сумма: 95 000 руб.Оплачено: 80 000 руб.Долг: 15 000 руб.—
# 7. Получение акта сверки
Есть два варианта реализации.
## Вариант 1. Вызывать типовой механизм акта сверки
Это предпочтительный вариант. Нужно использовать типовую логику УНФ формирования отчета или печатной формы акта сверки.
Порядок:
1. определить партнера;
2. определить организацию;
3. определить договор, если учет ведется по договорам;
4. определить период;
5. сформировать табличный документ;
6. сохранить его в PDF;
7. отправить через Telegram.Для документа акта сверки могут потребоваться:
1С (Код)12345678ОрганизацияПартнерКонтрагентДоговорДата началаДата окончанияВалютаТолько проведенные документы## Вариант 2. Сделать собственную форму
Можно сформировать акт самостоятельно по движениям взаиморасчетов:
1С (Код)12345Сальдо на началоДебетовые оборотыКредитовые оборотыСальдо на конецПеречень документовНо этот вариант опаснее, потому что можно не учесть:
— авансы;
— возвраты;
— корректировки;
— зачеты;
— комиссионные операции;
— разные договоры;
— валютные расчеты;
— курсовые разницы.Поэтому лучше переиспользовать типовой отчет или типовую печатную форму, а не писать расчет с нуля.
Общий код формирования PDF выглядит так:
1С (Код)123456789101112131415161718192021ТабличныйДокумент =СформироватьАктСверки(Партнер,Организация,ДатаНачала,ДатаОкончания,Договор);ИмяФайла = ПолучитьИмяВременногоФайла("pdf");ТабличныйДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.PDF);ОтправитьДокументВTelegram(ИдентификаторЧата,ИмяФайла,"Акт сверки за период "+ Формат(ДатаНачала, "ДФ=dd.MM.yyyy")+ " - "+ Формат(ДатаОкончания, "ДФ=dd.MM.yyyy"));Процедура
СформироватьАктСверки()в данном примере условная. Ее нужно связать с конкретным типовым отчетом или макетом вашей версии УНФ 3.—
# 8. Оформление заказа через Telegram
Есть два уровня сложности.
## Простой вариант
Клиент вводит:
1С (Код)1/заказ АРТ-001 5Бот:
1. находит товар по артикулу;
2. проверяет цену;
3. проверяет возможность продажи;
4. добавляет товар в корзину;
5. просит подтвердить заказ;
6. создает документЗаказ покупателя.Пример команды:
1С (Код)1/order АРТ-001 5Это проще всего реализовать для первого этапа.
## Полноценная корзина
Бот хранит корзину в регистре сведений:
1С (Код)1КорзиныTelegramИзмерения:
1С (Код)1234ИдентификаторЧатаНомерКорзиныНоменклатураХарактеристикаРеквизиты:
1С (Код)1234КоличествоЦенаСуммаДатаДобавленияСценарий:
1С (Код)1234567891011121314151617Новый заказ↓Поиск товара↓Выбор товара↓Указание количества↓Корзина↓Подтверждение↓Выбор склада↓Выбор доставки↓Создание заказа в УНФ## Поиск товара
Клиент отправляет:
1С (Код)1краска белая1С выполняет поиск:
1С (Код)1234567891011121314151617181920Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 20| Номенклатура.Ссылка КАК Номенклатура,| Номенклатура.Наименование КАК Наименование,| Номенклатура.Код КАК Код|ИЗ| Справочник.Номенклатура КАК Номенклатура|ГДЕ| Номенклатура.ПометкаУдаления = ЛОЖЬ| И Номенклатура.ЭтоГруппа = ЛОЖЬ| И Номенклатура.Наименование ПОДОБНО &Поиск|УПОРЯДОЧИТЬ ПО| Номенклатура.Наименование";Запрос.УстановитьПараметр("Поиск","%" + ТекстПоиска + "%");Выборка = Запрос.Выполнить().Выбрать();Каждый найденный товар отправляется кнопкой:
1С (Код)1Краска белая 10 л, 2 500 руб.В
callback_dataнужно передавать не само наименование, а ключ:1С (Код)1PRODUCT|УникальныйИдентификаторНельзя без необходимости передавать большие строки в
callback_data.## Добавление в корзину
После выбора товара бот спрашивает:
1С (Код)1Укажите количество:Следующее сообщение сохраняется как количество товара.
Затем в корзину записывается строка. Перед записью нужно проверить:
— товар не помечен на удаление;
— товар разрешен к продаже;
— клиент имеет доступ к этому товару;
— цена заполнена;
— количество больше нуля;
— единица измерения корректна;
— характеристика указана, если она обязательна.## Создание документа заказа
В УНФ документ создается на сервере:
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738&НаСервереФункция СоздатьЗаказПокупателяПоКорзине(Партнер,Контрагент,Организация,Корзина) ЭкспортЗаказ = Документы.ЗаказПокупателя.СоздатьДокумент();Заказ.Дата = ТекущаяДата();Заказ.Партнер = Партнер;Заказ.Контрагент = Контрагент;Заказ.Организация = Организация;Для Каждого СтрокаКорзины Из Корзина ЦиклСтрокаТовара = Заказ.Товары.Добавить();СтрокаТовара.Номенклатура =СтрокаКорзины.Номенклатура;СтрокаТовара.Количество =СтрокаКорзины.Количество;СтрокаТовара.Цена =СтрокаКорзины.Цена;СтрокаТовара.Сумма =СтрокаТовара.Количество* СтрокаТовара.Цена;КонецЦикла;Заказ.Записать();Возврат Заказ.Ссылка;КонецФункцииНо для типовой УНФ этого обычно недостаточно. В заказе могут быть обязательны:
— соглашение;
— склад;
— вид цен;
— организация;
— договор;
— подразделение;
— операция;
— график оплаты;
— способ доставки;
— статус заказа;
— ставки НДС.Поэтому перед записью нужно либо заполнить обязательные реквизиты, либо вызвать типовую процедуру заполнения документа.
В готовом решении обязательно нужно выполнять типовые проверки заполнения перед записью:
1С (Код)1234567ПопыткаЗаказ.Записать();ИсключениеВызватьИсключение"Не удалось создать заказ: "+ ОписаниеОшибки();КонецПопытки;После создания документа бот отправляет:
1С (Код)123456Заказ № 00001234 создан.Сумма: 18 500 руб.Дата: 05.11.2026Менеджер свяжется с вами для подтверждения заказа.—
# 9. Что делать с заказом без непосредственного проведения
Не рекомендуется сразу проводить заказ, сформированный клиентом через Telegram.
Лучше:
1. создать документ;
2. записать его;
3. установить статусНа согласованииили аналогичный;
4. уведомить менеджера;
5. после проверки менеджер проводит или подтверждает заказ.Причины:
— клиент мог указать неверное количество;
— цена могла измениться;
— товара может не быть в наличии;
— необходима проверка задолженности;
— нужно проверить минимальную сумму заказа;
— могут потребоваться условия доставки;
— заказ может быть подозрительным.—
# 10. Уведомления менеджеру
После создания заказа нужно отправить сообщение:
1С (Код)123456Создан новый заказ через Telegram.Заказ: 00001234Клиент: ООО РомашкаСумма: 18 500 руб.Telegram: 123456789Можно сделать два варианта:
— отправлять сообщение в Telegram-группу менеджеров;
— уведомлять конкретного ответственного менеджера;
— использовать внутренние задачи УНФ;
— отправлять уведомление одновременно в Telegram и в 1С.Для группы менеджеров потребуется отдельный
chat_id.—
# 11. Состояния диалога
Бот должен понимать, на каком шаге находится каждый пользователь.
Для этого нужен регистр сведений:
1С (Код)1СостоянияДиалогаTelegramИзмерение:
1С (Код)1ИдентификаторЧатаРеквизиты:
1С (Код)12345СостояниеОжидаемоеЗначениеТекущийДокументТекущаяКорзинаДатаИзмененияПримеры состояний:
1С (Код)123456789ГлавноеМенюОжидаетсяПоискТовараОжидаетсяКоличествоВыбираетсяПериодАктаОжидаетсяДатаНачалаОжидаетсяДатаОкончанияПодтверждениеЗаказаВыборСкладаПодтверждениеРегистрацииБез хранения состояния получится ненадежная система, потому что бот не будет понимать, к какой операции относится очередное сообщение клиента.
—
# 12. Рекомендуемый порядок разработки
Не стоит сразу реализовывать все функции одновременно. Практичный порядок такой:
## Этап 1. Основа
— регистрация клиента;
— хранениеchat_id;
— главное меню;
— отправка обычного сообщения;
— журнал ошибок;
— очередь сообщений.## Этап 2. Простые функции
— просмотр задолженности;
— получение прайс-листа;
— отправка существующих PDF;
— просмотр списка заказов.## Этап 3. Акт сверки
— выбор периода;
— формирование PDF;
— отправка клиенту;
— журнал отправленных актов.## Этап 4. Заказ
— поиск номенклатуры;
— корзина;
— выбор количества;
— подтверждение;
— создание заказа;
— уведомление менеджера.## Этап 5. Контроль
— проверка прав клиента;
— ограничение доступных товаров;
— контроль задолженности;
— повторная отправка при ошибке;
— ограничение частоты запросов;
— журнал действий клиента.Главное архитектурное решение: не размещать всю логику в обработчиках формы и не выполнять длительные операции прямо при нажатии кнопки. Для Telegram нужно разделить систему на обработку входящих сообщений, бизнес-логику УНФ и очередь отправки файлов. Тогда прайс-листы, акты сверки и заказы будут работать устойчиво, а ошибки Telegram не будут блокировать пользователей в базе.
5 ноября 2026 в 21:08 в ответ на: Как отправлять документы из УНФ 3 в Telegram без изменения конфигурации? #38969Ваше сообщение оборвалось на фразе «аналогично тому, как…». Но для УНФ 3 обычно требуется отправка в Telegram одного из вариантов:
1. печатной формы документа;
2. файла из присоединенных файлов;
3. счета, заказа, акта, накладной в PDF;
4. документа с кнопкой «Отправить в Telegram»;
5. автоматическая отправка клиенту после проведения документа.Для УНФ 3 правильнее делать это расширением, без изменения конфигурации. Общая схема такая:
— в расширении добавить команду в форму документа;
— получить печатную форму или присоединенный файл;
— сохранить его во временный файл;
— отправить файл методом TelegramsendDocument;
— токен бота и настройки хранить в константах либо в регистре сведений расширения;
— идентификатор чата хранить у клиента, контактного лица или в отдельном регистре сведений.## 1. Что потребуется создать в расширении
В расширении УНФ 3:
### Общий модуль
Создайте общий модуль, например:
1С (Код)1ИнтеграцияTelegramСерверСвойства:
— серверный;
— экспортный;
— вызов сервера, если команда вызывается из управляемой формы.### Регистр сведений «НастройкиTelegram»
Можно добавить регистр сведений с периодичностью «Непериодический».
Измерения:
1С (Код)1КлючНастройкиРесурсы:
1С (Код)1ТокенБотаРеквизиты:
1С (Код)1ПроксиДля одного бота достаточно одной записи с ключом:
1С (Код)1ОсновнойБотТокен Telegram имеет примерно такой вид:
1С (Код)11234567890:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxТокен нельзя хранить непосредственно в коде расширения.
## 2. Отправка файла в Telegram из 1С
Для отправки файла Telegram используется метод:
1С (Код)1https://api.telegram.org/botТОКЕН/sendDocumentВ запросе необходимо передать multipart/form-data:
—
chat_id;
—document;
— при необходимостиcaption.Ниже приведен рабочий пример серверной функции общего модуля. Она принимает путь к файлу, идентификатор чата и подпись.
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144&НаСервереФункция ОтправитьДокументВTelegram(ИдентификаторЧата, ИмяФайла, Подпись = "") ЭкспортЕсли ПустаяСтрока(ИдентификаторЧата) ТогдаВызватьИсключение "Не указан идентификатор чата Telegram";КонецЕсли;Если Не ЗначениеЗаполнено(ИмяФайла) ТогдаВызватьИсключение "Не указан файл для отправки";КонецЕсли;Если Не ФайлСуществует(ИмяФайла) ТогдаВызватьИсключение "Файл не найден: " + ИмяФайла;КонецЕсли;ТокенБота = ПолучитьТокенБота();Если ПустаяСтрока(ТокенБота) ТогдаВызватьИсключение "Не настроен токен Telegram-бота";КонецЕсли;Граница = "----" + СтрЗаменить(Строка(Новый УникальныйИдентификатор()),"-","");ИмяФайлаТелаЗапроса = ПолучитьИмяВременногоФайла("tmp");МассивФайлов = Новый Массив;ИмяНачальнойЧасти = ПолучитьИмяВременногоФайла("tmp");ЗаписьНачальнойЧасти = Новый ЗаписьТекста(ИмяНачальнойЧасти,КодировкаТекста.UTF8,Символы.ПС,Ложь);ЗаписьНачальнойЧасти.ЗаписатьСтроку("--" + Граница);ЗаписьНачальнойЧасти.ЗаписатьСтроку("Content-Disposition: form-data; name=""chat_id""");ЗаписьНачальнойЧасти.ЗаписатьСтроку("");ЗаписьНачальнойЧасти.ЗаписатьСтроку(Строка(ИдентификаторЧата));Если Не ПустаяСтрока(Подпись) ТогдаЗаписьНачальнойЧасти.ЗаписатьСтроку("--" + Граница);ЗаписьНачальнойЧасти.ЗаписатьСтроку("Content-Disposition: form-data; name=""caption""");ЗаписьНачальнойЧасти.ЗаписатьСтроку("");ЗаписьНачальнойЧасти.ЗаписатьСтроку(Подпись);КонецЕсли;ЗаписьНачальнойЧасти.ЗаписатьСтроку("--" + Граница);ЗаписьНачальнойЧасти.ЗаписатьСтроку("Content-Disposition: form-data; name=""document""; filename="""+ ПолучитьИмяФайла(ИмяФайла) + """");ЗаписьНачальнойЧасти.ЗаписатьСтроку("Content-Type: application/octet-stream");ЗаписьНачальнойЧасти.ЗаписатьСтроку("");ЗаписьНачальнойЧасти.Закрыть();МассивФайлов.Добавить(ИмяНачальнойЧасти);МассивФайлов.Добавить(ИмяФайла);ИмяКонечнойЧасти = ПолучитьИмяВременногоФайла("tmp");ЗаписьКонечнойЧасти = Новый ЗаписьТекста(ИмяКонечнойЧасти,КодировкаТекста.UTF8,Символы.ПС,Ложь);ЗаписьКонечнойЧасти.ЗаписатьСтроку("--" + Граница + "--");ЗаписьКонечнойЧасти.Закрыть();МассивФайлов.Добавить(ИмяКонечнойЧасти);ОбъединитьФайлы(МассивФайлов, ИмяФайлаТелаЗапроса);Запрос = Новый HTTPЗапрос;Запрос.АдресРесурса = "/bot"+ ТокенБота+ "/sendDocument";Запрос.Метод = "POST";Запрос.Заголовки.Вставить("Content-Type","multipart/form-data; boundary=" + Граница);Запрос.УстановитьИмяФайлаТела(ИмяФайлаТелаЗапроса);ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,,ЗащищенноеСоединение);Ответ = Соединение.ОтправитьДляОбработки(Запрос);ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();Если Ответ.КодСостояния <> 200 ТогдаВызватьИсключение "Ошибка отправки файла в Telegram. "+ "Код HTTP: "+ Строка(Ответ.КодСостояния)+ ". Ответ: "+ ТелоОтвета;КонецЕсли;ЧтениеJSON = Новый ЧтениеJSON;ЧтениеJSON.УстановитьСтроку(ТелоОтвета);Результат = ПрочитатьJSON(ЧтениеJSON);Если ТипЗнч(Результат) = Тип("Структура") ТогдаУспешно = Результат.Свойство("ok")И Результат.ok;Если Не Успешно ТогдаОписаниеОшибки = "";Если Результат.Свойство("description") ТогдаОписаниеОшибки = Результат.description;КонецЕсли;ВызватьИсключение"Telegram вернул ошибку: "+ ОписаниеОшибки;КонецЕсли;КонецЕсли;Возврат Истина;КонецФункцииФункция получения токена может выглядеть так:
1С (Код)12345678910111213141516171819202122232425&НаСервереФункция ПолучитьТокенБота() ЭкспортЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 1| Настройки.ТокенБота КАК ТокенБота|ИЗ| РегистрСведений.НастройкиTelegram КАК Настройки|ГДЕ| Настройки.КлючНастройки = &КлючНастройки";Запрос.УстановитьПараметр("КлючНастройки","ОсновнойБот");Результат = Запрос.Выполнить().Выбрать();Если Результат.Следующий() ТогдаВозврат Результат.ТокенБота;КонецЕсли;Возврат "";КонецФункции## 3. Как получить идентификатор чата Telegram
Пользователь должен сначала написать боту любое сообщение, например:
1С (Код)1/startПосле этого можно временно вызвать метод:
1С (Код)1https://api.telegram.org/botТОКЕН/getUpdatesВ ответе будет структура примерно такого вида:
JavaScript123456789{"message": {"chat": {"id": 123456789,"first_name": "Иван","username": "ivanov"}}}Значение:
1С (Код)1123456789это идентификатор чата, куда можно отправлять документы.
Для рабочего варианта лучше не вводить
chat_idвручную в документе. В УНФ 3 его можно хранить:— в карточке контрагента;
— в карточке контактного лица;
— в дополнительном реквизите клиента;
— в отдельном регистре сведений расширения.Например, отдельный регистр сведений:
1С (Код)1НастройкиПолучателейTelegramИзмерения:
1С (Код)12КонтрагентКонтактноеЛицоРесурсы:
1С (Код)1ИдентификаторЧатаТак можно отправлять документ нужному клиенту автоматически.
## 4. Кнопка в форме документа УНФ 3
В расширении нужно создать команду формы, например:
1С (Код)1ОтправитьВTelegramКоманду подключить к форме нужного документа. В зависимости от задачи это может быть:
— Заказ клиента;
— Реализация товаров и услуг;
— Счет на оплату;
— Акт выполненных работ;
— Коммерческое предложение;
— Заказ поставщику;
— Счет на оплату покупателю.Обработчик команды формы:
1С (Код)1234567891011121314&НаКлиентеПроцедура ОтправитьВTelegram(Команда)Результат = ОтправитьДокументВTelegramНаСервере();Если Результат.Успешно ТогдаСообщить("Документ отправлен в Telegram");ИначеСообщить("Не удалось отправить документ: "+ Результат.ОписаниеОшибки);КонецЕсли;КонецПроцедурыСерверная процедура:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051&НаСервереФункция ОтправитьДокументВTelegramНаСервере()Результат = Новый Структура;Результат.Вставить("Успешно", Ложь);Результат.Вставить("ОписаниеОшибки", "");ПопыткаЕсли Не ЗначениеЗаполнено(Объект.Ссылка) ТогдаРезультат.ОписаниеОшибки ="Сначала необходимо записать документ";Возврат Результат;КонецЕсли;ИдентификаторЧата =ПолучитьИдентификаторЧатаДляДокумента(Объект.Ссылка);Если ПустаяСтрока(ИдентификаторЧата) ТогдаРезультат.ОписаниеОшибки ="Для клиента не настроен Telegram";Возврат Результат;КонецЕсли;ИмяФайла = ПолучитьПечатнуюФормуДокументаPDF(Объект.Ссылка);Подпись ="Документ: "+ Объект.Ссылка+ Символы.ПС+ "Дата: "+ Формат(Объект.Дата, "ДЛФ=Д");ИнтеграцияTelegramСервер.ОтправитьДокументВTelegram(ИдентификаторЧата,ИмяФайла,Подпись);Результат.Успешно = Истина;ИсключениеРезультат.ОписаниеОшибки =ОписаниеОшибки();КонецПопытки;Возврат Результат;КонецФункцииНазвания реквизитов
Объект.Ссылка,Объект.Датаи структура формы могут отличаться в конкретной форме УНФ 3, поэтому этот фрагмент нужно адаптировать к форме документа.## 5. Как получить PDF печатной формы
Здесь есть два варианта.
### Вариант 1. Использовать уже существующий присоединенный PDF
Если в УНФ документ уже имеет присоединенный файл, нужно получить его двоичные данные и записать во временный файл:
1С (Код)123456ДвоичныеДанные = ПолучитьДвоичныеДанныеПрисоединенногоФайла(СсылкаНаФайл);ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");ДвоичныеДанные.Записать(ИмяВременногоФайла);После этого файл передается в:
1С (Код)1234ИнтеграцияTelegramСервер.ОтправитьДокументВTelegram(ИдентификаторЧата,ИмяВременногоФайла,Подпись);### Вариант 2. Сформировать печатную форму документа
Если нужно отправлять именно печатную форму, ее сначала формируют в
ТабличныйДокумент, затем сохраняют в PDF:1С (Код)12345ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");ТабличныйДокумент.Записать(ИмяВременногоФайла,ТипФайлаТабличногоДокумента.PDF);После этого выполняется отправка файла в Telegram.
Важно: в типовой УНФ конкретные процедуры получения печатной формы зависят от документа и версии конфигурации. Для каждого документа нужно определить:
— имя макета;
— имя печатной формы;
— процедуру формирования табличного документа;
— наличие дополнительных параметров печати.Поэтому универсально сформировать PDF для всех документов УНФ одной процедурой без проверки конкретной версии конфигурации нельзя.
## 6. Автоматическая отправка после проведения
Если требуется отправлять документы автоматически, не нужно отправлять их прямо из обработчика
ПриЗаписиилиОбработкаПроведения. Это может замедлить проведение и привести к ошибке записи документа при временной недоступности Telegram.Лучше сделать очередь отправки:
### Регистр сведений «ОчередьTelegram»
Измерения:
1С (Код)1ДокументРеквизиты:
1С (Код)1234567ИдентификаторЧатаИмяФайлаСтатусКоличествоПопытокТекстОшибкиДатаСозданияДатаОтправкиСтатусы:
1С (Код)1234ОжидаетОтправляетсяОтправленОшибкаПри проведении документа в очередь записывается задание. Регламентное задание раз в минуту:
1. выбирает документы со статусом
Ожидает;
2. формирует PDF;
3. отправляет файл;
4. меняет статус наОтправлен;
5. при ошибке увеличивает счетчик попыток;
6. сохраняет текст ошибки.Такой вариант надежнее, поскольку временная ошибка сети или Telegram не блокирует работу пользователей в УНФ.
## 7. Что важно учесть
### Ограничение размера файла
Telegram ограничивает размер отправляемого через Bot API документа. Для обычных счетов, актов и накладных в PDF проблем обычно нет, но крупные архивы и сканы могут не отправиться.
### Ограничение подписи
Подпись к документу не должна быть слишком длинной. Для обычного описания документа достаточно:
1С (Код)1Счет на оплату № 15 от 05.11.2026### Кодировка
Файл отправляется как бинарные данные. Не нужно читать PDF как текст и перекодировать его.
### Идентификатор чата
Telegram-бот не может первым написать пользователю. Клиент обязательно должен сначала открыть бота и отправить ему сообщение.
### Группы
Для отправки в группу бот должен быть добавлен в группу. Для группы идентификатор чата обычно отрицательный, например:
1С (Код)1-1001234567890### Безопасность
Не следует:
— хранить токен в общем модуле;
— записывать токен в текст ошибки;
— передавать токен пользователю;
— публиковать URL с токеном в журналах регистрации;
— разрешать отправку документов без проверки прав пользователя.Для УНФ 3 оптимальный первый вариант такой: добавить в форму документа команду «Отправить в Telegram», сформировать PDF печатной формы, получить
chat_idклиента из регистра сведений и вызватьsendDocument. Рекомендую посмотреть здесь: https://core.telegram.org/bots/api#senddocument и https://infostart.ru/1c/articles/1528057/5 ноября 2026 в 21:01 в ответ на: Как реализовать отправку клиентских документов через Telegram в 1С:УНФ 3? #38967For 1C:UNF 3, this should be implemented as a separate Telegram integration in an extension, without modifying the typical configuration. The solution should reuse the existing logic for sending customer documents by email, but Telegram requires its own queue, customer identification and message delivery status.
## 1. Main functionality
The integration should provide four independent scenarios:
1. Sending documents to a customer via Telegram.
2. Sending information about the customer’s receivables.
3. Sending a price list at the customer’s request.
4. Receiving and processing customer orders through Telegram.The recommended architecture is:
1С (Код)12345671C:UNF 3|| HTTP requests over HTTPS|Telegram Bot API|Customer's Telegram accountThe integration should work through a Telegram bot created in BotFather.
## 2. Customer identification in Telegram
The most important issue is linking a Telegram user to a customer in 1C.
A Telegram bot does not know which customer is writing to it. The customer must be identified by one of the following methods.
### Recommended method: authorization code
The customer receives a unique code from the manager or from the customer portal, for example:
1С (Код)1/company 843921The customer sends this code to the Telegram bot. 1C finds the customer and saves the Telegram identifier.
The following information should be stored:
— Customer;
— Telegram user ID;
— Telegram chat ID;
— Telegram username;
— Date of authorization;
— Authorization status;
— Code expiration date;
— Date of the last message;
— Blocking or deactivation flag.It is better to store this data in a separate information register, for example:
1С (Код)1TelegramCustomerAccountsPossible dimensions:
— Customer;
— TelegramUserID;
— TelegramChatID.Possible resources and attributes:
— Username;
— FirstName;
— LastName;
— IsActive;
— AuthorizedAt;
— LastMessageDate;
— AuthorizationCode;
— CodeExpirationDate.The main identifier for sending messages is
chat_id, not the username. The username can change, while the chat ID normally remains unchanged.### Alternative method
The customer can send the phone number registered in 1C. The bot then sends a confirmation code. This is more secure, but it requires an additional confirmation procedure.
The bot cannot start a conversation with a customer until the customer has first pressed
Startor sent a message to the bot.## 3. Telegram bot settings in 1C
Create a settings form, preferably in the section:
1С (Код)1НСИ и администрирование → Интеграции → TelegramThe settings should include:
— Bot token;
— Bot name;
— Telegram API URL;
— Webhook or polling mode;
— Proxy parameters, if required;
— Maximum file size;
— Message sending interval;
— Number of attempts;
— Default document format;
— Default price list format;
— Whether to send debt information automatically;
— Organization used for customer documents;
— Message templates.The bot token must not be stored in ordinary open application parameters. It should be stored in a protected setting, for example using standard secure storage mechanisms available in the particular UNF 3 release.
Telegram API requests are sent to:
1С (Код)1https://api.telegram.org/bot<BOT_TOKEN>/<METHOD>Examples of methods:
1С (Код)12345sendMessagesendDocumentgetUpdatessetWebhookdeleteWebhook## 4. Sending customer documents via Telegram
The existing email mechanism should be extended rather than duplicated completely.
The document sending process should be separated into three stages:
1. Formation of the document file.
2. Creation of a Telegram outgoing message.
3. Actual sending through Telegram.For example, when the user selects a customer document, the form should contain additional commands:
— Send by email;
— Send via Telegram;
— Send by email and Telegram;
— Send receivables;
— Send document and receivables.The integration should support at least:
— PDF files;
— Excel files, where appropriate;
— Printed forms;
— Several documents in one message;
— Text accompanying the document;
— A document generated from a print form;
— A link to the document, if the file is too large.A message may look as follows:
1С (Код)123456Hello, ООО "Ромашка".The following document has been sent:Sales invoice No. 000012 dated 04.11.2026.You can download the document using the attached file.If several files are sent, it is better to create one ZIP archive or send the files separately with clear names.
Recommended file name:
1С (Код)1Realization_000012_04-11-2026.pdf## 5. Sending receivables
Receivables should be sent as a separate generated report or as an attachment to the customer document.
There are two possible options.
### Option 1. Send a brief text message
Example:
1С (Код)1234567Your current receivables:Total debt: 125,000.00 RUBOverdue debt: 75,000.00 RUBNot overdue: 50,000.00 RUBThe information is current as of 04.11.2026.This option is convenient for a quick notification.
### Option 2. Send a detailed debt statement
The bot sends a PDF or Excel file containing:
— Customer;
— Agreement;
— Document basis;
— Document number and date;
— Due date;
— Document amount;
— Paid amount;
— Remaining debt;
— Days overdue;
— Currency.The preferred implementation is to use the same data source as the standard UNF report on customer settlements or receivables. A new independent calculation should not be created if the configuration already has a standard report with correct settlement logic.
The sending form can contain the following flags:
1С (Код)1234[ ] Send customer document[ ] Send receivables[ ] Send detailed receivables statement[ ] Include overdue invoices onlyWhen sending automatically after a sale, the recommended message sequence is:
1. Send the document.
2. Send a short debt summary.
3. Send a detailed statement, if selected by the user.For example:
1С (Код)1234567Document No. 000012 has been sent.Current receivables:Total: 125,000.00 RUBOverdue: 75,000.00 RUBA detailed statement is attached.## 6. Delivery queue
Messages should not be sent directly from the document form. This can cause user interface delays and makes it difficult to retry failed messages.
Create an information register or a dedicated accumulation register for the outgoing queue. For example:
1С (Код)1TelegramOutgoingMessagesPossible fields:
— Message ID;
— Customer;
— TelegramChatID;
— Source object;
— Source document;
— Message type;
— Text;
— File address;
— File name;
— Status;
— Attempt count;
— Last attempt date;
— Next attempt date;
— Telegram message ID;
— Error text;
— Created by;
— Creation date.Statuses:
1С (Код)12345PendingInProgressSentErrorCancelledA scheduled job should process the queue, for example every minute.
The scheduled job must:
1. Select messages with status
Pending;
2. Check that the Telegram account is active;
3. Send the message or file;
4. Save the Telegram response;
5. Set statusSent;
6. If an error occurs, increase the attempt count;
7. Retry temporary errors;
8. Mark the message asErrorafter the maximum number of attempts.Temporary errors include:
— Telegram server unavailable;
— Network timeout;
— HTTP 429;
— Temporary 5xx response.Permanent errors include:
— Chat not found;
— Bot blocked by the customer;
— Invalid chat ID;
— File not found;
— Unauthorized bot token.The same document must not be sent twice accidentally. A uniqueness key should be created from:
1С (Код)1Customer + SourceDocument + MessageType + FileVersion## 7. Receiving Telegram messages
For receiving orders and requests from customers, it is better to use a webhook.
Example:
1С (Код)1https://your-server.example.com/telegram/webhookTelegram sends incoming messages to this address. The web server then transfers the data to 1C.
If the 1C infobase is not publicly available, use one of these approaches:
— A small external gateway on a public server;
— Telegram polling through a scheduled job;
— A corporate integration service;
— 1C server publication via HTTPS.For a simple installation, polling through
getUpdatescan be used. For a production environment with multiple customers, webhook mode is preferable.The received message should be stored in an incoming message register before processing. This prevents data loss and allows repeated processing.
Possible register:
1С (Код)1TelegramIncomingMessagesFields:
— Telegram update ID;
— Telegram chat ID;
— Telegram user ID;
— Message text;
— Message date;
— Attached file identifier;
— Processing status;
— Processing error;
— Linked customer.Telegram
update_idshould be checked for uniqueness. The same update must not be processed twice.## 8. Customer menu
After authorization, the bot can show the following menu:
1С (Код)123456📄 My documents💳 Receivables📋 Price list🛒 Place an order👤 My details☎ Contact managerInline buttons are preferable to requiring customers to remember commands.
Example commands:
1С (Код)1234567/start/auth/documents/debt/pricelist/order/help## 9. Price list functionality
The customer should be able to request a price list from Telegram.
Possible scenarios:
### Simple price list
The customer presses:
1С (Код)1📋 Price list1C forms a price list according to predefined rules and sends it as:
— PDF;
— XLSX;
— CSV;
— A link to an online price list.The price list should be generated for the specific customer if customer-specific prices are used.
It may include:
— Product;
— SKU;
— Unit;
— Customer price;
— VAT;
— Available balance;
— Minimum order quantity;
— Delivery information;
— Product characteristics.### Price list parameters
The bot may ask:
1С (Код)1234567891011Select price type:1. Retail2. Wholesale3. Customer priceSelect warehouse:1. Central warehouse2. Regional warehouseInclude only products in stock?Yes / NoThe preferred approach is to create predefined price list profiles in 1C rather than allowing unrestricted parameters from Telegram.
Example configuration object:
1С (Код)1TelegramPriceListSettingsIt can contain:
— Price type;
— Organization;
— Warehouse;
— Currency;
— Output format;
— Availability filter;
— Customer-specific pricing rule;
— Validity period;
— File generation method.For a large catalog, it is better to generate the price list in the background and send it when ready. Otherwise, the Telegram request can wait too long.
## 10. Order placement through Telegram
The order form should work as a dialog.
Example dialog:
1С (Код)123456789101112131415161718192021222324252627282930Bot: Select an action:Customer: Place an orderBot: Enter the product code or name.Customer: Cable NYM 3x2.5Bot: Found:Cable NYM 3x2.5Price: 120.00 RUB/mAvailable: 350 mBot: Enter quantity.Customer: 100Bot: The item has been added.Continue shopping?Yes / Complete orderCustomer: Complete orderBot: Select delivery address:1. Main warehouse2. Customer address3. Enter another addressBot: Order total: 12,000.00 RUB.Confirm the order?Yes / CancelCustomer: YesAfter confirmation, 1C creates a customer order, normally based on the UNF object used for sales orders. The exact object name must be checked in the specific UNF 3 release because it may depend on localization and enabled functional options.
The created order should contain:
— Customer;
— Agreement or contract;
— Organization;
— Warehouse;
— Delivery address;
— Currency;
— Price type;
— Products;
— Quantities;
— Prices;
— Discounts;
— Customer comment;
— Telegram chat ID;
— External order identifier.The Telegram message should include:
1С (Код)12345Your order has been accepted.Order No. 000045 dated 04.11.2026Total: 12,000.00 RUBStatus: Awaiting confirmation by managerThe order should not necessarily be automatically posted or confirmed. A safer first version is:
1. Create the order;
2. Save it;
3. Set statusAwaiting confirmation;
4. Notify the responsible manager;
5. Send the customer an acceptance message.Automatic confirmation can be added later if the business rules are clear.
## 11. Product selection
There are three practical approaches.
### Search by name or article
The customer enters:
1С (Код)1Cable NYM 3x2.51C searches the product catalog and returns the first several matches.
### Search by product code
The customer enters:
1С (Код)1NYM-325This is more reliable for B2B customers.
### Buttons and categories
The bot displays:
1С (Код)1234CablesFittingsToolsElectrical equipmentThe customer then selects a product from the category.
For a large catalog, the bot should not load the entire catalog into every message. Use paging:
1С (Код)1231-1011-20Next page## 12. Business rules for orders
The following rules must be defined in the settings:
— Whether the customer can order only available goods;
— Whether negative stock is allowed;
— Minimum order amount;
— Minimum quantity;
— Customer-specific prices;
— Automatic discounts;
— Delivery method;
— Warehouse selection;
— Payment terms;
— Whether an order requires manager approval;
— Whether the customer may cancel an order;
— Whether an order can be changed after creation.The bot should not allow the customer to change the price manually. The price must be obtained from 1C at the moment the item is added or the order is confirmed.
The price and stock should be checked again immediately before creating the order, because the information shown earlier may already be outdated.
## 13. Telegram messages for document events
The integration can also notify the customer when the document status changes.
Possible events:
— Order accepted;
— Order confirmed;
— Goods shipped;
— Invoice issued;
— Payment received;
— Receivables overdue;
— Customer document generated.Example:
1С (Код)123Order No. 000045 has been confirmed.Planned shipment date: 06.11.2026.These notifications should also be placed into the outgoing queue. The document processing procedure should only create a queue entry and should not make a direct external HTTP call.
## 14. Required extension objects
A typical extension may contain the following objects.
### Catalogs
1С (Код)12TelegramBotsTelegramMessageTemplatesA separate bot catalog is optional if only one bot is used.
### Information registers
1С (Код)123456TelegramCustomerAccountsTelegramIncomingMessagesTelegramOutgoingMessagesTelegramOrderSessionsTelegramPriceListRequestsTelegramSettingsTelegramOrderSessionsis required to store the current state of a customer dialog:— Customer;
— Chat ID;
— Current operation;
— Current step;
— Selected products;
— Temporary order data;
— Session expiration date.For example, the current operation can be:
1С (Код)12345AuthorizationPriceListOrderReceivablesDocumentRequest### Common modules
— TelegramServer;
— TelegramClient;
— TelegramAPI;
— TelegramMessageProcessor;
— TelegramOrderProcessor;
— TelegramPriceListProcessor;
— TelegramDocumentSender;
— TelegramQueueManager.### Scheduled jobs
— Receive Telegram messages;
— Process incoming messages;
— Send outgoing Telegram messages;
— Generate price lists;
— Retry failed messages;
— Clear expired order sessions.## 15. Telegram API error handling
The integration should analyze both HTTP status and the Telegram response body.
Typical errors:
1С (Код)1401 UnauthorizedInvalid bot token.
1С (Код)1400 Bad RequestIncorrect parameters, invalid chat ID or incorrect file.
1С (Код)1403 ForbiddenThe customer blocked the bot.
1С (Код)1404 Not FoundIncorrect Telegram API endpoint.
1С (Код)1429 Too Many RequestsTelegram rate limit. The system should wait for the number of seconds specified in
retry_after.The error text should be recorded in the outgoing message register. The user should see a readable status, for example:
1С (Код)123Telegram: the customer blocked the botTelegram: authorization requiredTelegram: temporary connection error## 16. Security requirements
The following points are important:
— Use HTTPS only;
— Do not expose the bot token in client code;
— Do not trust customer IDs received from Telegram without checking the linked account;
— Do not allow a customer to view another customer’s documents;
— Check ownership of every document before sending it;
— Check customer access before displaying receivables;
— Do not place sensitive financial information in a public group chat;
— Store incoming and outgoing message logs;
— Limit the size of generated files;
— Use expiration time for authorization codes;
— Disable the Telegram account when the customer requests disconnection;
— Log all created orders with the Telegram user and chat ID.A customer must only be able to receive:
1С (Код)1234Documents belonging to the linked customer;Receivables belonging to the linked customer;Prices calculated according to the customer’s rules;Orders created from the linked customer account.## 17. Suggested implementation stages
### Stage 1. Telegram authorization
— Create bot;
— Add settings;
— Implement customer authorization;
— Savechat_id;
— Add test message sending.### Stage 2. Sending documents
— Add “Send via Telegram” command;
— Implement PDF generation;
— Add outgoing queue;
— Add delivery status;
— Add retries and error handling.### Stage 3. Receivables
— Reuse the existing UNF settlement report;
— Generate short text summary;
— Add detailed PDF or Excel statement;
— Add commands for manual and automatic sending.### Stage 4. Price list
— Add price list profiles;
— Implement customer-specific prices;
— Generate PDF or XLSX;
— Add request through the Telegram menu.### Stage 5. Orders
— Implement dialog state machine;
— Search products;
— Add products to a temporary order;
— Recheck prices and availability;
— Create a customer order;
— Notify the manager and customer.### Stage 6. Automatic notifications
— Order status notifications;
— Shipment notifications;
— Payment notifications;
— Overdue receivables notifications.The safest implementation for UNF 3 is an extension with a background queue and a separate Telegram message processor. Directly calling Telegram from document forms or from document posting procedures is undesirable because it creates dependency on the Internet connection and may slow down or interrupt normal work in 1C.
5 ноября 2026 в 15:06 в ответ на: Как в УНФ 3 организовать отправку документов через Telegram и интеграцию бота? #38965Для УНФ 3 это лучше реализовать отдельным расширением, не изменяя типовые объекты конфигурации. Функциональность целесообразно разделить на два блока:
1. Отправка документов из 1С в Telegram.
2. Клиентский Telegram-бот для прайса, взаиморасчетов и оформления заказов.## 1. Отправка документов в Telegram
По механике это будет аналогично отправке по электронной почте, но вместо SMTP используется Telegram Bot API.
### Что должен уметь пользователь 1С
В документах УНФ добавить команду, например:
— «Отправить в Telegram»;
— «Отправить печатную форму в Telegram»;
— «Отправить клиенту в Telegram».Команду можно добавить в формы документов:
— Заказ покупателя;
— Реализация товаров и услуг;
— Счет на оплату;
— Акт выполненных работ;
— УПД или накладная, если используются;
— Заказ поставщику, если требуется отправка поставщикам;
— другие документы с печатными формами.В меню команды нужно дать возможность выбрать:
— конкретную печатную форму;
— несколько печатных форм;
— PDF-файл из присоединенных файлов;
— текстовое сообщение;
— получателя из карточки контрагента;
— получателя из списка пользователей Telegram.Пример сообщения клиенту:
1С (Код)123456Добрый день!Документ: Заказ покупателя № 000012 от 05.11.2026Сумма: 125 400 руб.Документ приложен к сообщению.После текста отправляется файл через метод Telegram
sendDocument.## 2. Какие данные добавить в УНФ
В типовой конфигурации лучше не добавлять реквизиты напрямую. В расширении создаются собственные объекты.
### Справочник «Получатели Telegram»
Рекомендуемые реквизиты:
— Контрагент;
— Партнер;
— Физическое лицо;
— Пользователь 1С;
— ChatID;
— UserID;
— Имя пользователя Telegram;
— Имя;
— Фамилия;
— Номер телефона;
— Статус авторизации;
— Дата авторизации;
— Разрешены уведомления;
— Разрешены документы;
— Разрешены прайс-листы;
— Разрешены взаиморасчеты;
— Разрешено оформление заказов;
— Дата последнего сообщения;
— Дата последней ошибки отправки.Связь с контрагентом должна быть отдельной, а не только по номеру телефона. Один контрагент может иметь несколько Telegram-получателей, например:
— директор;
— бухгалтер;
— менеджер;
— несколько сотрудников клиента.Также желательно предусмотреть отдельный регистр сведений «Связи Telegram»:
— TelegramUserID;
— TelegramChatID;
— Контрагент;
— Партнер;
— Пользователь 1С;
— Дата начала действия;
— Дата окончания действия;
— Статус;
— Способ подтверждения.### Почему нужно хранить именно ChatID
Для отправки сообщения Telegram необходим идентификатор чата. Имя пользователя Telegram не является надежным идентификатором:
— пользователь может изменить username;
— у пользователя может не быть username;
— username может быть неуникальным в бизнес-логике конкретной базы;
— бот не может найти пользователя только по номеру телефона без его предварительного взаимодействия с ботом.## 3. Авторизация клиента в боте
Автоматически отправлять сообщения человеку, который ни разу не запускал бота, нельзя. Клиент должен сначала открыть бота и нажать
/start.Для УНФ лучше использовать авторизацию по одноразовому коду.
### Рекомендуемый вариант
1. В карточке контрагента или партнера в 1С пользователь нажимает «Подключить Telegram».
2. 1С формирует одноразовый код, например:1С (Код)1TG-7F4K923. Клиент открывает бота по ссылке:
1С (Код)1https://t.me/ИмяВашегоБота?start=TG-7F4K924. Telegram передает боту команду
/start TG-7F4K92.
5. Бот передает в 1С:
— Telegram UserID;
— ChatID;
— имя;
— фамилию;
— username;
— код авторизации.
6. 1С находит созданный код и связывает Telegram-пользователя с нужным контрагентом.
7. Одноразовый код блокируется.Это безопаснее, чем сопоставление только по ФИО или имени пользователя Telegram.
### Дополнительный способ
Можно использовать отправку номера телефона через кнопку Telegram «Поделиться контактом». Но номер телефона нужно обязательно проверять:
— номер должен принадлежать именно пользователю, который его отправил;
— нужно сравниватьcontact.user_idиfrom.id;
— номер необходимо нормализовать к единому формату;
— желательно требовать дополнительное подтверждение.Одной проверки номера телефона недостаточно для доступа к финансовой информации. Для взаиморасчетов лучше использовать код авторизации.
## 4. Интеграция с Telegram
Варианты получения сообщений от бота:
### Webhook
Предпочтительный вариант для рабочей системы.
Нужно:
— опубликовать HTTP-сервис 1С;
— обеспечить HTTPS;
— установить webhook Telegram;
— принимать POST-запросы от Telegram;
— быстро возвращать ответ HTTP 200;
— тяжелую обработку передавать в фоновые задания.Схема:
1С (Код)1234567891011Telegram↓ POSTHTTP-сервис 1С↓Регистр входящих сообщений↓Фоновое задание↓Обработка команды↓Ответ через Telegram APIWebhook удобнее для:
— быстрых ответов;
— большого количества пользователей;
— inline-кнопок;
— оформления заказов;
— получения callback-запросов.### Long polling
Можно использовать, если нет возможности публиковать базу УНФ в Интернет.
В этом случае регламентное задание 1С периодически вызывает
getUpdates. Для нормальной работы нужно использовать именно long polling с таймаутом, а не частый короткий опрос.Для файловой базы этот вариант менее удобен, поскольку постоянно работающее задание может мешать другим регламентным заданиям. В таком случае применяют отдельный внешний сервис или промежуточный сервер.
## 5. Отправка печатной формы как PDF
Алгоритм отправки документа:
1. Получить объект документа.
2. Сформировать нужную печатную форму.
3. Вывести печатную форму во временный табличный документ.
4. Сохранить табличный документ во временный PDF-файл.
5. Сформировать подпись и описание файла.
6. Передать файл в Telegram методомsendDocument.
7. Записать результат отправки в журнал.В журнале отправок нужно хранить:
— дату и время;
— документ 1С;
— контрагента;
— ChatID;
— название файла;
— размер файла;
— статус;
— текст ошибки Telegram;
— идентификатор сообщения Telegram;
— количество попыток отправки.Статусы можно сделать такими:
— Подготовлено;
— Отправляется;
— Отправлено;
— Ошибка;
— Повторная отправка;
— Заблокировано пользователем.### Важный технический момент
Для отправки файла нельзя использовать обычный GET-запрос с URL, как для простого сообщения. Метод
sendDocumentтребует multipart-запрос с передачей файла.В 1С это обычно реализуется через:
—
HTTPСоединение;
—HTTPЗапрос;
—ДвоичныеДанные;
— временный файл;
— multipart-форму.Также нужно учитывать ограничение размера файла и таймаут HTTP-соединения.
## 6. Отправка документов автоматически
Кроме ручной команды в форме документа можно реализовать автоматические уведомления.
Например:
— при записи заказа покупателя отправить заказ клиенту;
— после проведения реализации отправить накладную;
— после формирования счета отправить счет на оплату;
— при изменении статуса заказа уведомить клиента;
— при поступлении оплаты отправить уведомление;
— при просрочке оплаты отправить напоминание;
— при готовности заказа отправить сообщение;
— при отгрузке отправить транспортные документы.Для этого в расширении создается справочник «Правила уведомлений Telegram».
Реквизиты правила:
— Вид события;
— Вид документа;
— Статус документа;
— Получатель;
— Шаблон сообщения;
— Печатная форма;
— Отправлять автоматически;
— Использовать фоновую отправку;
— Количество повторов;
— Интервал между повторами.Не рекомендуется отправлять файл непосредственно из обработчика проведения документа. Правильнее:
1. При проведении записать задание на отправку.
2. Регламентное или фоновое задание обработает очередь.
3. После отправки записать результат.Иначе медленный ответ Telegram может увеличить время проведения документа.
## 7. Получение прайс-листа через бота
Прайс-лист лучше не отправлять одной огромной таблицей. В Telegram удобнее сделать меню:
1С (Код)1234567Каталог├─ Все товары├─ По группам├─ Новинки├─ Акционные товары├─ Только товары в наличии└─ Скачать полный прайс### Возможности клиента
Клиент может:
— выбрать вид цены;
— выбрать группу номенклатуры;
— указать склад;
— выбрать характеристику;
— показать только товары в наличии;
— найти товар по строке;
— открыть карточку товара;
— получить цену;
— получить остаток;
— добавить товар в корзину;
— скачать полный прайс-лист в Excel или PDF.### Как определяется цена
Цена должна определяться не из произвольного регистра, а тем же механизмом, который используется в УНФ при продаже:
— вид цены партнера;
— соглашение с клиентом;
— валюта;
— дата действия цены;
— характеристики;
— единица измерения;
— условия отгрузки;
— индивидуальные цены клиента.Для разных клиентов бот должен показывать разные цены. Нельзя просто выводить последний найденный вид цены без проверки соглашения и прав клиента.
### Пагинация
Telegram имеет ограничения на размер callback-данных и количество кнопок. Поэтому список товаров следует выдавать страницами:
1С (Код)12345Товар 1Товар 2Товар 3...◀ Назад 2/15 Далее ▶Для каждой inline-кнопки передается не наименование товара, а короткий идентификатор:
1С (Код)1goods_8F31A2По этому идентификатору 1С однозначно определяет номенклатуру.
## 8. Проверка взаиморасчетов
Это наиболее чувствительная функция, поэтому доступ к ней должен быть только после авторизации.
В меню бота можно сделать:
1С (Код)12345678Взаиморасчеты├─ Текущий долг├─ Просроченная задолженность├─ Состояние расчетов├─ Обороты за период├─ Оплаты├─ Реализации└─ Скачать акт сверки### Что можно показывать
Например:
1С (Код)123456789Контрагент: ООО «Ромашка»Долг: 245 800 руб.Просрочено: 80 000 руб.К оплате в текущем месяце: 120 000 руб.Последние документы:05.11.2026 Реализация №000123 150 000 руб.03.11.2026 Оплата №000087 50 000 руб.### Рекомендуемые ограничения
Для каждого получателя хранить разрешения:
— видеть только свой контрагент;
— видеть все организации или только одну;
— видеть сумму долга;
— видеть документы;
— получать акт сверки;
— видеть себестоимость;
— видеть закупочные цены.Сотруднику клиента нельзя показывать информацию только потому, что он знает ChatID. Связь с контрагентом и права должны проверяться при каждом запросе.
## 9. Получение акта сверки
Пункт «Скачать акт сверки» может работать так:
1. Клиент выбирает период.
2. Выбирает организацию, если доступно несколько организаций.
3. 1С формирует отчет или печатную форму акта сверки.
4. Формирует PDF.
5. Отправляет PDF в Telegram.
6. Записывает операцию в журнал.Формирование отчета лучше выполнять в фоне, особенно если период большой или в базе много документов.
## 10. Оформление заказа через бота
Оформление заказа желательно выполнять через корзину, а не создавать документ сразу после выбора первой позиции.
### Сценарий для клиента
1С (Код)123456789101112131415161718192021Каталог↓Выбор товара↓Выбор характеристики↓Указание количества↓Добавить в корзину↓Просмотр корзины↓Выбор склада↓Выбор способа доставки↓Проверка заказа↓Подтвердить заказ↓Создание заказа покупателя в УНФ### Что хранить по корзине
Создается регистр сведений или отдельный временный объект:
— ChatID;
— Контрагент;
— Партнер;
— Организация;
— Склад;
— Номенклатура;
— Характеристика;
— Единица измерения;
— Количество;
— Цена;
— Сумма;
— Вид цены;
— Дата добавления;
— Идентификатор корзины;
— Статус.Корзину нельзя хранить только в памяти сеанса. При перезапуске сервера или повторной обработке webhook данные должны сохраниться.
### Что создавать в УНФ
После подтверждения создается документ «Заказ покупателя» с заполнением:
— организация;
— партнер;
— контрагент;
— соглашение;
— склад;
— договор;
— вид цены;
— дата отгрузки;
— способ доставки;
— товары;
— количество;
— цена;
— скидка;
— комментарий клиента.Документ лучше создавать непроведенным. Проведение заказа через Telegram имеет риски:
— нет товара в наличии;
— изменилась цена;
— превышен кредитный лимит;
— контрагент заблокирован;
— не выбран договор;
— товар имеет ограничения;
— требуется подтверждение менеджера.Поэтому оптимальный вариант:
1. Создать заказ покупателя в статусе «Черновик» или «Не согласован».
2. Уведомить менеджера.
3. Проверить остатки, цены и задолженность.
4. После подтверждения менеджером перевести заказ в рабочий статус.
5. Отправить клиенту номер заказа.### Защита от двойного заказа
Telegram может повторно отправить webhook, а пользователь может несколько раз нажать кнопку. Поэтому для каждой операции нужно хранить:
—
update_id;
— уникальный идентификатор команды;
— статус обработки;
— дату обработки.Если
update_idуже обработан, повторно создавать заказ нельзя.## 11. Меню бота
Пример структуры меню для клиента:
1С (Код)123456789📦 Каталог🛒 Моя корзина📄 Мои заказы💰 Взаиморасчеты📊 Прайс-лист📑 Документы🚚 Статус доставки👤 Мой профиль☎ Связаться с менеджеромДля сотрудника компании можно сделать другое меню:
1С (Код)12345📋 Новые заказы💰 Дебиторская задолженность📄 Отправить документ📊 Остатки🔔 УведомленияМеню должно формироваться с учетом роли пользователя и привязанного объекта 1С.
## 12. Команды и кнопки
### Обычные кнопки
Подходят для постоянного меню:
— Каталог;
— Мои заказы;
— Взаиморасчеты;
— Помощь;
— Настройки.### Inline-кнопки
Подходят для конкретного сообщения:
— выбрать товар;
— согласовать заказ;
— отменить заказ;
— выбрать склад;
— выбрать вид цены;
— открыть заказ;
— скачать документ;
— следующая страница.В callback нельзя передавать длинный JSON или полное представление объекта. Лучше передавать короткий ключ, например:
1С (Код)1234order_4B7C21product_91F2AEapprove_38A0D1page_3_catalogСам ключ и его срок действия можно хранить в регистре сведений «Сессии Telegram».
## 13. Объекты расширения
Минимальный состав расширения:
### Справочники
— Получатели Telegram;
— Настройки Telegram;
— Шаблоны сообщений;
— Сценарии бота;
— Разрешения Telegram.### Регистры сведений
— Связи Telegram;
— Очередь отправки;
— История отправки;
— Входящие сообщения;
— Обработанные обновления;
— Сессии Telegram;
— Корзины Telegram;
— Одноразовые коды авторизации.### Документы или задания
— Задание на отправку Telegram;
— Заказ из Telegram, если требуется отдельный журнал обмена;
— Запрос на авторизацию клиента.Отдельный документ «Заказ из Telegram» имеет смысл, если требуется:
— контроль ошибок;
— повторное создание заказа;
— ручное подтверждение;
— история действий клиента;
— журнал обмена между Telegram и УНФ.## 14. Безопасность
Обязательно предусмотреть:
— хранение токена бота не в коде;
— хранение токена в настройках с ограничением доступа;
— HTTPS для webhook;
— проверку секретного пути webhook;
— проверку структуры входящего JSON;
— ограничение частоты запросов;
— проверку ChatID при каждой операции;
— запрет просмотра чужих заказов;
— проверку принадлежности товара и цены;
— журналирование операций;
— повторную авторизацию после изменения связи;
— возможность заблокировать пользователя;
— возможность отозвать доступ к Telegram.Токен Telegram нельзя хранить в общем модуле или передавать в клиент. Его следует получать только на сервере из защищенного хранилища настроек.
## 15. Что сделать в первой версии
Для практического внедрения лучше идти по этапам.
### Первый этап
— справочник получателей Telegram;
— авторизация клиента по одноразовой ссылке;
— отправка текстовых сообщений;
— ручная отправка печатных форм из документов;
— отправка PDF;
— журнал отправок;
— повторная отправка при ошибке.### Второй этап
— автоматическая отправка заказа;
— отправка счета и реализации;
— уведомления об оплате;
— уведомления о готовности и отгрузке;
— карточка клиента;
— меню бота.### Третий этап
— прайс-лист;
— поиск товаров;
— остатки;
— карточки товаров;
— скачивание полного прайса;
— индивидуальные цены.### Четвертый этап
— взаиморасчеты;
— акт сверки;
— история оплат;
— уведомления о задолженности;
— ограничения по ролям и организациям.### Пятый этап
— корзина;
— оформление заказа;
— создание заказа покупателя;
— согласование заказа менеджером;
— контроль остатков и кредитного лимита;
— статус заказа и доставки.Для УНФ 3 оптимальная архитектура будет такой: расширение конфигурации, webhook через HTTP-сервис, очередь исходящих сообщений, фоновые задания для формирования PDF и отчетов, справочник связей Telegram с партнерами и строгая авторизация по одноразовому коду. Такой вариант позволит сохранить типовую конфигурацию на поддержке и обновлять УНФ без потери доработок.
5 ноября 2026 в 12:27 в ответ на: Как снять код блокировки в 1С, если его никто не устанавливал? #38963Если код блокировки никто не задавал вручную, это не означает, что блокировки нет. Ее мог установить:
— помощник обновления конфигурации;
— обработка «Тестирование и исправление»;
— скрипт резервного копирования или обновления;
— регламентная процедура;
— администратор через консоль кластера;
— аварийно завершившийся процесс обслуживания базы.При этом сама блокировка могла остаться после сбоя или отключения компьютера.
## Сначала попробуйте снять блокировку через консоль
Для файловой базы
E:BasesBuh:1. На компьютере, где находится база, запустите «Администрирование серверов 1С» или конфигуратор.
2. Откройте информационную базу.
3. Найдите команду Разрешить работу пользователей.
4. Если код не запрашивается, выполните снятие блокировки.
5. Если программа требует код, значит при установке блокировки он все-таки был сохранен, даже если его явно никто не помнит.В некоторых версиях платформы операция находится в свойствах информационной базы или в меню администрирования.
## Проверьте, не установлена ли блокировка в самом конфигураторе
Для файловой базы можно запустить конфигуратор с параметром
/F:1С (Код)1"C:Program Files1cv88.3.27.1688bin1cv8.exe" DESIGNER /F"E:BasesBuh"Если конфигуратор также не запускается из-за запрета начала сеансов, это подтверждает, что блокировка установлена на уровне базы, а не веб-публикации.
Попробуйте запустить режим предприятия с командой разрешения:
1С (Код)1"C:Program Files1cv88.3.27.1688bin1cv8.exe" ENTERPRISE /F"E:BasesBuh" /CРазрешитьРаботуПользователейЕсли команда не сработает и платформа сообщит о необходимости кода, не подставляйте произвольные значения. Универсального стандартного кода у 1С нет.
## Если код неизвестен
В этом случае порядок действий такой:
### 1. Проверьте консоль администрирования
Если база используется через сервер 1С, откройте:
— кластер серверов;
— информационные базы;
— нужную базу;
— свойства блокировки сеансов.В консоли может быть видна установленная блокировка и возможность выполнить Разрешить работу пользователей от имени администратора кластера.
Администратор кластера и пользователь 1С, даже с полными правами в конфигурации, это разные учетные записи. Важно иметь именно административные права на кластер или компьютер с файловой базой.
### 2. Проверьте журнал регистрации
Если в базе ведется журнал регистрации, поищите события перед появлением ошибки:
— установка блокировки начала сеансов;
— запрещение работы пользователей;
— запуск обновления;
— тестирование и исправление;
— завершение сеансов;
— завершение работы пользователей.Особенно проверьте период, когда база последний раз обновлялась или обслуживалась.
### 3. Проверьте скрипты и задания
На сервере найдите
.bat,.cmd,.ps1и задания планировщика Windows. Ищите строки:1С (Код)1РазрешитьРаботуПользователей1С (Код)1ЗапретитьРаботуПользователей1С (Код)1ЗавершитьРаботуПользователей1С (Код)1/UCТакже проверьте программы резервного копирования и обновления. Часто база блокируется перед выполнением обработки, а при аварийном завершении скрипта разблокировка не выполняется.
### 4. Проверьте, не включена ли блокировка при обновлении
Если перед ошибкой выполнялось обновление конфигурации, запустите штатное обновление повторно в том же порядке. Иногда программа обновления сама снимает блокировку после успешного завершения.
Но перед этим обязательно сделайте копию каталога:
1С (Код)1E:BasesBuhКопировать работающую файловую базу обычным копированием нельзя. Сначала завершите все процессы 1С, затем создайте резервную копию средствами 1С или скопируйте каталог при гарантированно закрытой базе.
## Если код действительно потерян
У платформы нет безопасного универсального способа «обнулить» неизвестный код путем удаления отдельного файла или записи в каталоге базы. Не удаляйте вручную файлы
1Cv8.1CD,1Cv8.1CL,1Cv8.1DTи другие служебные файлы.Практические варианты:
1. Снять блокировку через консоль кластера под администратором 1С.
2. Найти код в скрипте или журнале действий.
3. Восстановить резервную копию, сделанную до установки блокировки.
4. Обратиться к специалисту 1С с копией базы для штатного восстановления доступа.Если база файловая и находится на сервере, наиболее правильный вариант, когда код неизвестен, это сначала сделать резервную копию, остановить публикацию, проверить возможность снятия блокировки локальным администрированием базы и только затем восстанавливать резервную копию при необходимости.
Ошибка
[StoredDataError]в данном случае является вторичной. Она появляется потому, что веб-клиент не смог начать сеанс. Сначала нужно снять блокировку начала сеансов, а не исправлять веб-публикацию.5 ноября 2026 в 12:01 в ответ на: Как разрешить работу пользователей и снять блокировку сеансов в 1С? #38961Ошибка означает, что для информационной базы включена блокировка начала новых сеансов. Это не ошибка HTTP, не проблема браузера и не повреждение базы. Веб-клиент обращается к
/e1cib/login, но сервер 1С запрещает создание нового сеанса.Для базы:
1С (Код)1E:BasesBuhнужно снять блокировку пользователей.
## Вариант 1. Через консоль администрирования кластера
Если база серверная:
1. Откройте Консоль администрирования серверов 1С.
2. Подключитесь к нужному кластеру 1С.
3. Откройте раздел Информационные базы.
4. Найдите базуBuh.
5. Откройте контекстное меню базы.
6. Выберите команду, связанную с блокировкой сеансов:
— Разрешить работу пользователей;
— либо Снять блокировку начала сеансов.
7. Укажите код разрешения, который был задан при установке блокировки.
8. Подтвердите операцию.После снятия блокировки повторите вход в веб-клиент.
В разных версиях платформы название команды может немного отличаться. Ищите именно операцию разрешения работы пользователей, а не остановку или перезапуск рабочего процесса.
## Вариант 2. Через команду запуска 1С
Для файловой базы можно выполнить команду:
1С (Код)1ENTERPRISE /F"E:BasesBuh" /CРазрешитьРаботуПользователей /UCКодРазрешенияНапример, если код разрешения был
123456:1С (Код)1ENTERPRISE /F"E:BasesBuh" /CРазрешитьРаботуПользователей /UC123456Команду нужно выполнять от имени пользователя Windows, у которого есть права на каталог базы
E:BasesBuh.Пример полного пути к исполняемому файлу платформы:
1С (Код)1"C:Program Files1cv88.3.27.1688bin1cv8.exe" ENTERPRISE /F"E:BasesBuh" /CРазрешитьРаботуПользователей /UC123456Если установлена 32-разрядная версия платформы, путь может быть таким:
1С (Код)1"C:Program Files (x86)1cv88.3.27.1688bin1cv8.exe" ENTERPRISE /F"E:BasesBuh" /CРазрешитьРаботуПользователей /UC123456Команду можно выполнить из
cmd.exeили сохранить в файлРазрешитьРаботу.bat.## Если код разрешения неизвестен
Параметр
/UCдолжен содержать код, который был указан при установке блокировки. Это не пароль пользователя 1С и не пароль администратора базы.Если код неизвестен, возможны следующие варианты:
1. Посмотреть, кто и каким способом устанавливал блокировку.
2. Проверить регламентные.bat-файлы, скрипты обновления и инструкции администратора.
3. Проверить историю работ по базе. Часто блокировку устанавливают перед:
— обновлением конфигурации;
— тестированием и исправлением;
— загрузкой данных;
— переносом базы;
— резервным копированием;
— массовой обработкой.
4. Попробовать снять блокировку из консоли администрирования кластера, если установленная версия платформы позволяет выполнить эту операцию без повторного ввода кода.
5. Если база файловая и доступна локально, обратиться к администратору 1С или восстановить базу из резервной копии, сделанной до установки блокировки.Не следует удалять или редактировать внутренние файлы базы вручную. Это может привести к повреждению информационной базы.
## Важный момент для файловой базы
Путь
E:BasesBuhуказывает на файловую информационную базу. Если она опубликована через веб-сервер, команда должна выполняться именно на компьютере, где физически находится каталог базы.Если база расположена на сервере, проверьте:
— существует ли каталог
E:BasesBuh;
— имеет ли учетная запись пользователя права чтения и записи;
— не запущена ли база другим процессом монопольно;
— не используется ли одновременно другая копия базы;
— опубликована ли в веб-сервере именно эта база.Если база находится на сетевом ресурсе, не рекомендуется использовать сетевой путь в виде обычной файловой базы через веб-публикацию. Надежнее разместить ее локально на сервере 1С либо перевести в клиент-серверный вариант с SQL Server.
## Если база серверная, а путь указан только в сообщении
В клиент-серверном варианте путь
E:BasesBuhможет быть внутренним путем на сервере 1С. В этом случае запускать команду с локального компьютера пользователя не нужно. Снимайте блокировку через консоль кластера либо выполняйте команду на сервере, где установлен сервер 1С и доступен этот каталог.## Почему появляется HTTP 403 Forbidden
Код:
1С (Код)1HTTP: Forbiddenвозникает потому, что веб-публикация получила запрос на создание сеанса, но сервер 1С ответил отказом. Поэтому настройка CORS, IIS, Apache, очистка паролей браузера и переустановка публикации здесь не помогут.
После снятия блокировки:
1. закройте страницу веб-клиента;
2. откройте ее заново;
3. при необходимости перезапустите веб-сервер или службу сервера 1С;
4. проверьте вход в базу.Если после снятия блокировки ошибка появляется снова, значит какой-то скрипт, обработка обновления или администратор повторно устанавливает запрет начала сеансов. В таком случае нужно искать команды, содержащие:
1С (Код)1УстановитьБлокировкуНачалаСеансовили запуск 1С с параметром установки блокировки пользователей.
5 ноября 2026 в 11:58 в ответ на: Как спроектировать интеграцию кастомных процессов в УНФ 3.0.14.123? #38959Сейчас описать конкретную архитектуру реализации нельзя: не указано, какой именно бизнес-процесс требуется автоматизировать. В УНФ архитектура будет принципиально разной для производства, сервисных заявок, проката, проектных работ, комиссионной торговли, контроля этапов заказа, маршрутизации документов и т. д.
Для УНФ 3.0.14.123 правильный подход на этапе проектирования будет следующим.
## 1. Базовый принцип архитектуры
Сначала используется типовой функционал УНФ, а доработки добавляются только там, где типовая конфигурация не покрывает процесс.
Приоритет реализации:
1. Типовые справочники, документы и регистры УНФ.
2. Типовые настройки, дополнительные реквизиты и сведения.
3. Типовые бизнес-процессы, статусы, задания и права доступа.
4. Расширение конфигурации.
5. Внешние отчеты и обработки.
6. Подписки на события.
7. Новые документы и регистры в расширении.
8. Изменение основной конфигурации только в крайнем случае.Для УНФ желательно не изменять типовую конфигурацию напрямую. Основной объем доработок следует проектировать в расширении конфигурации. Это упростит обновление редакции 3.0 и снизит стоимость сопровождения.
## 2. Что нужно определить до проектирования
Необходимо описать не только желаемый результат, но и сам процесс:
### Организационная структура
— Какие подразделения участвуют.
— Какие склады используются.
— Кто принимает решения.
— Кто создает документы.
— Кто проверяет и утверждает документы.
— Кто отвечает за материальные ценности.
— Какие роли пользователей нужны.### Бизнес-процесс
— С чего начинается процесс.
— Какой документ или событие является основанием.
— Какие этапы проходит операция.
— Какие условия влияют на дальнейший маршрут.
— Какие документы формируются на каждом этапе.
— Чем завершается процесс.
— Какие операции могут быть отменены или возвращены назад.### Объекты учета
— Номенклатура.
— Характеристики.
— Серии.
— Партии.
— Склады и ячейки.
— Контрагенты.
— Договоры.
— Заказы.
— Денежные средства.
— Взаиморасчеты.
— Работы и услуги.
— Сотрудники или исполнители.### Контроль и отчетность
— Что необходимо контролировать.
— Какие остатки и обороты нужны.
— Какие сроки нужно отслеживать.
— Какие показатели нужны руководителю.
— Какие печатные формы обязательны.
— Какие данные должны передаваться во внешние системы.Без этих сведений нельзя корректно решить, будет ли достаточно дополнительного реквизита, нужен ли новый документ, отдельный регистр накопления или полноценная подсистема.
## 3. Как разделять типовой функционал и доработки
Архитектурно каждый требуемый объект нужно разделить на три категории.
### Категория 1. Полностью типовой функционал
Используется без изменения структуры данных и логики проведения.
Например:
— типовой заказ покупателя;
— типовой заказ поставщику;
— реализация товаров и услуг;
— поступление товаров и услуг;
— счет покупателю;
— платежные документы;
— перемещение товаров;
— списание и оприходование;
— отчеты по продажам, остаткам и взаиморасчетам;
— типовые карточки номенклатуры и контрагентов;
— типовые дополнительные реквизиты;
— типовые статусы документов;
— типовые соглашения и договоры;
— типовые печатные формы.В этом случае не создается новый объект. Настраивается существующий функционал, права, формы, отборы, дополнительные реквизиты и командный интерфейс.
### Категория 2. Типовой объект с расширением
Используется типовой документ или справочник, но добавляются данные и проверки.
Примеры:
— дополнительный реквизит у заказа;
— дополнительный реквизит у номенклатуры;
— дополнительный статус;
— дополнительная проверка перед проведением;
— автоматическое заполнение полей;
— дополнительная команда;
— новая печатная форма;
— отчет на основе типовых данных;
— запрет изменения документа после определенного этапа;
— автоматическое создание связанного документа.Такую часть обычно реализуют через:
— расширение конфигурации;
— дополнительные реквизиты и сведения;
— подписки на события;
— расширение формы;
— дополнительные отчеты и обработки;
— отдельные общие модули расширения.Важно не добавлять новые документы, если типовой документ уже отражает эту хозяйственную операцию.
### Категория 3. Отдельный пользовательский функционал
Создается новый объект только в том случае, если типовая модель не подходит.
Новый документ требуется, когда:
— операция имеет самостоятельный юридический или управленческий смысл;
— у нее собственный жизненный цикл;
— она должна проводиться независимо;
— у нее собственный набор реквизитов;
— она формирует собственные движения;
— она участвует в отчетности;
— требуется отдельная нумерация и права доступа.Новый справочник требуется, когда:
— имеется самостоятельный классификатор;
— элементы используются в нескольких документах;
— по элементам необходимо хранить свойства;
— требуется отдельный список, отбор или отчетность.Новый регистр требуется, когда:
— типовых данных недостаточно;
— необходимо хранить историю состояний;
— требуется учитывать остатки, резервы, лимиты или задолженности;
— информация не должна храниться только в реквизитах документа;
— данные должны использоваться несколькими документами и отчетами.## 4. Предлагаемая архитектура решения
Для большинства нестандартных процессов в УНФ можно использовать следующую структуру.
### Типовые объекты УНФ
Типовые документы остаются основанием для отражения хозяйственных операций:
— заказ;
— поступление;
— реализация;
— перемещение;
— списание;
— оплата;
— возврат;
— производство или выполнение работ, если это предусмотрено процессом.Типовые документы отвечают за:
— остатки;
— себестоимость;
— продажи;
— закупки;
— взаиморасчеты;
— денежные операции;
— бухгалтерскую или управленческую аналитику, если она используется в базе.### Дополнительные реквизиты
Дополнительными реквизитами следует реализовывать простые признаки:
— внешний номер;
— ответственный;
— направление;
— проект;
— объект работ;
— приоритет;
— причина;
— вид операции;
— источник заявки;
— дата планового завершения;
— признак обязательной проверки;
— пользовательский статус.Дополнительные реквизиты подходят, если значение является свойством объекта и не имеет сложной логики.
Не следует использовать дополнительные реквизиты для хранения:
— списка этапов;
— истории изменений;
— нескольких связанных строк;
— остатков и резервов;
— информации, по которой требуется сложная отчетность;
— данных, влияющих на движения по регистрам.Для таких случаев нужны табличные части, отдельные документы или регистры.
### Дополнительные сведения
Дополнительные сведения подходят для информации, которая:
— относится к объекту;
— может изменяться со временем;
— имеет разные значения для разных объектов;
— не должна перегружать основную форму;
— не участвует напрямую в типовом проведении.Например, параметры объекта, технические характеристики, дополнительные контактные данные, признаки интеграции.
### Статусы
Статус следует использовать для управления жизненным циклом объекта:
— новая;
— в работе;
— на проверке;
— согласована;
— выполнена;
— отменена;
— закрыта.Но один статус не должен заменять полноценную историю процесса. Если нужно видеть, кто, когда и почему изменил состояние, необходим отдельный регистр сведений или документ регистрации этапа.
### Новый документ регистрации операции
Если в процессе имеются этапы, которые должны фиксироваться документально, рекомендуется создать отдельный документ в расширении.
Например:
— заявка на выполнение работ;
— регистрация приемки;
— передача в обработку;
— подтверждение этапа;
— контроль качества;
— фиксация отклонения;
— закрытие задания.Документ может:
— ссылаться на типовой заказ;
— содержать табличную часть;
— хранить ответственных;
— фиксировать даты;
— менять статус основного объекта;
— формировать движения по пользовательским регистрам;
— создавать типовые документы на следующем этапе.## 5. Жизненный цикл объекта
До создания объектов нужно описать состояние каждого основного объекта.
Например:
1. Создан.
2. Проверен.
3. Принят в работу.
4. Передан исполнителю.
5. Выполняется.
6. Ожидает проверки.
7. Требует корректировки.
8. Завершен.
9. Закрыт.
10. Отменен.Для каждого состояния необходимо определить:
— кто может перевести объект в это состояние;
— какие поля обязательны;
— какие документы можно создавать;
— разрешено ли редактирование;
— можно ли вернуть объект на предыдущий этап;
— требуется ли согласование;
— нужно ли фиксировать дату и пользователя;
— какие уведомления или задания создаются.Это важнее, чем сразу проектировать форму. Если жизненный цикл не определен, доработка обычно превращается в набор несвязанных кнопок и проверок.
## 6. Где использовать подписки на события
Подписки на события целесообразны для независимой логики, которая должна работать при изменении типовых объектов.
Подписками можно реализовать:
— автоматическое заполнение реквизитов;
— контроль обязательных полей;
— проверку запретов;
— создание связанных записей;
— запись информации в регистр сведений;
— синхронизацию дополнительных данных;
— контроль изменения типового документа.Но подписка не должна полностью заменять штатную логику проведения документа. Если требуется серьезно изменить движения типового документа, сначала нужно проверить, можно ли решить задачу отдельным документом корректировки или регламентной операцией.
Особенно осторожно следует изменять проведение, потому что от него зависят:
— остатки;
— себестоимость;
— взаиморасчеты;
— отчеты;
— резервы;
— закрытие периода.## 7. Где использовать отдельный регистр сведений
Регистр сведений нужен для хранения информации, которая не является остатком, но имеет историю или периодичность.
Примеры:
— история статусов;
— история назначения ответственных;
— плановые даты этапов;
— соответствия внешних идентификаторов;
— параметры интеграции;
— настройки маршрута;
— лимиты;
— результаты проверок;
— связь объекта с несколькими исполнителями;
— история причин отклонения.Регистр сведений должен иметь понятную структуру измерений и ресурсов. Не следует создавать один универсальный регистр с полями «Тип значения», «Имя свойства» и «Значение», если по этим данным потребуется регулярная отчетность. Такая модель гибкая, но значительно усложняет контроль типов, запросы и сопровождение.
## 8. Где использовать регистр накопления
Регистр накопления необходим, если требуется учитывать:
— остатки;
— резервы;
— доступное количество;
— лимиты;
— задолженность по пользовательской операции;
— количество на этапах;
— незавершенное выполнение;
— распределение ресурсов.Например, если нужно видеть, сколько товаров находится:
— в ожидании приемки;
— на проверке;
— у исполнителя;
— на доработке;
— готово к передаче,то простого статуса будет недостаточно. Понадобится регистр накопления либо отдельная модель учета по этапам.
## 9. Архитектура интерфейса
Для пользователей желательно проектировать не доступ ко всем объектам УНФ, а рабочие места по ролям.
Например:
### Менеджер
— создание заказа;
— контроль статуса;
— работа с клиентом;
— печать документов;
— просмотр задолженности;
— запуск согласования.### Кладовщик
— приемка;
— отбор;
— перемещение;
— контроль остатков;
— печать складских документов;
— подтверждение фактического количества.### Исполнитель
— список назначенных заданий;
— изменение статуса;
— ввод результата;
— указание фактических трудозатрат;
— фиксация отклонений.### Руководитель
— контроль просроченных операций;
— показатели по этапам;
— отклонения от плана;
— отчеты по сотрудникам;
— согласование.В УНФ следует по возможности использовать стандартные формы и расширять их, а не создавать полностью независимый интерфейс без необходимости. Новое рабочее место оправдано, когда пользователю нужно выполнять последовательность операций в одном окне и стандартное меню существенно замедляет работу.
## 10. Отчеты
Отчеты нужно проектировать от управленческих вопросов, а не от таблиц базы.
Для каждого отчета определить:
— кто его пользователь;
— какое решение принимается на его основании;
— периодичность использования;
— основные отборы;
— расшифровки;
— показатели;
— источник данных;
— допустимую задержку данных.Типовые отчеты следует использовать для:
— продаж;
— закупок;
— остатков;
— взаиморасчетов;
— денежных средств;
— рентабельности, если типовой функционал это поддерживает.Новые отчеты нужны, если требуется анализ пользовательских этапов, нестандартных статусов, дополнительных регистров или объединение данных нескольких подсистем.
## 11. Права доступа
Права проектируются вместе с процессом, а не после разработки.
Нужно определить:
— кто видит объект;
— кто создает;
— кто изменяет;
— кто проводит;
— кто отменяет проведение;
— кто переводит статус;
— кто видит суммы;
— кто видит себестоимость;
— кто может изменять данные задним числом;
— кто имеет доступ к пользовательским отчетам.Не следует выдавать пользователям полный доступ к документу только потому, что им нужно нажать одну кнопку. Для таких случаев лучше проектировать отдельную команду и проверку полномочий.
При необходимости вводятся ограничения доступа:
— по организации;
— по складу;
— по подразделению;
— по ответственному;
— по группе пользователей;
— по проекту;
— по статусу документа.## 12. Интеграции
Если предусмотрен обмен с сайтом, CRM, маркетплейсом, мобильным приложением или другой базой, это нужно учитывать сразу.
Для каждой интеграции определить:
— какая система является владельцем данных;
— какие объекты передаются;
— направление обмена;
— периодичность;
— идентификатор объекта во внешней системе;
— правила повторной отправки;
— обработка дублей;
— обработка ошибок;
— журнал обмена;
— возможность ручного повтора;
— правила удаления или отмены объекта.В расширении следует предусмотреть отдельные регистры для внешних идентификаторов и состояния обмена. Не стоит хранить эти данные только в комментариях или произвольных дополнительных реквизитах.
## 13. Что должно быть результатом проектирования
До начала разработки необходимо подготовить следующие документы:
1. Описание бизнес-процесса.
2. Схему этапов и переходов.
3. Матрицу «типовой функционал / доработка».
4. Перечень пользователей и ролей.
5. Перечень объектов метаданных.
6. Таблицу реквизитов и источников заполнения.
7. Описание движений и регистров.
8. Перечень отчетов.
9. Перечень печатных форм.
10. Описание прав доступа.
11. Описание интеграций.
12. План тестирования.
13. План обновления типовой конфигурации.
14. План переноса начальных данных.Практическая таблица для проектирования может иметь такой вид:
| Требование | Типовой объект | Решение | Способ реализации |
|—|—|—|—|
| Хранить дополнительный признак | Типовой документ | Использовать типовой документ | Дополнительный реквизит |
| Контролировать этапы | Заказ | Расширить типовой объект | Статусы, проверки, история |
| Хранить несколько исполнителей | Заказ | Недостаточно реквизита | Табличная часть или отдельный регистр |
| Учитывать количество на этапах | Товар или заказ | Нужен количественный учет | Регистр накопления |
| Формировать нестандартный документ | Типового объекта нет | Создать новый объект | Документ расширения |
| Получать управленческий показатель | Несколько объектов | Нужен отдельный отчет | Дополнительный отчет |
| Автоматически создавать запись | Изменение документа | Использовать событие | Подписка на событие |
| Обмениваться с внешней системой | Документ или справочник | Нужен контроль обмена | Регистр идентификаторов и журнал обмена |## 14. Какие данные необходимы для конкретного архитектурного решения
Для подготовки именно вашей архитектуры нужно описать:
1. Чем занимается компания.
2. Какой процесс требуется автоматизировать.
3. С какого события начинается процесс.
4. Какие этапы он проходит.
5. Какие типовые документы УНФ уже используются.
6. Что именно отсутствует в типовом функционале.
7. Какие данные нужно хранить дополнительно.
8. Какие отчеты и печатные формы нужны.
9. Какие пользователи будут работать в системе.
10. Какие ограничения по правам требуются.
11. Нужен ли обмен с другими системами.
12. Есть ли уже работающая база и данные, которые нельзя потерять.После этого архитектуру можно описать уже предметно: какие объекты УНФ оставить типовыми, какие расширить, какие добавить в расширение, какие регистры использовать, как устроить статусы, права, документы, отчеты и обмен.
5 ноября 2026 в 10:23 в ответ на: Как реализовать интеграцию УНФ с Telegram для отправки документов и заказов? #38957В УНФ 3 такую возможность лучше реализовать не изменением типовой конфигурации, а отдельным расширением. Функционально это будет единый Telegram-сервис для клиентов:
1. отправка печатных форм документов;
2. отправка текущей задолженности;
3. отправка прайс-листа;
4. прием заказа от клиента через Telegram;
5. создание заказа покупателя в УНФ;
6. уведомление клиента о статусе заказа и оплате.Полностью штатной настройки «подключить Telegram аналогично электронной почте» в УНФ обычно нет. Потребуется разработка интеграции с Telegram Bot API.
## 1. Как клиент будет связываться с Telegram
Главный идентификатор клиента в Telegram, это не номер телефона и не ФИО, а
chat_id.Рекомендуемый способ привязки:
1. В УНФ у клиента создается персональная ссылка, например:
1С (Код)1https://t.me/ИмяВашегоБота?start=client_8f3a912. Ссылка отправляется клиенту по электронной почте, SMS или передается менеджером.
3. Клиент нажимает ссылку и запускает бота.
4. Бот получаетchat_idклиента и код привязки.
5. В УНФ сохраняется связь:1С (Код)12345Клиент УНФTelegramChatIDДата привязкиСтатус привязкиДата последнего взаимодействияНе следует определять клиента только по имени пользователя Telegram. Оно может отсутствовать или измениться.
Лучше добавить в расширение регистр сведений, например:
1С (Код)1ТелеграммКлиентыИзмерения:
— Клиент;
— Организация, если в базе используется несколько организаций;
— TelegramChatID.Ресурсы и реквизиты:
— ДатаПривязки;
— ИмяПользователяTelegram;
— Активна;
— ДатаПоследнегоСообщения;
— КодПривязки;
— Комментарий.У одного клиента может быть несколько Telegram-чатов, например у директора, бухгалтера и менеджера. Поэтому не обязательно ограничивать связь одним
chat_id.## 2. Отправка документов клиенту
В карточке клиента или в списке документов необходимо добавить команду:
1С (Код)1Отправить в TelegramТакже удобно добавить команду в формы документов:
— Заказ покупателя;
— Реализация товаров и услуг;
— Счет покупателю;
— Акт выполненных работ;
— УПД или счет-фактура, если они используются;
— Коммерческое предложение;
— Другие печатные формы, которые уже доступны в УНФ.Логика должна быть аналогичной отправке по электронной почте:
1. пользователь открывает документ;
2. нажимает «Отправить в Telegram»;
3. система проверяет наличие привязанного Telegram-клиента;
4. формирует печатную форму;
5. преобразует ее в PDF;
6. отправляет файл через Telegram Bot API;
7. записывает результат отправки в журнал.Дополнительно можно добавить флажки:
1С (Код)123Отправить документОтправить задолженностьОтправить комментарийНапример, при отправке реализации клиенту можно автоматически отправлять:
— PDF реализации;
— PDF счета;
— текущую задолженность;
— текстовое сообщение с суммой документа и сроком оплаты.Пример сообщения:
1С (Код)12345678Документ Реализация №000012 от 04.11.2026Сумма документа: 125 000 руб.К оплате по документу: 125 000 руб.Текущая задолженность клиента: 318 500 руб.Документ прикреплен к сообщению.### Как получать печатную форму
В расширении не нужно заново разрабатывать печатные формы. Желательно использовать существующие типовые механизмы УНФ:
1. получить табличный документ штатной печатной формы;
2. сохранить его во временный файл PDF;
3. передать файл в Telegram;
4. удалить временный файл после отправки.Если типовая печатная форма не поддерживает прямое формирование PDF, можно использовать один из вариантов:
— формирование табличного документа и запись в PDF;
— серверный внешний конвертер;
— отдельный сервис преобразования;
— отправка файла в формате Excel, если PDF не обязателен.Для серверной базы важно, чтобы формирование и отправка выполнялись на сервере, а не через локальный диск компьютера пользователя.
## 3. Отправка задолженности
Задолженность лучше реализовать двумя способами.
### Вариант 1. Отправка текстовой информации
Самый простой вариант, не требующий формирования отчета:
1С (Код)12345678910Информация по взаиморасчетамКлиент: ООО «Ромашка»Просроченная задолженность: 150 000 руб.Текущая задолженность: 168 500 руб.Авансы: 0 руб.Всего к оплате: 168 500 руб.По состоянию на 04.11.2026Точные показатели зависят от того, какие данные ведутся в конкретной базе:
— задолженность по заказам;
— задолженность по реализации;
— задолженность по договорам;
— задолженность по организациям;
— просроченная задолженность;
— сумма авансов.Нужно выбрать один вариант как основной, чтобы данные Telegram совпадали с отчетами УНФ.
### Вариант 2. Отправка отчета в PDF
Можно формировать и отправлять клиенту PDF-отчет:
1С (Код)1Взаиморасчеты с клиентомВ отчет можно включить:
— документ расчетов;
— дату документа;
— срок оплаты;
— сумму документа;
— оплату;
— остаток;
— просрочку;
— итоговую задолженность.Наиболее практичный вариант: отправлять короткую сводку текстом, а при необходимости прикладывать подробный PDF.
Кнопки в Telegram:
1С (Код)123Моя задолженностьПодробный отчетОбновить данныеПри нажатии «Моя задолженность» бот выполняет запрос к УНФ и возвращает актуальные данные.
## 4. Автоматическая отправка задолженности вместе с документом
В настройках расширения можно добавить параметры:
1С (Код)1234Отправлять задолженность при отправке документовВключать просроченную задолженностьОтправлять расшифровку задолженности PDF-файломУказывать дату, на которую рассчитана задолженностьТакже желательно сделать настройку по клиентам или группам клиентов:
— отправлять задолженность всем;
— отправлять только юридическим лицам;
— отправлять только при наличии долга;
— отправлять только менеджеру клиента;
— не отправлять задолженность, если сумма равна нулю.Пример правила:
1С (Код)123Если задолженность > 0, отправить сводку.Если просрочка > 0, выделить ее отдельным сообщением.Если задолженность равна 0, написать «Задолженность отсутствует».## 5. Получение прайс-листа
В Telegram можно реализовать несколько вариантов прайс-листа.
### Простой вариант, единый файл
В УНФ формируется стандартный прайс-лист в PDF или Excel. Клиент нажимает:
1С (Код)1Получить прайс-листБот отправляет актуальный файл.
Файл можно формировать:
— по определенному виду цен;
— по конкретному типу цен;
— по группе номенклатуры;
— с остатками;
— без остатков;
— только по товарам, доступным к продаже;
— с минимальными партиями;
— с фотографиями или характеристиками, если это необходимо.В настройках интеграции следует указать:
1С (Код)123456Тип цен для TelegramСклад для определения остатковПоказывать остаткиПоказывать ожидаемое поступлениеФормат файлаПериодичность обновления### Более удобный вариант, каталог в боте
Бот показывает разделы:
1С (Код)123456КаталогПоиск товараПопулярные товарыНовинкиАкцииМоя корзинаКлиент выбирает:
1. группу товаров;
2. товар;
3. характеристику;
4. количество;
5. добавляет товар в корзину.В карточке товара можно показывать:
— наименование;
— артикул;
— цену;
— остаток;
— единицу измерения;
— кратность упаковки;
— фотографию;
— описание;
— срок поставки.Для большого ассортимента не рекомендуется отправлять весь каталог в виде длинного списка сообщений. Лучше использовать:
— постраничную навигацию;
— поиск по артикулу;
— поиск по наименованию;
— Telegram Web App;
— ссылку на веб-каталог.## 6. Оформление заказа через Telegram
Заказ можно оформлять непосредственно в чате.
Пример сценария:
1С (Код)1234567КаталогТоварыКабель ВВГ 3х2,5Цена: 180 руб.Остаток: 245 мДобавить в заказКлиент добавляет товары в корзину, после чего нажимает:
1С (Код)1Оформить заказБот запрашивает:
1. организацию или покупателя;
2. договор, если он используется;
3. склад;
4. способ доставки;
5. адрес доставки;
6. желаемую дату;
7. комментарий;
8. контактное лицо;
9. подтверждение заказа.Перед подтверждением выводится итог:
1С (Код)1234567891011ЗаказКабель ВВГ 3х2,510 м × 180 руб. = 1 800 руб.Итого: 1 800 руб.Доставка: не включенаСпособ оплаты: безналичный расчетПодтвердить заказ?После подтверждения в УНФ создается документ:
1С (Код)1Заказ покупателяЗаполняются:
— клиент;
— организация;
— договор;
— склад;
— вид цен;
— товары;
— количество;
— цена;
— сумма;
— способ доставки;
— адрес доставки;
— комментарий;
— источник заказа: Telegram.В документ можно записывать дополнительные реквизиты:
1С (Код)123ИсточникЗаказа = TelegramTelegramChatIDTelegramMessageIDЕсли в УНФ используется заказ клиента другого типа, необходимо использовать именно тот объект, который уже является основным документом продаж в данной конфигурации. Название и состав реквизитов нужно проверить по конкретному релизу УНФ 3.
После создания заказа бот отправляет клиенту:
1С (Код)1234567Заказ №000145 создан.Сумма заказа: 85 400 руб.Менеджер: Иванов ИванОжидаемая дата поставки: 08.11.2026Документ отправлен менеджеру на обработку.## 7. Согласование заказа менеджером
Создавать заказ сразу проведенным документом не рекомендуется.
Безопаснее использовать следующий порядок:
1. Telegram создает заказ в УНФ;
2. заказ записывается без проведения или с отдельным статусом;
3. менеджер проверяет цены и наличие;
4. менеджер корректирует заказ при необходимости;
5. клиент получает подтверждение;
6. заказ переводится в рабочий статус.Это особенно важно, если:
— цена зависит от клиента;
— требуется согласование скидки;
— остаток может измениться;
— товар продается кратно упаковке;
— доставка рассчитывается отдельно;
— есть кредитный лимит;
— имеется просроченная задолженность.Можно сделать автоматическую блокировку создания заказа при превышении задолженности:
1С (Код)12Если ПросроченнаяЗадолженность > ДопустимыйЛимитТогда заказ создать, но установить статус «Требует согласования».Либо полностью запретить оформление заказа через Telegram для клиентов с просрочкой.
## 8. Уведомления клиенту
После изменения состояния документа бот может отправлять уведомления:
— заказ принят;
— заказ согласован;
— заказ изменен менеджером;
— заказ готов к отгрузке;
— заказ отгружен;
— документ сформирован;
— поступила оплата;
— появилась задолженность;
— изменилась сумма задолженности.Пример:
1С (Код)1234Заказ №000145 подтвержден.Сумма: 85 400 руб.Планируемая отгрузка: 08.11.2026.Для этого можно использовать регламентное задание, которое периодически проверяет изменения документов. Если используется платформа 8.3.26 или новее, уведомления клиентского приложения 1С можно применять для внутренних уведомлений пользователей, но для Telegram все равно потребуется обращение к Telegram Bot API.
## 9. Способы подключения Telegram к 1С
Есть три основных варианта.
### Вариант 1. Прямая интеграция из 1С
УНФ напрямую обращается к Telegram Bot API.
Плюсы:
— нет отдельного промежуточного сервиса;
— вся логика находится в расширении;
— проще контролировать данные внутри базы.Минусы:
— сложнее реализовать прием входящих сообщений;
— нужно настраивать webhook или регламентный обмен;
— требуется корректно работать с multipart-загрузкой файлов;
— необходимо учитывать ограничения веб-сервера и SSL;
— отладка сложнее.Подходит для отправки документов, прайс-листов и уведомлений.
### Вариант 2. Промежуточный Telegram-сервис
Создается небольшой сервис, например на Python, Node.js или другом серверном языке.
Схема:
1С (Код)11С УНФ <--> Интеграционный сервис <--> TelegramСервис отвечает за:
— получение сообщений от Telegram;
— хранение состояния диалога;
— отправку файлов;
— кнопки и команды;
— повторную отправку;
— ведение технических логов.1С передает сервису команды:
1С (Код)1234Отправить документПолучить задолженностьПолучить прайс-листСоздать заказПлюсы:
— проще реализовать полноценный чат;
— удобнее работа с webhook;
— проще поддерживать меню и корзину;
— можно масштабировать интеграцию.Минусы:
— появляется отдельный сервер;
— необходимо защищать API;
— возникает дополнительный компонент, который нужно сопровождать.Для полноценного каталога и оформления заказов этот вариант обычно наиболее надежный.
### Вариант 3. Готовый сервис интеграции
Можно использовать готовую платформу, которая уже умеет работать с Telegram, а в УНФ подключить API.
При выборе нужно проверить:
— есть ли интеграция именно с УНФ 3;
— создаются ли реальные документы в УНФ;
— поддерживаются ли печатные формы;
— передается ли задолженность;
— где хранятся данные клиентов;
— можно ли выгрузить историю;
— есть ли API и документация;
— кто имеет доступ к документам и персональным данным.## 10. Передача файлов в Telegram
Для документов используется метод Telegram Bot API
sendDocument.Обычно отправляются:
— PDF;
— XLSX;
— ZIP, если нужно передать несколько документов;
— изображения, если документ формируется как изображение.Печатные формы лучше отправлять PDF-файлами. Название файла следует формировать понятно:
1С (Код)1234Реализация_000145_от_04.11.2026.pdfСчет_000145_от_04.11.2026.pdfЗадолженность_ООО_Ромашка_на_04.11.2026.pdfПрайс-лист_Основной_04.11.2026.xlsxНужно предусмотреть обработку ошибок:
— клиент не запускал бота;
— пользователь заблокировал бота;
— истекла привязка;
— Telegram временно недоступен;
— файл слишком большой;
— ошибка формирования печатной формы;
— отсутствует клиент;
— документ не записан;
— нет прав на чтение документа.Результат каждой отправки следует записывать в журнал:
1С (Код)123456789ДатаПользователь 1СКлиентДокументTelegramChatIDТип сообщенияСтатусТекст ошибкиTelegramMessageID## 11. Необходимые настройки в УНФ
В расширении желательно сделать отдельную форму:
1С (Код)1Настройки интеграции с TelegramПараметры:
— токен Telegram-бота;
— адрес промежуточного сервиса, если он используется;
— вид цен;
— склад;
— организация по умолчанию;
— договор по умолчанию;
— разрешить отправку документов;
— разрешить отправку задолженности;
— разрешить выдачу прайс-листа;
— разрешить оформление заказов;
— разрешить просмотр остатков;
— максимальная сумма заказа без согласования;
— допустимая задолженность;
— шаблоны сообщений;
— период обновления прайс-листа;
— пользователи 1С, которым разрешена отправка;
— группы клиентов, которым доступен бот.Токен бота нельзя хранить в открытом виде в общем реквизите формы или в коде расширения. Его нужно хранить в защищенном хранилище настроек или в отдельном безопасном регистре с ограничением прав доступа.
## 12. Права и безопасность
Обязательно нужно предусмотреть:
— проверку привязанного клиента;
— запрет просмотра задолженности другого клиента;
— запрет получения документов другого клиента;
— проверку принадлежности заказа клиенту;
— раздельный доступ по организациям;
— журналирование операций;
— возможность отключить Telegram для конкретного клиента;
— возможность удалить привязку;
— ограничение команд по клиентскому статусу;
— запрет передачи внутренних закупочных цен;
— проверку максимального размера файла;
— ограничение частоты запросов.Особенно важно не искать клиента по произвольному тексту, который прислал пользователь Telegram. Идентификация должна выполняться по подтвержденной привязке
chat_id.## 13. Рекомендуемая структура расширения
В расширении можно предусмотреть следующие объекты:
### Общие модули
1С (Код)12345678ТелеграммСерверТелеграммAPIТелеграммДокументыТелеграммЗадолженностьТелеграммПрайсЛистТелеграммЗаказыТелеграммОбменТелеграммСлужебный### Регистр сведений
1С (Код)1ТелеграммКлиенты### Регистр сведений для очереди
1С (Код)1ТелеграммОчередьОтправкиВ очереди можно хранить:
— получателя;
— тип сообщения;
— документ;
— файл;
— текст;
— количество попыток;
— дату следующей попытки;
— статус;
— ошибку.Это позволит не задерживать работу пользователя УНФ, пока отправляется большой PDF-файл.
### Регламентные задания
1С (Код)1234ОбработкаОчередиТелеграммПолучениеСообщенийТелеграммПроверкаСтатусовЗаказовТелеграммОбновлениеПрайсЛистаТелеграммДля отправки документов достаточно очереди. Для интерактивного бота потребуется либо webhook, либо регулярный опрос Telegram методом
getUpdates.## 14. Что включить в техническое задание
В ТЗ стоит зафиксировать следующие функции.
### Работа с клиентом
— создание ссылки привязки;
— привязка клиента к Telegram;
— повторная привязка;
— отключение Telegram;
— просмотр статуса привязки.### Документы
— отправка документов из формы документа;
— массовая отправка документов;
— автоматическая отправка после проведения;
— выбор печатных форм;
— отправка в PDF;
— отправка комментария;
— журнал отправки.### Задолженность
— текущая задолженность;
— просроченная задолженность;
— расшифровка по документам;
— отправка текстом;
— отправка PDF;
— дата актуальности;
— ограничение просмотра.### Прайс-лист
— выгрузка PDF;
— выгрузка Excel;
— фильтр по виду цен;
— фильтр по группам;
— показ остатков;
— каталог товаров;
— поиск товаров.### Заказы
— корзина;
— добавление и удаление товаров;
— изменение количества;
— расчет суммы;
— выбор адреса доставки;
— комментарий клиента;
— создание заказа в УНФ;
— проверка задолженности;
— согласование менеджером;
— уведомление о статусе.### Администрирование
— токен бота;
— шаблоны сообщений;
— права пользователей;
— журнал ошибок;
— очередь отправки;
— повторная отправка;
— ограничение клиентов;
— настройки цен и складов.Для первого этапа разумно сделать прямую отправку документов и задолженности, а также выдачу готового прайс-листа. Вторым этапом добавить каталог с корзиной и созданием заказа. Полноценный заказный сценарий требует больше проверок, чем обычная отправка файлов, особенно при использовании индивидуальных цен, скидок, резервов и контроля задолженности.
5 ноября 2026 в 2:15 в ответ на: Каковы особенности метода НайтиПоСсылкам() в 1С для разных версий? #38955Согласен с выводом: в первом ответе я должен был сразу дать полный синтаксис и пояснить результат, а не ждать поправки.
Для старых версий платформы точные названия и структура колонок зависят от версии; без проверки документации именно для нужного релиза не буду утверждать, что в 8.0/8.1 результат обязательно имел конкретный формат. На больших базах
НайтиПоСсылкам()может быть затратным: область поиска и списки включаемых/исключаемых объектов стоит ограничивать, а для известных таблиц и условий рассмотреть адресные запросы.По нетиповой конфигурации, которую я не видел, однозначно судить нельзя: нужны версия платформы и конфигурации, а часто — фрагмент кода, структура метаданных или воспроизводимый пример.
Здравствуйте, Plan!
Нет, штатного симметричного метода
ПолучитьОбратнуюСсылку()в платформе 1С:Предприятие 8.3 нет.Обратные ссылки ищут штатно через **поиск ссылок на объект** — например, методом глобального контекста
НайтиПоСсылкам(). Он возвращает места, где используются переданные ссылки:1С (Код)1РезультатПоиска = НайтиПоСсылкам(МассивСсылок);В параметр передают массив ссылок на объекты, которые нужно найти в данных. Для просмотра ссылок на конкретный объект также можно использовать стандартный механизм платформы **«Поиск ссылок на объект»** в интерфейсе конфигурации.
5 ноября 2026 в 2:00 в ответ на: Существует ли метод ПолучитьКвантовуюСсылку() в 1С:Предприятие 8.3? #38951такого метода нет.
4 ноября 2026 в 14:46 в ответ на: Как создать конфигурацию в 1С:Предприятие через Конфигуратор? #38949В 1С:Предприятии конфигурацию обычно создают внутри новой информационной базы через режим «Конфигуратор».
## Создание пустой конфигурации
### 1. Запустите 1С
В окне запуска 1С нажмите «Добавить».
Выберите:
«Создание новой информационной базы»
Нажмите «Далее».
### 2. Выберите способ создания
Для полностью пустой конфигурации выберите:
«Создание информационной базы без конфигурации для разработки новой конфигурации»
Нажмите «Далее».
Укажите:
— название информационной базы;
— вариант размещения:
— на данном компьютере, если нужна файловая база;
— на сервере 1С, если используется клиент-серверный вариант;
— каталог базы, если выбираете файловый вариант.Нажмите «Готово».
### 3. Откройте базу в конфигураторе
В списке информационных баз выберите созданную базу.
В поле запуска выберите:
«Конфигуратор»
Нажмите «1С:Предприятие» или кнопку запуска и дождитесь открытия конфигуратора.
### 4. Откройте конфигурацию
В конфигураторе выполните команду:
Конфигурация > Открыть конфигурацию
Откроется дерево конфигурации.
Если конфигурация еще не создана, в дереве будет отображаться пустая конфигурация.
### 5. Задайте свойства конфигурации
В дереве конфигурации щелкните правой кнопкой мыши по верхнему элементу «Конфигурация» и выберите «Свойства».
Заполните основные параметры:
— Имя: например,
МояКонфигурация;
— Синоним: например,Моя конфигурация;
— Основной режим запуска:
— управляемое приложение;
— обычное приложение;
— обычное и управляемое приложение.Для новых разработок обычно выбирают управляемое приложение.
Можно также указать:
— представление конфигурации;
— язык конфигурации;
— режим совместимости.После изменения свойств нажмите Ctrl + S или выберите:
Конфигурация > Сохранить конфигурацию
## Добавление объектов в конфигурацию
После создания пустой конфигурации в нее добавляют прикладные объекты.
Например, чтобы создать справочник:
1. Откройте ветку «Справочники».
2. Щелкните по ней правой кнопкой мыши.
3. Выберите «Добавить».
4. Укажите имя, напримерКонтрагенты.
5. Укажите синонимКонтрагенты.
6. Добавьте реквизиты справочника на вкладке «Данные» или «Реквизиты».Аналогично создаются:
— Документы, например
ЗаказКлиента;
— Регистры накопления, напримерОстаткиТоваров;
— Регистры сведений, напримерЦеныНоменклатуры;
— Перечисления, напримерВидыОплаты;
— Отчеты;
— Обработки;
— Общие модули;
— Подсистемы;
— Роли;
— Общие формы.## Минимальный пример структуры
Для простой конфигурации учета товаров можно создать:
1С (Код)1234567891011121314151617ПодсистемаТорговляСправочникиНоменклатураКонтрагентыСкладыДокументыПоступлениеТоваровРеализацияТоваровРегистры накопленияОстаткиТоваровОтчетыОстаткиТоваровЧтобы объекты отображались в интерфейсе, их нужно включить в подсистему. Для этого в свойствах объекта установите флажок нужной подсистемы.
## Обновление структуры базы данных
После добавления или изменения объектов выполните:
Конфигурация > Обновить конфигурацию базы данных
или нажмите F7.
В появившемся окне подтвердите обновление кнопкой «Принять».
Затем можно запустить базу в пользовательском режиме:
Отладка > Начать отладку
либо клавишей F5.
## Если конфигурация должна создаваться на основе шаблона
Если нужно не пустую конфигурацию, а типовую, например Бухгалтерия предприятия, Управление нашей фирмой или Розница, порядок другой:
1. Сначала устанавливается шаблон конфигурации.
2. В окне запуска 1С нажимается «Добавить».
3. Выбирается «Создание информационной базы из шаблона».
4. Выбирается нужная версия конфигурации.
5. Завершается создание информационной базы.
6. База запускается в режиме «Конфигуратор» или «1С:Предприятие».Для установки шаблона обычно запускают установочный файл
setup.exeиз комплекта поставки. После этого шаблон появляется в списке доступных при создании информационной базы.4 ноября 2026 в 9:49 в ответ на: Как в 80 символах описать подход к работе и условиях работы с 1С? #38947Мы работаем на основе собственного накопленного опыта и выступаем одновременно в роли консультантов и исполнителей. Не передаем ваши задачи новым специалистам, которые не знакомы с проектом: специалисты АЙТИФОКС самостоятельно изучают особенности вашего бизнеса, глубоко погружаются в рабочие процессы и сопровождают проект на долгосрочной основе.
Формат взаимодействия вы выбираете самостоятельно: удаленная работа, выезд специалиста или комбинированный вариант.
Мы выполняем сложные обновления, доработки и другие задачи в 1С даже в условиях, когда невозможно полностью остановить работу компании. Планируем работы так, чтобы минимизировать простой и сохранить непрерывность бизнес-процессов.
4 ноября 2026 в 9:41 в ответ на: Как сократить и улучшить текст рассылки для предложения услуг 1С? #38945### Тема письма
Сопровождение и развитие 1С для вашего бизнеса
Здравствуйте!
Компания АЙТИФОКС предлагает постоянное сопровождение, развитие и автоматизацию систем 1С.
Мы подключаем опытного специалиста, который может курировать ваш проект или работать как постоянный внешний сотрудник. Формат сотрудничества подбираем индивидуально: удаленно, на территории вашей компании или в смешанном формате.
Помогаем решить задачи, связанные с ручным переносом данных, ошибками в учете, Excel-отчетами, медленной работой базы и отсутствием обмена между системами.
### Основные услуги
— внедрение 1С с нуля;
— сопровождение и обновление программ 1С;
— доработка документов, отчетов и печатных форм;
— автоматизация ручных операций;
— настройка учета и бизнес-процессов;
— интеграция 1С с сайтами, банками, маркетплейсами и другими системами;
— перенос и объединение данных;
— исправление ошибок и восстановление базы;
— консультации и обучение пользователей.Работаем с 1С:Бухгалтерией, УНФ, УТ, КА, ERP, ЗУП и отраслевыми решениями.
Берем в работу сложные проекты, требующие внимательного анализа и нестандартных решений. Можем подключиться к уже работающей базе без полной замены учетной системы.
Стоимость и сроки определяем после краткого описания задачи. Предварительная консультация поможет оценить оптимальный вариант решения.
Павел, АЙТИФОКС
Телефон: +7 962 816-81-05
E-mail: bgroupconsalt.alt@gmail.comС уважением,
команда АЙТИФОКС4 ноября 2026 в 9:38 в ответ на: Как составить коммерческое предложение услуг 1С для рассылки клиентам? #38943Ниже готовый вариант коммерческого предложения для рассылки клиентам. В квадратных скобках замените данные на свои.
## Тема письма
Услуги по 1С для бизнеса: внедрение, доработка и сопровождение
Другие варианты темы:
— Поможем настроить 1С под задачи вашей компании
— Сопровождение и автоматизация 1С без остановки работы
— Решаем задачи 1С: доработки, обмены, отчеты и поддержка
— Профессиональная помощь с 1С для вашей компании## Текст письма
Здравствуйте!
Компания [Название вашей компании] оказывает услуги по внедрению, настройке, доработке и сопровождению программ 1С.
Помогаем компаниям автоматизировать учет, сократить количество ручных операций и настроить 1С под реальные бизнес-процессы.
### Какие задачи решаем
Сопровождение 1С
— консультации пользователей;
— поиск и устранение ошибок;
— обновление конфигураций и платформы;
— восстановление работоспособности базы;
— настройка прав доступа;
— резервное копирование;
— оптимизация работы программы.Доработка 1С
— разработка новых документов, отчетов и обработок;
— изменение печатных форм;
— настройка дополнительных реквизитов и сведений;
— автоматизация повторяющихся операций;
— создание управленческих отчетов;
— доработка существующего функционала без нарушения типового учета.Обмены и интеграции
— обмен между несколькими базами 1С;
— интеграция с сайтом и интернет-магазином;
— подключение маркетплейсов;
— интеграция с банками, кассами, торговым оборудованием и складскими системами;
— загрузка данных из Excel, CSV и других систем;
— настройка обмена с внешними сервисами по API.Внедрение и настройка программ 1С
— 1С:Бухгалтерия;
— 1С:Управление нашей фирмой;
— 1С:Управление торговлей;
— 1С:Комплексная автоматизация;
— 1С:ERP;
— 1С:Зарплата и управление персоналом;
— отраслевые и специализированные решения 1С.Перенос и восстановление данных
— перенос данных из одной информационной базы в другую;
— загрузка остатков и справочников;
— перенос из Excel и других учетных систем;
— исправление некорректных данных;
— настройка начальных остатков;
— подготовка базы к началу работы.### Почему обращаются к нам
— работаем с типовыми и отраслевыми конфигурациями 1С;
— сначала анализируем задачу и предлагаем оптимальный вариант решения;
— выполняем работы удаленно или на территории заказчика;
— предоставляем понятную оценку сроков и стоимости;
— не вносим необоснованные изменения в конфигурацию;
— учитываем специфику учета и бизнес-процессы компании;
— можем работать разово или в рамках постоянного сопровождения.Стоимость зависит от конфигурации 1С, сложности задачи и требуемого результата. Перед началом работ согласовываем состав задачи, сроки и стоимость.
Чтобы получить консультацию, отправьте описание задачи на [электронная почта] или свяжитесь с нами по телефону [номер телефона].
С уважением,
[Имя Фамилия]
[Должность]
[Название компании]
Телефон: [номер телефона]
E-mail: [электронная почта]
Сайт: [сайт]—
## Более продающий вариант письма
### Тема: Настроим 1С под задачи вашей компании
Здравствуйте!
Если в вашей компании сотрудники регулярно переносят данные вручную, используют Excel вместо отчетов 1С, сталкиваются с ошибками или не могут получить нужную информацию из программы, мы поможем решить эти задачи.
[Название компании] оказывает услуги по 1С:
— доработка документов, отчетов и печатных форм;
— автоматизация ручных операций;
— настройка учета и бизнес-процессов;
— интеграция 1С с сайтом, банками, маркетплейсами и другими системами;
— исправление ошибок и восстановление работы базы;
— обновление и сопровождение 1С;
— перенос данных и объединение информационных баз;
— консультации и обучение пользователей.Мы можем подключиться к уже работающей базе, провести анализ и предложить решение без полной замены учетной системы.
Работаем с конфигурациями:
— 1С:Бухгалтерия;
— 1С:УНФ;
— 1С:УТ;
— 1С:КА;
— 1С:ERP;
— 1С:ЗУП;
— отраслевые решения.Примеры задач, которые автоматизируем:
— автоматическое создание документов на основании заказов;
— загрузка заказов с сайта и маркетплейсов;
— формирование отчетов по продажам, остаткам и задолженности;
— массовая обработка документов;
— автоматическая отправка документов клиентам;
— контроль оплат и задолженности;
— синхронизация нескольких баз;
— настройка обмена с бухгалтерией и складом.Стоимость и сроки определяем после краткого описания задачи. Простые вопросы можно решить в рамках консультации, сложные задачи выполняем по согласованному техническому заданию.
Контакты для связи:
[Имя специалиста]
Телефон: [номер телефона]
E-mail: [электронная почта]
Сайт: [сайт]С уважением,
[Название компании]—
## Короткий вариант для массовой рассылки
Тема: Услуги 1С для вашей компании
Здравствуйте!
Предлагаем услуги по сопровождению и доработке 1С:
— исправление ошибок;
— обновление 1С;
— разработка отчетов и печатных форм;
— автоматизация ручных операций;
— настройка обменов с сайтом, банками и маркетплейсами;
— перенос данных;
— консультации пользователей;
— внедрение и настройка программ 1С.Работаем с 1С:Бухгалтерией, УНФ, УТ, КА, ERP, ЗУП и отраслевыми конфигурациями.
Оценим задачу, сроки и стоимость до начала работ.
[Имя специалиста]
Телефон: [номер]
E-mail: [почта]
Сайт: [сайт]—
## Вариант для предложения постоянного сопровождения
### Абонентское сопровождение 1С
Предлагаем заключить договор на регулярное сопровождение программ 1С.
В рамках сопровождения можно получать:
— консультации пользователей;
— помощь при возникновении ошибок;
— установку обновлений;
— настройку отчетов и печатных форм;
— небольшие доработки;
— контроль резервного копирования;
— проверку обменов между системами;
— помощь при закрытии месяца;
— рекомендации по улучшению работы 1С.### Варианты обслуживания
Базовый тариф
Подходит для компаний, которым требуется периодическая консультационная поддержка.
Включает:
— консультации по работе в 1С;
— помощь при ошибках;
— удаленное подключение;
— рекомендации по обновлению.Стоимость: [стоимость] рублей в месяц.
Стандартный тариф
Подходит для компаний, которым необходима регулярная поддержка пользователей и выполнение небольших доработок.
Включает:
— все услуги базового тарифа;
— обновление базы;
— настройку отчетов и печатных форм;
— небольшие доработки;
— контроль обменов;
— приоритетное выполнение заявок.Стоимость: [стоимость] рублей в месяц.
Индивидуальный тариф
Подходит для компаний со сложной учетной системой, несколькими базами или большим количеством пользователей.
Включает:
— постоянное сопровождение;
— развитие функциональности 1С;
— интеграции с внешними системами;
— настройку обменов;
— техническое сопровождение;
— регулярный анализ работы базы;
— выделенного специалиста.Стоимость: по согласованию.
—
## Формулировка для призыва к обращению
Можно использовать один из вариантов:
1. Опишите задачу в ответном письме, и мы предварительно оценим возможное решение.
2. Чтобы получить консультацию, отправьте нам описание проблемы, название конфигурации 1С и контактный номер.
3. Если вы планируете доработку или обновление 1С, свяжитесь с нами для оценки сроков и стоимости.
4. Проведем первичный анализ задачи и предложим несколько вариантов решения.
5. Поможем определить, что выгоднее в вашей ситуации: доработка текущей базы, настройка типового функционала или внедрение другой конфигурации.
## Рекомендации для рассылки
В письмо лучше включить не все возможные услуги, а 5-7 наиболее востребованных. Отдельно можно подготовить рассылки для разных групп клиентов:
— бухгалтерские услуги и 1С:Бухгалтерия;
— торговые компании и 1С:УТ;
— производство и 1С:ERP или КА;
— кадровый учет и 1С:ЗУП;
— интернет-магазины и интеграция 1С с сайтом;
— малый бизнес и 1С:УНФ.Перед отправкой рассылки проверьте наличие согласия получателей на получение рекламных сообщений и добавьте в письмо возможность отказаться от дальнейших рассылок.
-
АвторЗаписи