Бот Telegram и HTTP сервис в 1С

Публикация № 1368626

Разработка - Системная интеграция - Интеграция с WEB

Телеграм вебхук http сервис

Настройка рабочего вебхука telegram для 1С используя IIS (Internet Information Services - встроенный в windows веб-сервер). Мой опыт.

Здравствуйте, уважаемые читатели этой публикации. Просьба не судить строго. Это лишь мой личный опыт, тем не менее, опыт положительный и надеюсь он будет кому-нибудь полезен. 

В интернете не так много статей на эту тему, а те, что есть, уже не актуальны, так как telegram больше не блокируют в России, или же эти инструкции усложнены, почем зря, например использованием не совсем user friendly apache и прочих openssl. 

Для начала чего я хотел добиться - учитывая специфику моей работы, одна из моих задач была возможность делать служебные фотографии товара на складе при приемке и автоматически прикреплять их к карточкам номенклатуры. Один из вариантов который я использую это ТСД на андроиде с лицензией Cleverence (это отдельная тема для разговора). Но учитывая что ТСД стоят денег, да и лицензия на софт тоже, а так же специфичность моей конфигурации 1С, сторонние решения требуют доработки и изменений (Опять же отельная тема для разговора). 

Короче говоря, вариантов использования можно придумать массу. Прикрепление фото - один из них.

И так, с целью определились. Какие нужны для этого средства?

  1. Серверная 1С (можно и на файловой, но я не думаю что тема актуальна, если не прав - то можете указать это в комментариях)
  2. Операционная система Windows 7 или выше
  3. Бот telegram (Создается бесплатно)
  4. Статичный (белый ip адрес) - с этим думаю проблем не должно возникнуть. Но если вдруг возникнут, есть некоторые платные решения. О них позднее.

 

Начнем, пожалуй с самого простого - создание бота. Для создания бота нужно в telegram обратиться к @BotFather. 

Пишем ему /start и получаем список доступных команд.
Нас интересует команда /newbot — отправляем ему и нам будет предложено ввести имя нового бота. После ввода имени мы получим токен и ссылку для быстрого добавления бота в список контактов.

Схороним эти данные. Они важны

Следующим нашим шагом станет установка IIS сервера на windows. Собственно это не совсем установка, но это мелочи. 

Перейдем в Панель управления\Программы\Программы и компоненты (или жмем win+r и там вводим appwiz.cpl). В открывшемся окне слева "Включение и отключение компонентов windows". Находим пункт Службы IIS и включаем. Затем раскрываем дерево, и сморим раздел "Службы Интернета", опять же раскрываем и идем в "Компоненты разработки приложений". Там должны быть включены службы в названии которых есть ASP

 
 Включение IIS

 

После того как всё будет установлено, нам нужно запустить "Диспетчер служб IIS". Быстро это можно сделать нажав win+r и выполнить команду "InetMgr". 

Проверим что веб-сервер работает. Запустим браузер, и в адресной строке введем "localhost". Если всё хорошо - увидим заглушку  Internet Information Service.

 
 Заглушка Internet Information Service

Очень важно!!! Если вы используете версию 32x версию , то нужно разрешить серверу работу с 32x приложениями.

 
 Как включить поддержку 32x приложений в IIS (Фото 1)
 
  Как включить поддержку 32x приложений в IIS (Фото 2)

 

С одним большим делом разобрались. Теперь пришло время получить свой домен. Это быстро и бесплатно. Я использовал  сайт my.freenom.com - там в целом ничего сложного. 

Инструкция по регистрации домена на русском языке

Итак, у нас есть домен и рабочий веб сервер. Нужно проверить, что доменное имя работает. Но сначала нужно пробросить порты. Нужно сделать так, чтобы все запросы по адресу домена вели  на 80 и 443 порт того компьютера локальной сети, на котором находится наш веб сервер и 1С. Для дополнительной безопасности можно использовать альтернативный внешний порт 88 или 8443 - telegram помимо стандартных 80 и 443 поддерживает ещё эти два. То есть запросы на ВАШ_ДОМЕН:ПОРТ (80 или 443 можно не указывать) должны вести на локальный IP вашего сервера внутри сети. В разных роутерах это делается по разному. Если у вас был опыт например настройки RDP через интернет - для вас ничего сложного это не составит. Для тех кто с этим не знаком - в сети множество инструкций под роутеры разных производителей. 

Итак, после проброса портов попробуем перейти по адресу, что указали при регистрации домена. (Учтите, что это нужно делать из внешней сети. Самый простой это с помощью мобильного телефона через мобильный интернет). В случае если всё ок - вы увидите ту же самую заглушку, как и при переходе по адресу "localhost" на сервере .

Настало время установить SSL сертификат на наш сервер. Вебхук telegram работает только с защищенным протоколом. Для автоматической установки нам понадобится специальная программа .

win-acme - ссылка на репозиторий. 

На момент написания статьи последняя версия 

win-acme.v2.1.14.996.x64.trimmed.zip - для 64x windows

win-acme.v2.1.14.996.x86.trimmed.zip - для 32x windows

Запускаем программу через wacs.exe (От имени администратора) и выбираем эти варианты

1) N: Create certificate (default settings)

2) 1: Default Web Site (1 binding)

3) A: Pick *all* bindings

4) Y

5) Y

(На момент написания статьи у меня уже был установлен сертификат, и возможно мой пример ответов не совсем релевантен. Скорее всего у нас спросят ещё пару вещей, на всё соглашаемся, там ничего сложного.)

После успешного завершения у нас будет свой веб сервер с SSL сертификатом, который будет доступен из внешней сети. Проверим это. Опять же через мобильный телефон через мобильную сеть перейдем по адресу HTTPS://ВАШ_ДОМЕН:ПОРТ (порт можно не указывать, если вы при пробросе портов вы не указали внешний порт). Если всё хорошо, то в адресной строке слева у вас будет "замок"

 
 Если SSL сертификат на сервере активен - то при переходе по доменному имени в адресной строке будет иконка замка

 

Подведем промежуточный итог.

Для работы вебхука telegram нам нужен был сервер, доступный по доменному имени, на котором есть SSL сертификат.

Что мы для этого сделали:

1) Установили IIS

2) Получили доменное имя

3) Пробросили порты на роутере

4) Установили SSL сертификат.

Что мы получили - при обращение по доменному имени из внешней сети мы попадаем на заглушку веб сервера. В Адресной строке при этом есть "замочек".

Теперь настало время настраивать 1С.

Для начала у нас должен быть установлен пакет расширений Web сервера 1С

 
 Пакет расширений Web сервера 1С

 

Создадим новый HTTP Сервис. В конфигураторе в разделе Общие находим пункт HTTP-Сервисы.

Создадим новый сервис. Обратите внимание на поле Корневой URL – это имя нашего сервиса к которому будет обращаться Вебхук. Используйте только латиницу.

 
 Корневой URL

 

Создаем новый шаблон URL для нашего сервиса. И даем имя функции с помощью которой Телеграм будет общаться с 1С.

 
 шаблон URL

 

Далее. Внутри нашей функции мы создадим пару методов. При работе с HTTP сервисами нам доступно несколько специальных методов.

 
 HTTP методы

Нам для установки вебхука нужно лишь 2 из них. Это POST и GET. После всех манипуляций у нас есть HTTP сервис с корневым URL «testService», у которого есть функция «TestFunction» у которой есть 2 метода: POST и GET

 
 HTTP сервис

 

Теперь нам нужно назначить обработчики событий на созданные методы.

Создадим обработчик метода GET (этот метод нужен нам для тестирования)

Функция TestFunctionGET(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
	Ответ.УстановитьТелоИзСтроки("Сервис работает");	
	Возврат Ответ;
КонецФункции


и метода POST (С этим методом как раз и будет работать вебхук)

Функция TestFunctionPOST(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	Возврат Ответ;
КонецФункции

Пока этого хватит. Давайте опубликуем наш сервис. Для этого идем в раздел Администрирование->Публикация на веб-сервере.

 
 Публикация Сервиса

 

Имя  - по умолчанию имя нашей базы 1С, но можно изменить, если необходимо.
Веб-сервер – это как раз наш встроенный в Windows веб-сервер IIS
Каталог – каталог, в котором хранится информация о публикации. Можно оставить по умолчанию, но запомним это место. Оно нам пригодится.
Для работы нашего вебхука нам нужны включенные галочки – на Вкладке HTTP сервисы. Остальные можно отключить. Но на время можно оставить Публиковать тонкий и веб клиент, для теста работоспособности.

Жмем опубликовать. Если всё ок, то мы получим оповещение о том, что сервис опубликован, и вопрос о том, нужно ли перезапустить веб сервер – отвечаем, что нужно. Важно чтобы конфигуратор был запущен от имени Администратора, иначе могут возникнуть проблемы с сохранением настроек.
 

 
 Первичная настройка

 

Вернемся к менеджеру IIS (win+r и выполнить команду "InetMgr")

В списке сайтов мы увидим наш веб сервис. Если там пусто – то обновите список.

 
 Список сайтов в IIS

В браузере переходим по адресу "localhost/ИМЯ_БАЗЫ*"
*ИМЯ_БАЗЫ - это что указали при публикации - в моем примере адрес выглядит так "localhost/DEMO"

Если все предыдущие шаги были выполнены, то на экране вы увидите предложение авторизоваться. Для этого мы как раз и оставили включенным пункт "Публиковать тонкий и веб клиент".

 
 Авторизация веб клиента

 

Теперь проверим как работает метод GET у нашей функции.
В браузере перейдите по адресу "localhost/DEMO/hs/testService/TestFunction/"
где 
DEMO – имя нашей базы, указанное при публикации
hs  - обязательный атрибут, говорящий о том, что мы обращаемся к HTTP сервису (Http Service)
testService  - это Шаблон URL, который мы указали при создании HTTP сервиса
TestFunction – это имя созданной нами функции, у которой есть 2 метода: GET и POST

Если в ваших действиях не было ошибок, то вы увидите следующее

 
 Результат вызова метода GET

Это запрос авторизации, что для работы вебхука неприемлемо. 

Для автоматической авторизации мы можем сделать следующее. Помните, я просил запомнить каталог публикации ? Идем туда, находим файл "default.vrd" и открываем в блокноте.

 
 Расположение файла "default.vrd"

 

Обратим внимание на это место

 
 Куда обращать внимание

 

Добавим сюда  usr=ИМЯ;pwd=ПАРОЛЬ  
Где 
Имя – это имя пользователя 1С, под которым будет авторизоваться вебхук
Пароль – соответственно пароль пользователя, под которым будет авторизоваться вебхук.

Итоговый вариант выглядит так

 
 Итоговый вариант

 

Сохраняем файл и пробуем ещё раз перейти по указанному выше адресу. Если всё ок, то мы увидим ту надпись, которую указали при написании обработчика на метод GET.

 
 Результат перехода по адресу


Теперь мы должны проверить работоспособность нашей функции из внешней сети по HTTPS протоколу.
Для этого можно прямо с мобильного телефона через мобильный интернет обратиться по адресу

HTTPS://ИМЯ_ДОМЕНА/DEMO/hs/testService/TestFunction/

Где 
ИМЯ_ДОМЕНА - это тот домен, который вы зарегистрировали на my.freenom.com

DEMO - Имя базы, которое вы указали при публикации сервиса в 1С. 

hs  - обязательный атрибут, говорящий о том что мы обращаемся к HTTP сервису (Http Service)

testService  - это Шаблон URL, который мы указали при создании HTTP сервиса

TestFunction – это имя созданной нами функции у которой есть 2 метода: GET и POST

Результат должен быть аналогичным, как если бы обращались к функции по "localhost".

 

Подведем промежуточный итог.

У нас есть Домен с работающим SSL сертификатом. HTTP сервис в , который доступен из внешнего интернета. Собственно осталось лишь установить вебхук. Это просто. Нужно лишь вбить в браузер следующую ссылку

https://api.telegram.org/bot<токен>/setWebhook?url=https://<ВАШ_ДОМЕН>/<ИМЯ_БАЗЫ>/hs/<ШАБЛОН_URL>/<ФУНКЦИЯ>

Где

<токен> - это тот токен, который мы получили в самом начале статьи.

<ИМЯ_БАЗЫ> - Имя базы, которое вы указали при публикации сервиса в 1С. 

hs  - обязательный атрибут, говорящий о том, что мы обращаемся к HTTP сервису (Http Service)

<ШАБЛОН_URL>- это Шаблон URL, который мы указали при создании HTTP сервиса

<ФУНКЦИЯ> – это имя созданной нами функции, у которой есть 2 метода: GET и POST

Если всё сделано верно, то мы получим сообщение 

{"ok":true,"result":true,"description":"Webhook was set"}

Более подробную информацию мы можем получить вбив в адресную строку

https://api.telegram.org/bot<токен>/getWebhookInfo

{"ok":true,"result":{"url":"https://<ВАШ_ДОМЕН>/<ИМЯ_БАЗЫ>/hs/<ШАБЛОН_URL>/<ФУНКЦИЯ>","has_custom_certificate":false,"pending_update_count":0,"max_connections":40,"ip_address":"ВАШ_IP"}}

Если вебхук не сможет достучаться до вашей базы, то вы увидите информацию об ошибках. Это может быть как Bad request - означает, что вебхук не может достучаться до нашего сервера, а так же Not Authorized - это означает, что вы забыли указать логин и пароль в файле "default.vrd".

 

Ну и давайте попробуем сделать так, чтобы на любой запрос к боту нам приходил ответ.

Вернемся к обработчику на метод POST и приведем код к следующему виду:

Функция TestFunctionPOST(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	
	Строка = Запрос.ПолучитьТелоКакСтроку();   // В запросе содержатся данные в формате JSON
	
	ЧтениеJSON = Новый ЧтениеJSON();
	ЧтениеJSON.УстановитьСтроку(Строка);	
	ОтветОбъект = ПрочитатьJSON(ЧтениеJSON);
		
		message = ОтветОбъект.message;  
		chat_id = chat.id;
	  	
		
		ТекстСообщения = "Слава роботам!";
		teleОповеститьпользователя(chat_id,ТекстСообщения);

		
	Возврат Ответ;
КонецФункции

И вот функция для отправки сообщения пользователю:

Процедура teleОповеститьпользователя (user_id,ТекстСообщения) 
	
	
	token  = "" //сюда вставить ваш токен;
	server = "api.telegram.org";
		
	Ресурс = "bot" + token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(user_id, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + ТекстСообщения;	
	Соединение  =  Новый HTTPСоединение(server,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
	Запрос = Новый HTTPЗапрос(Ресурс);
	Ответ = Соединение.Получить(Запрос);    
	
	
КонецПроцедуры

Учтите, что это прямо совсем черновой код и нужно предусматривать то, что в HTTP запросе могут возникнуть ошибки. Вообще HTTP сервисы можно отлаживать, как и обычный код 1С, с точками остановок и прочим, но у меня ни разу не вышло словить сеанс в отладчике. К тому же сложность написания кода в HTTP модуле ещё в том, что он не делает проверки на синтаксис при сохранении конфигурации. Для контроля Синтаксиса я использую метод GET - переходе в браузере по адресу нашей функции мы ранее видели надпись "Сервис работает", если есть синтаксические ошибки, то мы увидим надпись "Ошибка инициализации библиотеки модулей". Также я набросал простенькую функцию для логирования всего, что мне хочется, и вставляю ей в нужных местах, для понимания данных, которые я получаю или пытаюсь передать.

Процедура Логировать(ТекстСообщения);
	
	ПутьКФайлу = "C:\teleLog.txt";
	
	Файл = Новый Файл(ПутьКФайлу); 
	
	Если  Файл.Существует() тогда
	
	Чтение = Новый ЧтениеТекста(ПутьКФайлу);
	Текст = Чтение.Прочитать();
	Чтение.Закрыть();  			
	
	Иначе
	Текст = "";
	КонецЕсли;
	
	Запись = Новый ЗаписьТекста(ПутьКФайлу);
	Запись.ЗаписатьСтроку(""+Текст+Символы.ПС+ТекущаяДата() + Символы.ПС + "--------------------------------------------"+Символы.ПС+ТекстСообщения);
	Запись.Закрыть();
	
	
КонецПроцедуры

Помимо этого всегда можно скопировать код в обычный модуль и проверить на синтаксис уже там.

Собственно сохраняем конфигурацию и пробуем отправить боту сообщение.

Если мы молодцы и всё сделали правильно, то увидим следующее:

 
 Ответ бота

 

Собственно мы добились изначальной цели - работы вебхука telegram с 1С без сторонних сервисов и необходимости создания сертификата вручную и ковыряния с apache.

О работе с API telegram (Отправка сообщений, файлов, создание кнопок для быстрых ответов) можно писать отдельную статью.

В подготовке данного материала мне были полезны пара публикаций

Вебхук. Путь Телеграма

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Почитайте, там есть немало полезного.

Ещё в начале статьи я сказал, что иметь белый IP адрес не обязательно и существуют некие решения. 

Я лично тестировал и остался доволен сервисом ngrok.com. Если коротко - это прокси, на который вебхук будет посылать запросы, которые будут перенаправляться на наш компьютер. Очень удобно. Но платно - 5 долларов в месяц (Белый IP в большинстве случаев стоит дешевле), и нужно следить, чтобы их программа была запущена, и не глючила. В бесплатной версии сессии активны в течение часа (или около того), затем нужно будет изменять вебхук на новый, так как будет сгенерирован новый временный домен. Но для отладки подойдет, так как хорошо видно, какие запросы приходят к нам.

 
 Рабочее окно ngrok

 ngrok Cannot GET / local server up and running - Stack Overflow

 

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

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. serg-lom89 61 26.01.21 22:19 Сейчас в теме
Плюс!
я логирование в регистр сведений пишу.
solidsun; +1 Ответить
2. DERL 27.01.21 05:56 Сейчас в теме
Раз уж так досконально про создание HTTP сервисов, то забыл указать, что надо каждому методу установить право "Использование" для той роли, которая установлена у пользователя, под которым запускается сервис.
Лично я об этом постоянно забываю ))
alesgood79; Sei Souma; solidsun; +3 Ответить
3. sultbec 8 27.01.21 19:25 Сейчас в теме
Чтобы поймать отладчик http надо в отладка-подключение - автоматическое подключение - галка http сервисы
4. John_d 3143 28.01.21 09:05 Сейчас в теме
Интересно. За статью плюс.
5. PLAstic 270 01.02.21 17:02 Сейчас в теме
Чёт автор не то ляпнул в начале статьи. Давно есть подробная статья про ботов с вебхуками и без. Давно есть статьи про сетификаты и публикации в иисе и апаче.
Вся статья - описание процесса публикации http-сервиса с сертификатом. И где бот?
6. solidsun 70 01.02.21 19:16 Сейчас в теме
Существует масса статей на разную тематику. В подзаголовке статьи я указал "Настройка рабочего вебхука telegram для 1С используя IIS (Internet Information Services - встроенный в windows веб-сервер). Мой опыт." Собственно это и описано в статье. Зная куда копать и разбираясь в теме глубже, можно, прочитав несколько статей, составить какое-то представление как всё это взаимодействует. Моя же задача была в том, чтобы собрать это в единую картину. Я старался максимально доступно объяснить как, что и зачем делается. Задачи научить проектировать бота в этой статье не стояло. А какую конкретно информацию Вы бы хотели видеть на тему ботов telegram и 1С? Я бы мог попробовать развить эту тематику.
JohnyDeath; +1 Ответить
7. JohnyDeath 299 02.02.21 18:01 Сейчас в теме
1С уже прикрутил ботов и обработку новых сообщений (работает нормально на последнем релизе 18й и 19й платформы). Также можно прилепить Телеграм в систему взаимодействия. Осталось дождаться от них того, чтобы сообщение телеграм приходило в таком же формете, что и в самом телеграме. Ну и саму отправку сделать со всеми возможностями телеграма. Не уверен вообще, что это возможно, но вроде бы они эту хотелку услышали и даже записали )
8. Nubsdale 08.02.21 18:18 Сейчас в теме
Довольно подробно описана связка IIS + 1с + домен
однозначно плюс
9. pawellkrv 15 26.02.21 12:34 Сейчас в теме
Благодарю за столь подробный пост! Искал инфу по Viber, очень помогло!
10. solidsun 70 13.03.21 17:23 Сейчас в теме
Волею судеб пришлось перенастраивать сервер. И я понял что забыл указать одну деталь без которой не получится установить сертификат. Нужно руками вбить привязку домена к Default Web Site. (Правой кнопкой мыши, - изменить привязку.)
Прикрепленные файлы:
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    56881    Serginio    33    

Работа через сервис 1С-Отчетность нескольких пользователей

Регламентированная отчетность Зарплата WEB v8 v8::СПР ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Организации, в которых количество сотрудников превышает установленное значение, обязаны отправлять отчетность по телекоммуникационным каналам связи. Это может быть Контур-Экстерн, Такском или любой другой провайдер. Все чаще пользователи 1С используют сервис 1С-отчетность. И все чаще сертификат оформляется на сотрудника отдела кадров или бухгалтерии. В случае, если нужно оформить несколько сертификатов, возникают трудности в версии ЗУП 3.1.14 и более поздних. О том, как с ними справиться, пойдет речь в данной публикации.

05.04.2021    397    keat24    0    

Wildberries. Заполнение карточек товаров. Как получить значение справочников?

WEB Бесплатно (free)

Wildberries. Заполнение карточек товаров. Как получить значение справочников? в документации это описано очень скромно, пытаюсь рассказать на основании своего опыта.

31.03.2021    278    sergeyisa    0    

Как получить ключ поставщика Wildberries (uuID), supplierID, Идентификатор поставщика

WEB Бесплатно (free)

Как получить ключ поставщика Wildberries (uuID), supplierID, Идентификатор поставщика, для работы с карточками товара.

18.03.2021    377    sergeyisa    7    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26536    ruha    21    

Правила обмена больше не нужны

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 Распределенная БД (УРИБ, УРБД) WEB v8 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    6042    Nikola23    35    

Интеграция "1С:Управление торговлей 10.3" с Yandex SpeechKit для распознавания телефонных звонков

WEB Интеграция Телефония, SIP Бесплатно (free)

Распознавание телефонных звонков позволяет контролировать работу менеджеров, организовать для них дополнительный KPI, помогает разбирать конфликты и категоризировать звонки по вхождению слов. О своем опыте интеграции «1С:Управления торговлей 10.3» и сервиса Yandex SpeechKit на INFOSTART MEETUP Saint Petersburg.Online рассказал ИТ-директор компании «Умный дом» Федор Рыжков.

12.03.2021    585    zzhiraf_    0    

Как отправить сообщение Telegram в группу?

WEB v8 Россия Бесплатно (free)

Отправка сообщения в группу Telegram.

01.03.2021    727    kite2    2    

Информер для сайта , актуальные релизы 1С + Проверка подписки ИТС. Промо

WEB Администрирование данных 1С Сервисные утилиты Бесплатно (free)

Небольшой код который встраивается на сайт и выводит информацию о последних релизах конфигураций 1С

12.09.2014    40962    Malfarion    34    

Альфа-Авто 5.0 и современные HTTP сервисы

WEB v8 1cv8.cf Автомобили, автосервисы УУ Бесплатно (free)

Решение, позволяющее программным продуктам, работающим на устаревших версиях платформы 1С (8.2), интегрироваться с современными HTTP сервисами. Решение, интегрированное с HTTP-сервисом программы по расчету компонентов для изготовления ЛКМ, описанное в настоящей статье, успешно работает в одном из автосервисов, работающем на устаревшей платформе и конфигурации Альфа-Авто 5.0.

01.03.2021    492    osivv    1    

Доступ из базы 1С к стандартному интерфейсу Odata базы 1С, в которой заведен пользователь

WEB v8 Россия Бесплатно (free)

Есть база, с пользователем/паролем, нужно подключиться к Odata из другой базы 1С, получить элементы справочника.

24.02.2021    623    user823999    6    

Интеграция с API WB (Wildberries). Создание карточки товара (спецификации)

WEB v8 1cv8.cf ИТ-компания Россия Бесплатно (free)

Опыт интеграции с API WB (Wildberries), опыт создания карточки товара, получение токенов API WB.

18.01.2021    7699    jenyavp    42    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    42209    YPermitin    41    

1С и Умный Дом. Управление голосом

WEB Интернет вещей (IIoT) 8.3.6 Бесплатно (free)

Возможно ли управление устройствами умного дома из 1С, да ещё и голосом? Можно ли без умных колонок Google Home, Alexa, Алиса и иных платформ, а также без приложений от Google, Amazon и других управлять этими устройствами? Мой ответ – ДА, можно, нужно просто иметь умное устройство, имеющее возможность работы в DIY, 1С и программу распознавания голоса и взаимодействия с 1С.

04.01.2021    1917    osivv    15    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    1997    SizovE    23    

1С и Умный дом

WEB Интернет вещей (IIoT) 8.3.8 Бесплатно (free)

Возможно ли управление устройствами умного дома из 1С? Можно ли, минуя сложные настройки ZigBee, Z-Wave и иных платформ, а также без приложений от Google, Amazon и других управлять этими устройства? Мой ответ – ДА, можно, нужно просто иметь умное устройство, имеющее возможность работы в DIY, ну и, естественно, 1С.

21.12.2020    1445    osivv    8    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30853    anig99    6    

[TinyMCE] - редактор HTML WYSIWYG. Интеграция во все виды управляемого и обычного приложения

WEB 8.3.14 Бесплатно (free)

В статье рассмотрены вопросы использования во всех режимах работы 1С Предприятие 8.3 редактора TinyMCE в поле HTML дополнительного функционала.

14.12.2020    868    user1206119    0    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    768    SizovE    2    

Как сделать интеграцию (обмен) с интернет-магазином? Пошаговый план действий (Часть 1)

WEB v8 1cv8.cf УУ Бесплатно (free)

C 2011 года я занимаюсь интеграцией с интернет-магазинами и за это время, наверное, повидал все. Делал интеграцию как «культурными», так и «экзотическими» способами. Количество магазинов исчисляется сотнями. В этой серии статей я буду делиться своим опытом, а также выкладывать какие-то полезные наработки.

19.11.2020    4098    markbraer    11    

Организация удаленного доступа к корпоративной информационной системе — это просто ! Промо

Внешние источники данных Монитор заказов WEB Монитор заказов Бесплатно (free)

Хочу поделиться своим опытом создания web морды к корпоративной информационной системе на базе 1С. Необходимо организовать сбор заказов от удаленных пользователей. - Каждый пользователь видит свой набор данных, и работает со своими документами. - Доступ по логину/паролю, работа в основном с планшетов (iPad) или с десктопа. - Сервер должен находиться за пределами организации. - Себестоимость 1 пользователя не более 10$ за месяц. - Использование в основном мобильного канала связи GPRS (~100 КБ/с).

31.08.2012    28906    avhrst    13    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1722    SizovE    2    

Web Dashboard (мобильная и десктопная версия): оптимальная схема организации взаимодействия с зоопарком систем

WEB v8 Бесплатно (free)

Задача: из множества систем (1С:ERP, 1C:CRM, Кронос:WMS, 1С:Розница, 1С:УПП...) оперативно и онлайн осуществлять мониторинг на телефоне/десктопе/планшете/телевизоре бизнес-аналитику в дашборде для директора. Рассмотрим в статье, как правильно интегрировать между собой все базы, какие для этого инструменты использовать.

10.11.2020    5905    SizovE    2    

Как я бесплатно пишу чат-ботов WhatsApp на 1С

WEB Бесплатно (free)

На разработку чат-бота требуется время. Как правило, время уходит на ознакомление с API, отладку, приемку. Как сэкономить и не платить за использование API на время разработки? Делюсь своим опытом.

02.11.2020    2249    andrew_shamin    10    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    2108    Максим-777    13    

JSON примеры меню B2B web-приложения "Личный кабинет" на движке EDIbot для телефона/десктопа

WEB v8 Бесплатно (free)

Рассмотрим на примерах работу движка EDIbot при организации меню B2B "Личного кабинета" (мобильная версия, версия десктоп) грузовладельца WMS-системы.

29.10.2020    951    SizovE    0    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    4348    John_d    26    

Организация HTTP публикации каталога товаров используя PostgREST

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    1065    malikov_pro    2    

Использование HTTP REST обертки xmysql для работы с MySQL на примере OpenCart

WEB Бесплатно (free)

В статье опишу вариант работы с MySQL базой используя HTTP.

28.09.2020    1924    malikov_pro    2    

Интеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы

WEB v8 Бесплатно (free)

В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.

28.09.2020    1712    dmitry-irk38    4    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    2792    hpi    10    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    5905    hpi    6    

Организация данных и вариант обработки для организации обмена с сайтом

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант организации данных и обработки для обмена с сайтом.

22.09.2020    1504    malikov_pro    4    

Формирование списка документов и скачивание печатной формы документа через веб-сайт с использованием HTTP-сервиса, плюс особенности авторизации

Практика программирования Обмен данными 1С WEB v8 1cv8.cf Бесплатно (free)

В статье показан пример, как реализовать формирование списка документов клиента/пользователя по коду, а затем скачать его (документа) печатную форму по ссылке

18.09.2020    1120    R_o_n_n_y    3    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    3377    malikov_pro    11    

Дневник боли и страданий. Как я переходил от The Bat! к MS Outlook

WEB Бесплатно (free)

Мой опыт перехода от The Bat! к MS Outlook. Сравнение двух программ, киллер-фичи, лайфхаки и рецепты из интернета. Все в одном месте и проверено автором на актуальных релизах сентября 2020 года.

02.09.2020    1875    gubanoff    15    

Формирование документа Goggle Docs из шаблона используя Google Apps Script

WEB Бесплатно (free)

В статье опишу работу скрипта для формирования документа с публикацией по HTTP.

25.08.2020    1500    malikov_pro    0    

Ферма приложений на Kubernetes

WEB v8 Бесплатно (free)

При эксплуатации большого количества информационных систем 1С, предоставляющих интернет-сервисы, возникают проблемы, связанные с зависимостью от производительности и стабильности веб-сервера. Как объединить отдельно стоящие веб-сервера с помощью платформы Kubernetes для централизованного мониторинга всех опубликованных интернет-сервисов на конференции Infostart Event 2019 Inception рассказал программист компании BIA Technologies Владимир Кирбаба.

24.08.2020    1695    ComboBoy    1    

Использование шаблонного процессора для формирования HTML страниц

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу использование шаблонного процессора Handlebars запущенного на Node.js

24.08.2020    1705    malikov_pro    26    

Использование скриптов при формировании запросов используя Postman

WEB Бесплатно (free)

В статье опишу применение JS скриптов а postman при работе с API.

22.08.2020    2818    malikov_pro    8    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

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

12.08.2020    2866    pavelpribytkin96    10    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    7393    YPermitin    21    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

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

06.08.2020    1988    pavelpribytkin96    6    

Использование Yandex Translate (Яндекс.Переводчик)

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    4858    malikov_pro    8    

Когда хотим знать IP клиента...

WEB v8 Бесплатно (free)

В процессе разработки web приложения на 1С, и это не шутка))), а пожелание заказчика, возникла ситуации когда понадобилось знать, с какого IP подключался клиент.

03.07.2020    6698    IMihalev    10    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    7644    malikov_pro    7