Telegram Native API

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

Разработка - Разработка внешних компонент

Telegram Native API интеграция

Взаимодействие с Telegram без Bot API. Только C++ компоненты. Только хардкор.

Сразу хочу отметить - заметка в большей степени не про telegram, а про правильную, по мнению автора, разработку native внешних компонент.

Сама технологии создания внешних компонент с native API существует уже много лет, но несмотря на это, найти достойный пример open source реализации внешней компоненты крайне сложно. Вполне вероятно, что все компоненты с открытыми исходными кодами можно пересчитать по пальцам одной руки. Буду рад увидеть ссылки в комментариях, чтобы понять, что не прав.

В конечном счете я решил исправить эту несправедливость и опубликовать не слишком сложный пример компоненты "по фэн-шую". И первой проблемой, которую предстояло решить, был функционал компоненты. В итоге выбор пал на интеграцию с telegram.

Сегодня тема взаимодействия с telegram уже не так популярна, как ранее. С одной стороны на это повлияли действия РКН, с другой - библиотека инфостарта уже изрядно наполнена примерами взаимодействия с Bot API. Но что делать, если функционала bot API недостаточно? Допустим, мы хотим сами писать пользователю, или хотим использовать секретные чаты с end-to-end шифрованием, или, о боже, хотим написать полноценный telegram клиент на 1С? Выход - TDLib.

Telegram database library - это официальная библиотека для создания Telegram клиентов, предоставляющая доступ ко всему функционалу MTProto. Один из вариантов работы с библиотекой - JSON. Все методы описаны в документации.

Внешняя компонента доступна на Github. Она предоставляет доступ к следующим методам TDLib: Отправить / Send, Получить Receive, Выполнить / Execute, а так же реализует метод УстановитьАсинхронныйРежим / SetAsyncMode для получения ответов компоненты через внешние события (естественно работает только на клиенте).

CI сборки реализованы для Windows x86/x64 и Linux x64. 

Для желающий просто оценить компоненту в работе, мною был сделан примитивный пример, реализующий следующий тестовый сценарий: авторизация в telegram и отправка сообщения абоненту с указанным номером телефона (даже если его еще нет у вас в контактах). Пример проверен на Windows 10 + 8.3.11 и на Ubuntu 18.04 + 8.3.12.

На данный момент демо-обработка содержит множество допущений. В частности:

  • Авторизация выполняется только для существующих учетных записей
  • Ввод некорректного кода подтверждения никак не обрабатывается
  • Не реализована двухфакторная аутентификация
  • Не указывается куда отправлен код подтверждения (Telegram / SMS)
  • Не задаются настройки TDLib. База всегда хранится в каталоге временных файлов. Токены app_id и api_hash совпадает с тестовыми для TDLib.

В общем, самый, самый минимум.

Скачать файлы

Наименование Файл Версия Размер
TelegramDemo

.epf 49,76Mb
59
.epf 49,76Mb 59 Скачать

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

Лучшие комментарии
3. Infactum 300 24.05.18 22:37 Сейчас в теме
(2) Тогда пусть будет в комментах. Из репозитория можно подчерпнуть следующую полезную информацию.

- Не надо использовать шаблон с ИТС, т.к. он был написан еще до C++11.
- Ориентируемся на кросплатформенность с начала разработки, т.к. надо 1С на Linux далеко не экзотика. Поэтому точно не стоит использовать wchar_t для хранения строк. Только 2х байтовые char16_t.
- Для преобразования строк из UTF-8 в UTF-16 лучше брать проверенное временем решение. Например ICU (как у меня), либо iconv. Но только не велосипеды из шаблона с ИТС.
- Используйте CMake. Далеко не все разработчики предпочитают Visual Studio даже под Windows. Да и единообразие сборочного процесса на различных система не повредит.
- Решая проблему русских названий методов не надо сохранять исходники в Win-1251. Да, в студии сработает. Но правильный и универсальный вариант это UTF8+BOM.
- Обязательно настройки CI. Не только потому, что CI это "круто", но и потому, что так вы точно не забудете, что еще необходимо установить на чистую систему для сборки. Сборка в C++, особенно больших проектов - боль.
- Не забываем про кэш при сборке на CI. В моем "проекте" tdlib с нуля собирается минут 30 + еще 10 минут другие зависимые библиотеки. При наличии кэша время сборки, даже с учетом подготовки виртуалки меньше минуты. Пример реализации кэша можно увидеть как для Windows: тут сделан пакет tdlib для vcpkg, так и для Linux - там сборка идет через Docker контейнер, а актуальный образ сборщика в docker hub.

P.S. В Appveyor теперь есть поддержка Linux. Лучший CI для подобных проектов на сегодняшний день.
unduty; ksu66; tormozit; zakiap; KAV2; Трактор; pbazeliuk; AlkB; shurik_shurik; JohnyDeath; baton_pk; Synoecium; azubar; +13 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. baton_pk 410 24.05.18 20:50 Сейчас в теме
заметка в большей степени ... про правильную, по мнению автора, разработку native внешних компонент

вот этот момент совсем не раскрыт в статье, стоило уделить этому внимание. В остальном - плюс за проделанную работу.
3. Infactum 300 24.05.18 22:37 Сейчас в теме
(2) Тогда пусть будет в комментах. Из репозитория можно подчерпнуть следующую полезную информацию.

- Не надо использовать шаблон с ИТС, т.к. он был написан еще до C++11.
- Ориентируемся на кросплатформенность с начала разработки, т.к. надо 1С на Linux далеко не экзотика. Поэтому точно не стоит использовать wchar_t для хранения строк. Только 2х байтовые char16_t.
- Для преобразования строк из UTF-8 в UTF-16 лучше брать проверенное временем решение. Например ICU (как у меня), либо iconv. Но только не велосипеды из шаблона с ИТС.
- Используйте CMake. Далеко не все разработчики предпочитают Visual Studio даже под Windows. Да и единообразие сборочного процесса на различных система не повредит.
- Решая проблему русских названий методов не надо сохранять исходники в Win-1251. Да, в студии сработает. Но правильный и универсальный вариант это UTF8+BOM.
- Обязательно настройки CI. Не только потому, что CI это "круто", но и потому, что так вы точно не забудете, что еще необходимо установить на чистую систему для сборки. Сборка в C++, особенно больших проектов - боль.
- Не забываем про кэш при сборке на CI. В моем "проекте" tdlib с нуля собирается минут 30 + еще 10 минут другие зависимые библиотеки. При наличии кэша время сборки, даже с учетом подготовки виртуалки меньше минуты. Пример реализации кэша можно увидеть как для Windows: тут сделан пакет tdlib для vcpkg, так и для Linux - там сборка идет через Docker контейнер, а актуальный образ сборщика в docker hub.

P.S. В Appveyor теперь есть поддержка Linux. Лучший CI для подобных проектов на сегодняшний день.
unduty; ksu66; tormozit; zakiap; KAV2; Трактор; pbazeliuk; AlkB; shurik_shurik; JohnyDeath; baton_pk; Synoecium; azubar; +13 Ответить
4. Synoecium 719 26.05.18 07:19 Сейчас в теме
Жаль что вашей статьи не было, когда писал свою компоненту по рисованию графов, теперь её даже стыдно выкладывать на GiHub :)
5. azubar 37 26.05.18 09:51 Сейчас в теме
Очень круто и востребовано, я верю в то что телеграмм переплюнет и китайский вичат и пайпал вместе взятые.
Вопрос: сейчас отправить можно только тестовое сообщение, файлы/изображения?
6. Infactum 300 26.05.18 10:05 Сейчас в теме
(5) Отправить можно все, что поддерживается протоколом. Виды контента описаны тут.
8. oyti 64 28.05.18 14:36 Сейчас в теме
Windows 7 x64,
1С:Предприятие 8.3 (8.3.12.1412),
Бухгалтерия предприятия, редакция 3.0 (3.0.61.47)
Прикрепленные файлы:
9. oyti 64 28.05.18 14:43 Сейчас в теме
(8) 1С:Предприятие 8.3 (8.3.11.2867) - ошибка та же
10. Infactum 300 28.05.18 14:47 Сейчас в теме
(8) Разрядность клиента 1С какая?
Если попробовать подключить напрямую dll, а не через бандл, что скажет?
ПодключитьВнешнююКомпоненту("<Путь_к_DLL>", "Telegram", ТипВнешнейКомпоненты.Native)
11. oyti 64 28.05.18 17:47 Сейчас в теме
x86
Если явно задать путь к dll на диске, вроде работает
12. Anton64 298 01.06.18 09:26 Сейчас в теме
У меня Win 7, появляется окно с вводом номера телефона, после нажатия Далее ничего не происходит...

Попробовал так: ПодключитьВнешнююКомпоненту("D:\Telegram.dll", "Telegram", ТипВнешнейКомпоненты.Native) - пишет, что либо не предназначен для выполнения под управлением Виндоус или содержит ошибку и т.д.
13. Infactum 300 01.06.18 11:31 Сейчас в теме
(12)
Если появилось окно ввода телефона, значит компонента успешно подключилась - лучше конечно проверить отладчиком.
После ввода телефона может ничего не происходить, потому что нет подключения к ДЦ телеграма (спасибо РКН).

Если есть желание разобраться в проблеме, то рекомендую скачать на гитхабе последнюю сборку. В ней есть возможность включения журнала tdlib - метод УстановитьКаталогЖурнала(<Путь>).
14. Anton64 298 01.06.18 12:03 Сейчас в теме
(13) Про блокировку понял, думаю что в ней дело.
Тогда возникает вопрос, можно ли как-то указать прокси сервер для работы компоненты?
15. Infactum 300 01.06.18 12:31 Сейчас в теме
(14) Можно через setProxy. Текущая версия TDLib только Socks5 умеет.
16. Mopo3 310 19.09.18 20:07 Сейчас в теме
Круто! Помучался, но научился получать сообщения от пользователей, из секретных групп, что и требовалось для задачи.
Замечательная библиотека и пример, спасибо!
17. Mopo3 310 03.10.18 00:59 Сейчас в теме
(0), подскажите пожалуйста. Я правильно понимаю, что если я хочу получить/отправить сообщения от пользователей БЕЗ использования бота, то это можно сделать ТОЛЬКО через TDLib и более никак?
То есть использовать для этого

Соединение = Новый HTTPСоединение("api.telegram.org",443,,,Прокси,,Новый ЗащищенноеСоединениеOpenSSL());
ПараметрыЗапроса = "?chat_id=[chat_id]";
ТекстЗапросаHTTP = "getChatHistory" + ПараметрыЗапроса;

Запрос = Новый HTTPЗапрос(ТекстЗапросаHTTP);
Запрос.УстановитьТелоИзСтроки(ПараметрыЗапроса);

Ответ = Соединение.ОтправитьДляОбработки(Запрос);

не получится при всем желании, т.к. он предназначен ТОЛЬКО для ботов?
18. Infactum 300 03.10.18 08:21 Сейчас в теме
(17) С использованием REST вы можете работать только с BOT API. Для использования всех возможностей (например чтобы стать инициатором сообщения или использовать секретный чат) нужен Telegram API. Так вот TDLib - это лишь одна из реализаций (правда официальная). Можете воспользоваться любой другой (на GitHub полно), но к ним биндингов на 1С нету.
19. dtybr 16 10.10.18 17:51 Сейчас в теме
Добрый день.
Подскажите пожалуйста как можно настроить опции TDLib (https://core.telegram.org/tdlib/options)
Мне нужно чтоб библиотека отправляла запросы через мое собственное DNS имя. Или так нельзя. Только прокси (setProxy)
С ним не смог разобраться.
Делаю вот так после соединения:
ФорматированныйТекст = Новый Соответствие;
	ФорматированныйТекст.Вставить("@type", "proxySocks5");
	ФорматированныйТекст.Вставить("server", "176.94.2.84");
	ФорматированныйТекст.Вставить("port", "1080");
	ФорматированныйТекст.Вставить("username", "");
	ФорматированныйТекст.Вставить("password", "");
	
	ЗапросКомпоненты = Новый Соответствие;
	ЗапросКомпоненты.Вставить("@type", "setProxy");
	ЗапросКомпоненты.Вставить("proxy", ФорматированныйТекст);
		
	ОтправитьЗапрос(ЗапросКомпоненты);
Показать


Но не работает не приходит СМС
20. Infactum 300 10.10.18 17:57 Сейчас в теме
(19) Не понимаю, что значит "отправлять запросы через DNS имя".
Для разбора проблемы прокси рекомендую включить лог и заглянуть туда. Так же надо выяснить, на какой версии TDLib ваша компонента, т.к. в последней (той, что на TDLib 1.3) метода setProxy больше нету.
New methods addProxy, editProxy, enableProxy, disableProxy, removeProxy and getProxies were added instead of setProxy and getProxy.
21. dtybr 16 10.10.18 19:08 Сейчас в теме
У меня есть transparent Proxy по адресу telegram.mysite.com если TDLib будет запросы отправлять через него то оно не будет заблокировано РКН.
И это не SOCKS5 поэтому его прописать в список прокси нельзя. ( И поэтому я обратил внимание на опцию http://prntscr.com/l4icxi


TDLib у меня скорей 1.3 так как библиотеку качал с GITHub сегодня.
Так что видимо придется использовать новые методы.

Скажите я вам можно поручить задачу по разработке подсистемы с 4 методами которые будут через TDLib 1.3 работать:
- НайтиКонтактТелеграмм()
- СоздатьКОнтактТелеграмм()
- ОтправитьСообщениеТелеграмм()
- ПринятьСообщенияТелеграмм()

Методы должны быть в серверном модуле и выполняться на сервере WINx64
Могу сформулировать более точные требования.
22. Crush 24.12.18 12:33 Сейчас в теме
АдресTDLib = "D:\TDlib\telegram_native_x86.dll";
Если ПодключитьВнешнююКомпоненту(АдресTDLib,"Telegram", AddInType.Native) Тогда
тлг = Новый("AddIn.Telegram.TelegramNative");


... чет вот тут ни один метод запустить не получается. Пробовал:
//тлг.УстановитьКаталогЖурнала("D:\TDlib\logs\");
//тлг.setProxy("###:80");
//тлг.addProxy("###:80");
//тлг.set_file_path("D:\TDlib\logs\");
//тлг.TdSetLogFilePath("D:\TDlib\logs\");
//Сообщить(тлг.GetInfo());



КонецЕсли;

Номер телефона не спрашивает, на методы ругается, что нет таких.
Что я делаю не так?
23. Infactum 300 24.12.18 12:43 Сейчас в теме
(22) Из всех методов более-менее в цель попал только УстановитьКаталогЖурнала - только в какой-то из версий он был переименован в УстановитьФайлЖурнала.
Методы TDLib так вызвать нельзя. В статье же написано, что компонента является оберткой над JSON методами.
Если на других языках не работали с TDLib, то лучше скачать обработку-пример из публикации.
24. neo980 15.02.19 10:41 Сейчас в теме
Подскажите, какой командой происходит создание нового клиента?
25. Infactum 300 15.02.19 13:44 Сейчас в теме
(24) Не совсем понял вопрос. Подключаете компоненту и создаете новый экземпляр
AddIn.Telegram.TelegramNative

Рекомендую просто скачать обработку из публикации и ознакомиться с полноценным примером кода. Создать экземпляр клиента это же самое начало. Даже подключение к серверу выполнить задача нетривиальная.
26. SergeyRomanov 41 02.04.21 09:59 Сейчас в теме
Многовато времени потратил на доработка для отправки кроме текста фото и файлов! Так что вот отправляйте фото и файлы:

Процедура СоздатьСекретныйЧатЗавершение(ОтветКомпоненты, ДополнительныеПараметры) Экспорт
	
	//Отправляем Текст
	ФорматированныйТекст = Новый Соответствие;
	ФорматированныйТекст.Вставить("@type", "formattedText");
	ФорматированныйТекст.Вставить("text", "Привет!");
	
	СодержимоеСообщения = Новый Соответствие;
	СодержимоеСообщения.Вставить("@type", "inputMessageText");
	СодержимоеСообщения.Вставить("text", ФорматированныйТекст);
	
	ЗапросКомпоненты = Новый Соответствие;
	ЗапросКомпоненты.Вставить("@type", "sendMessage");
	ЗапросКомпоненты.Вставить("chat_id", ОтветКомпоненты["id"]);
	ЗапросКомпоненты.Вставить("input_message_content", СодержимоеСообщения);
		
	ОтправитьЗапрос(ЗапросКомпоненты);
	
	//Отправляем Фото	

	Фото = Новый Соответствие;
	Фото.Вставить("@type", "inputFileLocal");
	Фото.Вставить("path","E:\test\test.png");

	СодержимоеФото = Новый Соответствие;
	СодержимоеФото.Вставить("@type", "inputMessagePhoto");
	СодержимоеФото.Вставить("photo", Фото);

	ЗапросКомпоненты = Новый Соответствие;
	ЗапросКомпоненты.Вставить("@type", "sendMessage");
	ЗапросКомпоненты.Вставить("chat_id", ОтветКомпоненты["id"]);
	ЗапросКомпоненты.Вставить("input_message_content", СодержимоеФото);

	ОтправитьЗапрос(ЗапросКомпоненты);
	
	//Отправляем Файл
	
	Фото = Новый Соответствие;
	Фото.Вставить("@type", "inputFileLocal");
	Фото.Вставить("path","E:\test\Test.csv");

	СодержимоеФото = Новый Соответствие;
	СодержимоеФото.Вставить("@type", "inputMessageDocument");
	СодержимоеФото.Вставить("document", Фото);

	ЗапросКомпоненты = Новый Соответствие;
	ЗапросКомпоненты.Вставить("@type", "sendMessage");
	ЗапросКомпоненты.Вставить("chat_id", ОтветКомпоненты["id"]);
	ЗапросКомпоненты.Вставить("input_message_content", СодержимоеФото);

	ОтправитьЗапрос(ЗапросКомпоненты);	
КонецПроцедуры
Показать
27. Serdgio 193 05.04.21 20:12 Сейчас в теме
коллеги, может, кто-то решал подобную задачу?
Необходимо читать сообщения из публичного канала, ид которого у меня есть, и есть номера сообщений

вот пример моего кода

ЗапросКомпоненты = Новый Соответствие;
ЗапросКомпоненты.Вставить("@type", "getMessage");
ЗапросКомпоненты.Вставить("chat_id", "-1001230068734");
ЗапросКомпоненты.Вставить("message_id", "4599");
ОтправитьЗапрос(ЗапросКомпоненты);

ответ приходит

{"@type":"error","code":401,"message":"Unauthorized","@extra":null}

api_id и api_hash - пробовал и демо, и своего зарегистрированного приложения.

Еще нужно какие-то действия для подтверждения авторизации сделать?
28. Serdgio 193 05.04.21 22:43 Сейчас в теме
Коллеги, может, кто-то решал подобную задачу.
Чтение сообщений из публичного чата

Код вот такой

ЗапросКомпоненты = Новый Соответствие;
ЗапросКомпоненты.Вставить("@type", "getMessage");
ЗапросКомпоненты.Вставить("chat_id", "-1001230068734");
ЗапросКомпоненты.Вставить("message_id", "4599");

ответ
"{"@type":"error","code":401,"message":"Unauthorized","@extra":null}"

Перед этим нужно еще какие-то действия выполнить?
29. SergeyRomanov 41 09.04.21 07:04 Сейчас в теме
(28)

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

1) Проверь, что предварительно выполняется: ЗапросКомпоненты "@type", "importContacts"

2) Открывается/становится текущим для дальнейших запросов/создаётся нужный чат например приват чат: ЗапросКомпоненты ("@type", "createPrivateChat");

3) Ну и когда пришёл положительный ответ, что чат найден и можно с ним работать: отправляй / получай сообщения.

+ У себя я что то не замечал chat_id начинающийся с тире "-" ... Для эксперимента попробуй без тире.
30. ArtiKDA 27.04.21 08:51 Сейчас в теме
На github обработки нет или я не нашел?
Оставьте свое сообщение

См. также

Внешняя компонента: Android tools Промо

Мобильная разработка Разработка внешних компонент v8 v8::Mobile Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 230KB.

1 стартмани

12.01.2021    2641    8    KAV2    8    

Вставка картинки из буфера обмена с помощью компоненты из Документооборота в форматированный документ и HTML поле на обычных и управляемых формах - тонкий клиент

Разработка внешних компонент v8::УФ 8.3.14 1cv8.cf Абонемент ($m)

В статье рассмотрен вопрос о доработанной вставки картинки из буфера обмена способом из компоненты Документооборота. Способ существенно доработан - код унифицирован, и подготовлен для вставки в модуль. Также доработана вставка в поле HTML в управляемых и обычных Формах. Для HTML поля добавлена функция вставки HTML после курсора (используется для вставки картинки в тонком и толстом клиентах в обычном и управляемом приложении).

1 стартмани

07.04.2021    1084    0    user1206119    0    

Экспорт данных в csv

Внешние источники данных Интеграция v8 v8::УФ 1cv8.cf Украина Абонемент ($m)

Шаблон обработки для выгрузки справочников/регистров в файл csv.

1 стартмани

18.02.2021    1264    1    Tamplier    2    

Выгрузка реализации товаров в файл в формате dbf

Внешние источники данных Оптовая торговля v8 v8::БУ v8::УФ БП3.0 Россия БУ Абонемент ($m)

Еще одна выгрузка в формате dbf на управляемых формах.

1 стартмани

25.11.2020    1407    4    shira84    0    

Конвертация данных Парус 7, 10 - ЗУП 2.5, ЗИКБУ 1.0, КА 1.1, УПП Промо

Внешние источники данных Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 КА1 ЗУП2.5 УПП1 БГУ Россия БУ Госбюджет Абонемент ($m)

Перенос данных Парус 7, 10 - ЗУП 2.5, ЗИКБУ 1.0, КА 1.1, УПП Переносит данные сотрудника, физического лица и начисления за произвольный период

1 стартмани

10.06.2014    36776    67    kns77    87    

Выгрузка документов Реализация товаров и услуг в формат .mmo (управляемые формы)

Оптовая торговля Внешние источники данных v8 v8::УФ ERP2 БП3.0 УТ11 Фармацевтика, аптеки Украина Абонемент ($m)

Обработка выгружает документ "Реализация товаров и услуг" в файл формата .mmo. Предназначена для конфигураций на управляемых формах. Работает в файл-серверном режиме и в файловом. Может использоваться как внешняя обработка и как подключаемая печатная форма.

1 стартмани

17.11.2020    1486    1    Alex_IT    0    

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка v8 Абонемент ($m)

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

3 стартмани

09.10.2020    13280    117    ltfriend    108    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    7105    2    YPermitin    14    

Загрузка данных из М-Аптеки+ в 1С:Бухгалтерия 8 (ред. 3.0) Промо

Внешние источники данных Файловые протоколы обмена, FTP v8 v8::БУ БП3.0 Фармацевтика, аптеки БУ Абонемент ($m)

Обработка для загрузки файлов выгрузки из программы для автоматизации аптек и аптечных сетей М-Аптека+ в 1С:Бухгалтерия 8, редакция 3.0.

11.07.2014    38950    71    1C_MApteka    40    

Загрузка ГТД из Альфа Софт для Бухгалтерии 3.0

Обработка документов Оптовая торговля Внешние источники данных Внешнеэкономическая деятельность (ВЭД) v8::БУ v8::УФ БП3.0 Оптовая торговля, дистрибуция, логистика Россия БУ Абонемент ($m)

Обработка загрузки ГТД из Альфа Софт. Создает документ Поступление товаров, услуг и ГТД по импорту. Код открыт, качаем, тестируем, дописываем под себя. Разбор файла написан на ПостроительDOM.

1 стартмани

03.07.2020    3602    6    sabvi    0    

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    8943    112    Lem0n    1    

Загрузка зарплаты из внешнего файла

Зарплата Внешние источники данных v8::СПР v8::УФ ЗУП3.x БУ Абонемент ($m)

Загрузка зарплаты из внешнего файла в документ "Начисление зарплаты и взносов" для ЗУП 3.1.

1 стартмани

29.04.2020    2942    0    WeterSoft    0    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

1 стартмани

30.03.2018    31957    45    Ditron    101    

Внешняя компонента Native API для управления окнами и буфером обмена, получения снимков окон Windows и Linux

Разработка внешних компонент v8::УФ Россия Абонемент ($m)

Внешняя компонента Native API для Windows и Linux с исходными кодами на C++. Возможности компоненты: получение списка окон и списка процессов, управление размерами и положением окна, снимок окон и снимок экрана, доступ к данным буфера обмена, взаимодействие по протоколу WebSocket.

2 стартмани

16.04.2020    5738    10    kandr    11    

Исправление формата выгрузки СЗВ-ТД. ЗУП 3.1.12.142

Зарплата Внешние источники данных v8::СПР v8::УФ ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

Для документа Сведения О Трудовой Деятельности Работников - добавил расширение, исправляющее выгрузку СЗВ-ТД в файл для сдачи в ПФР.

1 стартмани

05.02.2020    7964    20    visim    17    

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    10610    47    Johny_v    13    

Менеджер загрузки данных из весов с печатью этикеток Промо

Внешние источники данных Весы Учет ТМЦ Учет ТМЦ v8 УТ10 УПП1 Абонемент ($m)

Программное обеспечение "Менеджер загрузки данных из весов с печатью этикеток" предназначено для автоматического получения данных по сети Ethernet из весов МАССА-К моделей ВПМ и ТВ_Р3 (модификация MF) в режиме On-Line.

1 стартмани

20.12.2011    25965    81    hrip    10    

Взаимодействие HTML (COM объект, WebKit) с 1С (обычные и управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования HTML (COM объект, WebKit) в 1С (8.3).

2 стартмани

18.01.2020    10959    29    Deniskinr83    0    

Пример выгрузки и загрузки файлов Excel, CSV, DBF (обычные и управляемые формы)

Загрузка и выгрузка в Excel Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка показывает пример выгрузки и загрузки данных из Excel, CSV, DBF в 1С.

2 стартмани

04.01.2020    6624    17    Denr83    0    

Сканирование по TWAIN в 1С (обычные и управляемые формы)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка показывает пример, как можно в 1С проводить сканирование с помощью компоненты TWAIN.

3 стартмани

03.01.2020    7852    31    Denr83    0    

TextRadar - нечеткий поиск в тексте Промо

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.09.2018    21146    30    TSSV    19    

Обмен между УТ 11.4 и Штрих М Кассир 5

Управление торговлей Внешние источники данных v8::ОУ v8::УФ УТ11 Россия УУ Абонемент ($m)

Обработка для обмена товарами и дисконтными картами между УТ11.4 и Штрих М Кассир 5. С максимальным процентом скидки.

5 стартмани

10.12.2019    4978    5    Bachesh2111    10    

Перенос данных из "МойСклад" (API 1.1) в 1С:Розница

Внешние источники данных v8::УФ Розница Россия УУ Абонемент ($m)

Перенос данных из "Мой склад" в 1С:Розница. Продолжили переделывать выгрузку из МойСклад, теперь и для 1С:Розница, делимся обработкой. Перенос осуществляется через Rest API 1.1 интерфейс.

10 стартмани

09.12.2019    4873    3    umni4ka    4    

Google drive - менеджер файлов

WEB Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    14613    35    zykov_vitaliy    26    

Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент. Промо

Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Данная разработка создана для использования сборок .Net в 1С через преобразование объектов и классов в COM-объекты, которые можно использовать в 1С. Достигается это путем создания класса, реализующего методы интерфейса IReflect public class AutoWrap: IReflect.

1 стартмани

28.11.2013    88939    284    Serginio    74    

Использование хранимых процедур MS SQL Server в 1С

Внешние источники данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.12.2019    14777    11    Dedushka    27    

Пример подключения к информационной базе через COMConnector

Внешние источники данных Перенос данных из 1C8 в 1C8 Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример подключения создан для обычной и управляемой формы. Позволяет подключиться "На сервере 1С:Предприятия" и "На данном компьютере или на компьютере в локальной сети", подключение производится через логин/пароль или с помощью аутентификации Windows.

1 стартмани

23.10.2019    11123    6    IncomeGroup    20    

Маленькая и скромная мобильная внешняя компонента

Разработка внешних компонент v8 Абонемент ($m)

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    11844    8    ripreal1    34    

Что нам стоит Push построить Промо

Внешние источники данных v8 v8::Mobile Абонемент ($m)

Попробовал некоторое время назад, push сообщения, реализованные в платформе. Понравилось, но есть несколько минусов, на примере одной программы сообщений (не буду показывать пальцем), спустя некоторое время, сообщения переставали приходить онлайн, а на компьютере приходили моментально, при этом сами смартфоны звались флагманами. Читал позднее статью, где описывалось, что проблема на стороне смартфонов, что-то вроде технологий энергосбережения, но точно не помню. Также немалый минус доступно только для смартфонов.

1 стартмани

08.09.2016    30526    17    PloAl    8    

Native внешняя компонента для оповещения по UDP или TCP

Разработка внешних компонент v8 Абонемент ($m)

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    13098    30    vdv2701    37    

Обновление расширений с Google Drive

Расширения Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

03.10.2019    5918    3    Sedaiko    4    

Получение изображения с IP-камеры

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    13915    41    sivin-alexey    10    

Tool1CD Beta в деле Промо

Разработка внешних компонент v8 Абонемент ($m)

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    29267    31    baton_pk    26    

Согласование задач из Outlook

Внешние источники данных v8 1cv8.cf Абонемент ($m)

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    11020    16    duhh    17    

Обмен с системой Ветис Меркурий для любых конфигураций. Гашение ВСД, списание продукции, пакетная печать ВСД (простые и управляемые формы)

Розничная торговля Обработка документов Внешние источники данных Рабочее место Розничная торговля v8::ОУ v8::УФ УТ10 УТ11 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Пищевая промышленность Россия БУ УУ Абонемент ($m)

Обработка предназначена для небольшого магазина или для небольшой торговой сети. Позволяет оперативно пакетно погасить ВСД, списать проданную продукцию в системе Меркурий, реализована пакетная печать ВСД. Авторизация проходит через Логин и Пароль, предназначенный для входа через веб интерфейс Меркурий. Проверка была проведена на релизе Обычные формы: "Управление торговлей", редакция 10.3 (10.3.53.2). Управляемые формы: Управление торговлей, редакция 11 (11.4.7.128) Бухгалтерия предприятия, редакция 3.0 (3.0.75.37) Розница, редакция 2.2 (2.2.4.20)

4 стартмани

02.09.2019    18726    100    Mister_Gluck    106    

Внешняя компонента Sundries: несколько полезных системных функций

Разработка внешних компонент v8 Абонемент ($m)

Звук, пауза, буфер обмена, раскладки клавиатуры и т.д.

4 стартмани

30.08.2019    7827    9    sivin-alexey    15    

Телеграм 1С – почти коробка

Внешние источники данных v8 Абонемент ($m)

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    17182    33    zfilin    68    

Подсистемы для обмена с личным кабинетом магазинов на маркетплейсах от Prom (Prom.ua, Deal.by, Tiu.ru, Satu.kz, Prom.md) для обычных и управляемых форм (обновление от 2018)

Внешние источники данных WEB Розничная торговля Розничная торговля v8 v8::УФ УТ10 УНФ УТ11 Беларусь Молдова Украина Россия Казахстан Абонемент ($m)

Архив содержит последние обновления драйверов обмена версии 1.23 от 27 июля 2018 года. В архиве присутствуют как внешние обработки, с помощью которых можно выгружать товары, количества и цены на ваш сайт + загружать заказы с сайта в 1с, так и конфигурации с подсистемами, которые позволяют настроить такой обмен в автоматическом режиме. Файл с инструкцией по настройке и установке находится в архиве. Внешние обработки и подсистемы разработаны для конфигураций как на обычных, так и на управляемых формах.

3 стартмани

05.08.2019    6023    4    lisrws    0    

Пример работы с первым ОФД из 1С посредством Get/Post запросов

Розничная торговля Внешние источники данных Розничная торговля v8 v8::УФ УТ11 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Вдруг пригодится... Обработка является примером, как по средствам get и post запросов получать информацию согласно api первого офд. В ней нет разбора данных но есть необходимый функционал для получения чеков продаж с ресурсов оператора. Обработка будет интересна программистам, кто не хочет тратить время на написание механизма получения данных. Дополнительных приложений или компонент не требуется.

1 стартмани

25.07.2019    3616    2    hottion    5    

Выгрузка и подготовка данных для программы "Перечень льготных профессий" для 1С: ЗУП 2.5 (ОТКРЫТЫЙ КОД) Промо

Рабочее место Внешние источники данных Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

Обработка для формирования и редактирования данных для перечня льготных профессий. В связи с прекращением поддержки ЗУП 2.5 и отсутствием времени на доработку для сдачи годовой отчетности открыл код модуля. Не очередная выгрузка стажей, а практически полный аналог перечня для 1С. Формирование и редактирование стажей с последующей выгрузкой в формат перечня, но только ГОРАЗДО удобнее и быстрее. В общем, смотрите видео. Где-то половина времени на написание обработки ушла именно на удобство и скорость работы. Внимание: код модуля обработки открыт

5 стартмани

09.11.2015    55431    63    Black-fog    62    

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Пример

Разработка внешних компонент Практика программирования v8::УФ 1cv8.cf Абонемент ($m)

Универсальная печать штрихкодов Windows, Linux, x86, x64. Управляемые формы. Веб-клиент. Сделана на основе компонент печати штрихкодов фирмы 1с под платформу 1с windows32, windowsx64, linux32, linux64. Типы штрихкодов для генерации - EAN8, EAN13, EAN128, Code39, Code128, Code16k, PDF417, Standart (Industrial) 2 of 5, Interleaved 2 of 5, Расширение Code39, Code93, ITF14, RSS14, CodaBar, EAN13 AddOn 2, EAN13 AddOn 5. Сделана как пример для внедрения. Наиболее оптимальный вариант для веб-клиента. Пример сделан в виде cf файла. Работоспособность проверялась на ERP 2.4.8.84, ЗУП 3.1.9.187, Розница 2.2.11.30, УНФ 1.6.17.128, БГУ 2.0.61.28, ЗКГУ 3.1.9.187, КА 2.4.7.127, УТ 11.4.7.128, БП 3.0.69.35, Документооборот КОРП ПРОФ 2.1.13.28.

4 стартмани

17.07.2019    7635    30    ivanchai    7    

Конфигурация для обмена данными (интеграционная шина)

Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

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

4 стартмани

08.07.2019    17104    33    miha-28    17    

Выгрузка сведений об оплате труда из ЗиКГУ 3.1 в АХД Минздрав (ЕГИСЗ)

Зарплата Внешние источники данных Обмен через XML Зарплата v8::СПР v8::УФ ЗКГУ3.0 Здравоохранение, медицина, стоматология Россия Госбюджет Абонемент ($m)

Внешняя обработка для подготовки и выгрузки данных об оплате труда из конфигурации "Зарплата и кадры государственного учреждения 3.1" в АХД Минздрав , через *.xml файл.

1 стартмани

26.06.2019    6899    27    Rtyt    19    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуйте в формах 1С, также предлагается небольшое количество нерисовальных функций

1 стартмани

13.07.2015    50940    469    ПерваяСистема    147    

Обработка вывода на печать QR-кода и штрихкодов в различных форматах (одномерные и двумерные)

Разработка внешних компонент Ценники v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для вывода на печать QR-кода и штрихкодов в различных форматах без установки дополнительных ActiveX компонент. Тестировалась на чистой базе платформы 1С:Предприятие 8.3 (8.3.14.1630), а так же в конфигурациях Бухгалтерия предприятия КОРП, редакция (3.0.69.35) и на Бухгалтерия предприятия (3.0.70.30)

2 стартмани

22.05.2019    13340    49    MGemini    3    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен) Промо

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    36548    19    c1nil    4    

Шаблон http-сервиса для вашего проекта

Внешние источники данных WEB Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

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

3 стартмани

04.05.2019    23240    84    MarkoSokolov    48    

WhatsApp чат для 1С

Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

WhatsApp чат для 1С. Расширение конфигурации, подходит для любых конфигураций 1С (управляемые формы).

5 стартмани

15.04.2019    13945    41    ManyakRus    22    

Получение данных из кабинета ПЭК (управляемая форма)

Внешние источники данных Оптовая торговля WEB Оптовая торговля v8 v8::УФ ERP2 БП3.0 УТ11 КА2 Россия УУ Абонемент ($m)

Обработка для создания заявок в транспортную компанию ПЭК (управляемая форма).

2 стартмани

09.04.2019    4527    9    Andy30    0