Распознавание паспорта РФ. Python+1С без сторонних сервисов

Публикация № 1798902 30.01.23

Интеграция - Внешние источники данных

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

Погуглив просторы интернета, я нашел подобные решения для 1С. Но все эти разработки требуют пересылку данных на сторонние ресурсы. А передача персональных данных на сторону не такая уж хорошая идея, ведущая к нарушением законов РФ (персональные данные и т.п.).

И таки решил написать такое решение, которое будет работать на вашем ПК (серверах) без всяких там сторонних сервисов. Но так как Python так же, как и 1С, язык программирования некопилированный, то решение подобной задачи стало не такой уж и простой, но вполне решаемой.

В качестве основы был позаимствован репозитарий paSport_eye на GiHub. Данный продукт был адаптирован под Windows и 1С

Данная болванка очень простая, но при этом использует такие библиотеки, как Dlib и CV2, которые довольно-таки хорошо себя показали в распознавании лиц и изображений.

В качестве распознавателя мы используем бесплатный и самый на мой взгляд мощный продукт по распознаванию текста "pytesseract" от компании HP.

Итак, начнем: 

1. Для начала установим Python.

Рекомендую ставить версию 3.9, так как с другими версиями могут возникнуть сложности по установке библиотек. 

2.Далее открываем командную строку и входим в папку, куда вы установили Python, к примеру 

cd c:\pyhton

3. Устанавливаем библиотеки

  1. Библиотека OpenCV 
    python -m pip install opencv-python
  2. Библиотека Pillow 
    python -m pip install Pillow
  3. Библиотека pytesseract
    python -m pip install pytesseract
  4.  Библиотека rembg
    python -m pip install rembg
  5. Библиотека imutils
    python -m pip install imutils
  6. Библиотека matplotlib
    python -m pip install matplotlib
  7. Библиотека dlib Так как версии выше 22 автоматически устанавливают библиотеки куда, а после чего надо долго танцевать с бубнами и установкой библиотек Cuda - рекомендую ставить версию 19.22.1
    python -m pip install -U dlib==19.22.1
  8. Библиотека tesseract-ocr   
    pip install pytesseract
         

4. Далее ставим программный продукт Tesseract. Он необходим для распознавания текста. 

Данный продукт распространяется в открытом коде и собрать его под linux очень просто. Но нам нужна Windiws сборка и скомпилить+зарелизить его под Виндовоз не так уж и просто. Поэтому воспользуемся сборкой для win64 от немецких коллег из Мангеймского университета. Ссылка тут - Tesseract-ocr-w64-setup-5.3.0.20221.

1. Установку нужно делать на диск "С:" в папку %Program Files% (по умолчанию). Если сменить папку - то придется допиливать один Python модуль.

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

Поздравляю, у вас теперь установлен прокачанный Python.

Как установить ПО 1С8, думаю, рассказывать не буду и пойдем дальше.

Скачиваем Python модули и разархивируем их, к примеру, в Папку c:\Python\Passp.

Сам архив полностью с открытым кодом(openSource)  имеет основной файл passport.py и библиотеки в папке Lib.

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

 

 

Давайте рассмотрим файл passport.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import cv2
import argparse
import os
from lib.output import OUTput
from lib.rm_bg import RemoveBG
from lib.face_work import FaceWork
from lib.text_recognition import TessRecogn
from lib.search_data_with_cv2 import SDWCV2
from lib.script_return_abs_path import ReturnAbsPathPict
from lib.script_convert_image import ReturnPathConvertImage

def main():
    ap = ap = argparse.ArgumentParser(
                                        prog="python3 pasport_eye.py",
                                        usage="%(prog)s -p /ПУТЬ/К/ПАПКЕ/С/ИЗОБРАЖЕНИЯМИ --improved_recognition ON или OFF -o terminal или scv",
                                        description='''
                                                        
    )
    ap.add_argument(
                    "-p", "--path_pict", required=True,
                    help="Путь к каталогу изображений паспортов!"
    )
    ap.add_argument(
                    "--improved_recognition", required=True,
                    help='''
                            Метод улучшенного распознования: ON или OFF.
                            ON - более точное распознавание, но и "выхлоп" от
                            скрипта более "жирный", так же, медленная работа скрипта.
                            OFF - все как обычно, но возможно, не точное распознавание.
                    '''
    )
    ap.add_argument(
                    "-o", "--output", required = True,
                    help = '''

                    Метод выполнения скрипта: trminal или csv.
                    terminal - создается папка: название_базы + _recogn,
                    в ней подпапка pict - лица из паспортов
                    и подпапка descript - дескрипторы в двоичном формате,
                    выхлоп распознования - в терминал.

                    csv - дескрипторы(в формате: float), изображение лиц(в формате: base64),
                    а так же данные паспортов сохраняются в НАЗВАНИЕ_БАЗЫ_С_ИЗОБРАЖЕНИЯМИ.csv
                    '''
    )
    ap.add_argument(
                    "-f", "--output_file", required=True,
                    help="путь к результирующему файлу"
    )
    
    args = vars(ap.parse_args())
    
    if str(args["improved_recognition"]).lower() == "on" or str(args["improved_recognition"]).lower() == "off":
        improved_recognition = str(args["improved_recognition"]).lower()
    else:
        print("improved_recognition только ON или OFF\nВыход!")
        sys.exit()

    if str(args["output"]).lower() == "terminal" or str(args["output"]).lower() == "csv":
        output = str(args["output"]).lower()
    else:
        print("output только terminal или csv\nВыход!")
        sys.exit()


    # получаем правильный путь к файлам с точки срения python
    path_pict=os.path.abspath(str(args["path_pict"]).lower())
    abs_path_folder, filename = os.path.split(path_pict)
    list_abs_path_folder = ReturnAbsPathPict().main(abs_path_folder)

    folder = f"{path_pict}"
    abs_path_pict = os.path.abspath(folder)


    path_output = os.path.abspath(str(args["output_file"]).lower())
    #print(abs_path_pict)
    #print(list_abs_path_folder)
    

    print(f"Идет распознование изображения: {abs_path_pict}\n")
    # возврат полного пути + конвертация изображения в .png
    path_cache_pict = ReturnPathConvertImage(abs_path_pict).main(abs_path_pict,list_abs_path_folder)
    # возврат полного пути + удаление заднего плана
    #path_pict_no_bg = RemoveBG(path_cache_pict, visualization=False).main()
    path_pict_no_bg = path_cache_pict

    # возврат словаря с данными(изображение без фото лица, само фото лица) + дескрипторы лица
    dict_image_no_face_and_cropped_face = FaceWork(path_pict_no_bg, visualization=False).main()
    # возврат списка выделенных данных с помощью cv2
    data_list_gorizontal, data_list_vertical = SDWCV2(dict_image_no_face_and_cropped_face, visualization=False).main()
    # возврат списка распознанных с помощью tesseract данных
    list_all_data_gorizontal, list_all_data_vertical = TessRecogn(
                                                                        improved_recognition,
                                                                        data_list_gorizontal,
                                                                        data_list_vertical
        ).main()

    OUTput(
                args,
                output,
                path_output,
                dict_image_no_face_and_cropped_face,
                list_all_data_gorizontal,
                list_all_data_vertical
        ).main()

if __name__ == "__main__":
    main()

Тут, думаю, все понятно:

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

2. Конвертируем фото в png и меняем размер. 

3. Далее распознаем лицо, используя библиотеки Open CV и Dlib на фото, для того чтобы правильно перевернуть фото. 

4. После чего по заранее известным координатам получаем обрезки рисунков с необходимыми нам текстами.

5. Далее распознаем текст и выводим его в CSV файл.   Easy ;-)

Ну что же, осталось подружить все это добро с 1С.

Пишем обработку на 1С.  Тестировалось на Платформе 8.3.22.1750


&НаКлиенте
Процедура Распознать(Команда)
	объект.ИмяВыходногофайла= "C:/python/paasport/output" + СокрЛП(Новый УникальныйИдентификатор())+".csv";
	КомандаСистемы("C:\Python39\python C:\python\paasport\passport.py --p """+объект.Паспорт+""" --improved_recognition=off -o=csv -f="""+объект.ИмяВыходногофайла+"""","C:\python\paasport\"); 
	Ожидание();
КонецПроцедуры

&НаКлиенте
Процедура Ожидание()
	МойФайл = Новый Файл(объект.ИмяВыходногофайла);
	
	Если НЕ МойФайл.Существует() Тогда 
		ПодключитьОбработчикОжидания("Ожидание",1);
	иначе                                         
		Текст = Новый ЧтениеТекста;
		Текст.Открыть(объект.ИмяВыходногофайла);              
		Строка = Текст.ПрочитатьСтроку();
		объект.данныеПаспорта= Строка;
		ОтключитьОбработчикОжидания("Ожидание");

	КонецЕсли;	
КонецПроцедуры	

В итоге получаем неплохой результат.

 

Все получилось...

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

Наименование Файл Версия Размер
Модули Python для Распознавания паспорта РФ. Python+1С

.rar 90,71Mb
16
.rar 90,71Mb 16 Скачать
Внешний отчет обработка 1С 8.3 для Распознавания паспорта РФ. тестировалось на Платформе 8.3.22.1750

.epf 7,08Kb
11
.epf 7,08Kb 11 Скачать
Тестовый Паспорт РФ в формате jpg

.jpg 104,90Kb
4
.jpg 104,90Kb 4 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2810 30.01.23 11:37 Сейчас в теме
Отлично! Только вот нафига каждый раз команду системы дергать? Сделайте в виде сервиса - три строки дописать. И пусть 1С дергает урлу с токеном по SSL.
kuzyara; Indgo; Sedaiko; gzharkoj; Nefilimus; nvv1970; +6 Ответить
3. Indgo 318 30.01.23 11:53 Сейчас в теме
(1)
команду системы дергать? Сделайте в виде сервиса - три строки дописать. И пусть 1С дергает урлу с токеном по SSL.

Да согласен.
Те кто хочет получать данные не через файл а через веб сервис допиливаем модуль python
from flask import Flask
app = Flask(__name__)

@app.route("/<данные картинки в формате dbase64>", methods=['GET'])
def index(username):
#тут можно вываливать распознанные паспорнтые данные
    return "Hello, %s!" % username 

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=4567)
Показать

Теперь из 1с можно получать данные через http запрос из http://localhost:4567/{jpeg картинка в формате dbase64}
JohnyDeath; fancy; German; Sedaiko; sapervodichka; starik-2005; +6 Ответить
13. dsdred 2498 01.02.23 07:44 Сейчас в теме
(3)такие вещи лучше через POST передавать.

А статья отличная.
14. Indgo 318 01.02.23 09:38 Сейчас в теме
(13) @Post - это так олдскульно %-)
16. ltfriend 1025 01.02.23 19:19 Сейчас в теме
(14) а передавать данные изображения в URL GET-запросом это "стильно, модно, молодёжно"?
Взято с developer.mozilla.org
Метод GET запрашивает представление ресурса. Запросы с использованием этого метода могут только извлекать данные.
POST используется для отправки сущностей к определённому ресурсу.
dsdred; Indgo; +2 Ответить
17. dsdred 2498 03.02.23 00:27 Сейчас в теме
(14)так то на минуточку... Вы паспортные данные гоняете.
утюгчеловек; y22-k; +2 Ответить
23. Indgo 318 08.02.23 21:08 Сейчас в теме
24. dsdred 2498 08.02.23 21:18 Сейчас в теме
(23) В URL
http://localhost:4567/{jpeg картинка в формате dbase64} - она же паспортные данные

-> MITM-атака (Man in the middle – атака человека посередине)
Прикрепленные файлы:
26. Indgo 318 09.02.23 23:27 Сейчас в теме
(24) Ну да. Что сказать.
Тут уж какая разница пост или гет. Либо есть шифрация SSl либо нет. Если поднимать свой сервис на локалхост, то сами понимаете - некуда ваши запросы за пределы сервера не уйдут.
Поэтому и выкладываю тут коды, чтобы сами могли сделать свой "личный" сервис
Трактор; +1 Ответить
28. Трактор 1243 22.02.23 10:07 Сейчас в теме
(24) убиться веником!
В чём принципиальна разница между get и post? Только в буквах, что написаны в заголовке запроса. Больше ни в чём. Технически это один и тот же хттп запрос.
Одни языки позволяют отправлять тело запроса в get, например, питон, 1С. Другие принципиально требуют отправить тело запроса только методом post, например php.

На мой взгляд,это ограничение искусственное. Я делал веб сервис, принимающий отбор в виде json. Я не знаю какого размера будет этот json, поэтому жду его в теле запроса. Программисты php понимают почему так сделано, но могут пользовать только post.

Вот така беда, малята.
29. dsdred 2498 22.02.23 10:32 Сейчас в теме
(28)с кем то можно договорится и придерживаться договорённостей, а кто-то плювал на все и делает как хочется.

Но я лучше съем то что сделано по ГОСТ чем по ТУ.
31. buganov 194 03.03.23 05:14 Сейчас в теме
(17)в границах одной машины же, на которой этот паспорт уже лежит
15. Indgo 318 01.02.23 09:43 Сейчас в теме
(13) Недавно смотрел коды яндекса. Там тоже есть программисты , которые постятся. Потом на сайте жмешь назад, а он такой - "Вы подтвержадаете повторую отправку формы"? итп
2. JIEX@ 83 30.01.23 11:43 Сейчас в теме
4. Sedaiko 449 30.01.23 14:01 Сейчас в теме
Лучше python-функции обернуть в FastAPI или даже в Bottle и обращаться через HTTPСоединение.
anvolkov1cbit; Indgo; +2 Ответить
5. Indgo 318 30.01.23 14:21 Сейчас в теме
(4)
е python-функции обернуть в FastAPI или даже в Bottle и обращаться через HTTPС

Да согласен. Так даже лучше.
6. VKuser924421 30.01.23 15:17 Сейчас в теме
Можно проще. Посмотрите в типовой УТ кусок кода для запуска внешней программы. Там она будет ждать возврата из программы например имени файла.


ФайловаяСистемаКлиент.ЗапуститьПрограмму(
КомандаЗапуска,
ПараметрыЗапускаПрограммы);
NiGMa; Indgo; +2 Ответить
7. Indgo 318 30.01.23 16:30 Сейчас в теме
(6)
ФайловаяСистемаКлиент.ЗапуститьПрограмму(
КомандаЗапуска,
ПараметрыЗапускаПрограммы);

Да спасибо. Посмотрю
8. tindir 31.01.23 04:27 Сейчас в теме
Читал про тессеракт и опенЦВ. Впечатлен был по самое небалуй. Но споткнулся на реализации. Была идея распознавать внутренние "товарки" и кусочек входящей упд. Так и не сообразил как надрессировать опенцв на поиск нужной области.
20. Indgo 318 06.02.23 11:37 Сейчас в теме
(8) позже выложу распознавание счф, торг12, упд итп. Там конечно сложнее чем паспорт, но библиотека CV2 решает большинство проблем.
9. AntonProgma 41 31.01.23 10:40 Сейчас в теме
1С:Гадюка. Если питон и 1с скрестить.
VasilyErmak; spectre1978; Indgo; +3 Ответить
12. Indgo 318 31.01.23 12:13 Сейчас в теме
(9)
1С:Гадюка

Точно гадюка.
10. VSvintsov1 31.01.23 11:33 Сейчас в теме
скачиваем ... заимствуем ... воспользуемся сборкой для win64 от немецких коллег ...
откуда такая безграничная уверенность в безопасности открытого ПО в целом, и в частности того что в статье указано?
действительно специалист службы безопасности разрешил все это использовать с конфиденциальными данными?
11. Indgo 318 31.01.23 12:12 Сейчас в теме
(10)
качиваем ... заимствуем ... воспользуемся сборкой для win64 от немецких коллег ...
откуда такая безграничная уверенность в безопасности открытого ПО в целом, и в частности того что в статье указано?
действительно специалист службы безопасности разрешил все это использовать с конфиденциальными данными?

Порядочные джентльмены доверяют друг другу.
Если доверие нарушено - то он лишается такого статуса. Лично я доверительно отношусь к компании HP и к Мангеймскому университету.
Tesseract - есть совместный продукт компании HP и Google.
Если вы не доверяете им либо считаете что вы умнее специалистов HP и Google - то не качайте и напишите свой распознаватель текста.
Если вы не доверяете библиотекам типа Dlib, cv2- то это вопрос не ко мне. Хотя может вы и правы, может все зависит от степени паранои ).

Ну к примеру профессор Рудольф и доктор Ганс после лекций Мангеймского университета тайно собираются с разрабами Google итп... в темных подвалах, одевают одежду темную одежду с темными капишонами и пишут под диктовку илона Маска зловредный код.... Страшно??? .. бугагага.
А еще бывают случаи когда Илон Маск считывает ваши кредитные карты(Картридер встроен в корытце Tesla Model Y вместе с безпроводной зарядкой) а потом после работы заказывает через Сбербанк онлайн пиццу на ваши кровные деньги. Поэтому покупайте Жигули семерку. И телефон только Аналоговый и говорите шифрованными словами чтобы Марюся(Унмная Колонка) соседки вас не подслушивала.
Garik-1980; vita55555; comptr; Progerok; narayanan; +5 Ответить
27. izidakg 167 10.02.23 08:52 Сейчас в теме
(10) странное замечание для своего сервиса.
безопасникам лучше канал на внешний сервис проверить и сотрудников сервиса, код сервиса?
если параноить так, стоит самому сборку с исходников собрать. и так иногда делают. хотя и тут возникает вопрос - а сотруднику что сборку компилировал вы доверяете?
18. cdb 26 04.02.23 12:43 Сейчас в теме
Раздел "Далее устанавливаем библиотеки" .
7. устанавливаем DLIB
python -m pip install -U dlib==19.22.1
8. устанавливаем tesseract-ocr.
python -m pip install -U dlib==19.22.1

Т.е. одна команда для установки разных библиотек. Так?
22. Indgo 318 06.02.23 11:41 Сейчас в теме
(18) Спасибо. Была опечатка. Исправил на "pip install pytesseract"
19. MarryJane 31 05.02.23 16:50 Сейчас в теме
Если кому интересно для ИИС web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\Programs\Python\Python37\python.exe|C:\inetpub\wwwroot\getpolyline\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>

</system.webServer>
<appSettings>
<add key="WSGI_HANDLER" value="main.wsgi_app"/>
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\getpolyline\" />
<add key="WSGI_LOG" value="C:\inetpub\wwwroot\getpolyline\wfastcgi.log" />
</appSettings>
</configuration>

* - D:\Programs\Python\Python37\python.exe - адрес питона
* - C:\inetpub\wwwroot\getpolyline\wfastcgi.py - адрес вебсервиса

Пример main.py

from fastapi import FastAPI, Header, Body
from a2wsgi import ASGIMiddleware

tags_metadata = [
{
'name' : 'items',
'description': 'items',
}
]

app = FastAPI(
title = 'Polyline API')

--- описание методов get post (метод post в IE не срабатывает так что не воспринимайте как ошибку)

wsgi_app = ASGIMiddleware(app) // главная обертка

У меня вебсервис рассчитывает расстояния между точками, которое получается от гугла.
_Ramzes; dsdred; Indgo; AleksandrFil; +4 Ответить
21. Indgo 318 06.02.23 11:39 Сейчас в теме
(19)
Если кому интересно для ИИС web.config

Для apache лучше скинь ;-)
Трактор; +1 Ответить
25. vlaskin 82 09.02.23 18:10 Сейчас в теме
А можно использовать другой вариант https://infostart.ru/public/1557184/, локальная установка (правда exe), также на выходе получается текстовый файл, из которого уже можно вытащить нужную информацию. Я так сделал загрузку разовых начислений в ЗУП 3.1 по скану наряда, утвержденного в организации (все данные в скане пропечатаны, от руки только подписи ответственных).
30. evgen 26.02.23 13:55 Сейчас в теме
Т.к. стартманей нет, хотел повторить за автором, но... В показаном passport.py ошибка: у первого аргумента не закрыт description. И видимо в "list_abs_path_folder = ReturnAbsPathPict().main(abs_path_folder)" что то не так. Потому как питон ругается, что "TypeError: main() takes 1 positional argument but 2 were given".
32. websamson 306 03.03.23 08:54 Сейчас в теме
Ошибка:

Traceback (most recent call last):
  File "D:\Python310\paasport\passport.py", line 100, in <module>
    main()
  File "D:\Python310\paasport\passport.py", line 80, in main
    dict_image_no_face_and_cropped_face = FaceWork(path_pict_no_bg, abs_path_folder, visualization=False).main()
  File "D:\Python310\paasport\lib\face_work.py", line 163, in main
    abs_path_resize_pict, list_face_descriptor = self.find_face_and_resize_pict(path_pict_no_bg, sp, facerec)
  File "D:\Python310\paasport\lib\face_work.py", line 92, in find_face_and_resize_pict
    img = dlib.load_rgb_image(path_pict_no_bg)
RuntimeError: Unable to open file: C:\Users\cache\picts/паспорт.png
Показать
Оставьте свое сообщение

См. также

Подсистема выгрузки данных во внешнюю базу SQL

Внешние источники данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

08.02.2023    1368    9    linkov    3    

11

Внешняя компонента для подключения 1С к однофазным электросчетчикам Меркурий

Разработка внешних компонент Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя компонента выполнена по технологии Native API для 1С 8.3, и предназначена для сбора и документирования данных от однофазных счетчиков Меркурий 200, 201, 203 (кроме Меркурий 203.2TD), 206 Посредством интерфейсов RS-485, CAN.

1 стартмани

11.08.2022    2579    5    user1779098    4    

11

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    8084    21    huxuxuya    29    

76

Консоль запросов SQL (управляемые формы)

Инструменты администратора БД Инструментарий разработчика Внешние источники данных Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    6138    34    nikolasx    7    

27

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    7126    29    Bassgood    15    

45

Готовые переносы данных из различных конфигураций 1C Промо

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

Интеграция 1С и OTRS: Синхронизация заметок тикетов

Управление проектом (PMO, EPM) Внешние источники данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х ИТ-компания Управленческий учет Абонемент ($m)

Внешняя обработка для интеграции 1С с системой обработки заявок OTRS. Предназначена для обмена информацией о заявках, позволяет создавать тикеты и заметки из 1С, загружать заметки (элементы тикетов, заявок) из OTRS в электронные письма. Использует API, предоставленный OTRS. Обмен работает как регламентное задание. Разработан на базе УТ 11.4 и OTRS 5s free.

6 стартмани

18.11.2021    5543    11    tps_01    0    

3

Практика OData. Пишем проводник по данным

Внешние источники данных Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

Специалисты, начиная работать с OData, сталкиваются с трудностями с первых шагов - не очевидно какие именно данные может дать источник и какие механики доступны для формирования выборок данных. Так возникла идея написать обработку, которая позволяет проанализировать структуру и содержимое источника OData, а так же станет примером кода для всех тех, кто делает свою интеграцию на платформе 1С:Предприятие 8.

3 стартмани

11.10.2021    7880    25    Dementor    7    

31

Конструктор подключения к внешним источникам

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Какую строку подключения использовать к новому источнику? Эта обработка позволяет создать и проверить множество строк подключения сразу.

2 стартмани

20.09.2021    6080    4    kraynev-navi    2    

16

Пример обмена данными через XDTO

Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Пример обмена данными между 1С и сторонним приложением посредством механизма XDTO.

1 стартмани

01.03.2021    15360    20    user925427    2    

22

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

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

23.06.2020    22314    208    Lem0n    1    

67

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Пример загрузки сообщений из шины Apache Kafka

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Пример загрузки сообщений из Apache Kafka средствами REST API, который реализуется в рамках Confluent Platform.

1 стартмани

10.04.2020    7289    49    thueirby    3    

12

Обработка создания представлений (view) для BI, Tableau, QlikView и т.д.

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка создает view на все таблицы(почти) БД 1C в юзабельном виде, пригодном для работы с этими таблицами из BI систем.

1 стартмани

24.01.2020    5888    22    ebongo    2    

16

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

WEB-интеграция Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

10 стартмани

05.12.2019    33158    49    zykov_vitaliy    28    

45

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

Внешние источники данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.10.2019    11215    6    Sedaiko    4    

14

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

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

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

10.09.2019    22166    58    sivin-alexey    11    

61

Чтение файлов PDF из 1С

Внешние источники данных Универсальные обработки Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

09.09.2019    34195    88    da_1c    8    

26

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

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

06.09.2019    18206    19    duhh    17    

65

Расширение Бром для интеграции с 1С

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

06.08.2019    15446    5    itworks    25    

23

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

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

4 стартмани

08.07.2019    29617    46    miha-28    17    

41

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Синхронизация данных между ЗУП 3.1 и Active Directory

Внешние источники данных Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Обработка для синхронизации данных между ЗУП 3.1 и Active Directory. LDAP запрос. Синхронизация. Работает на релизе ЗУП 3.1.8.246 платформа 8.3.13.1644

3 стартмани

29.05.2019    15828    71    user807393    19    

11

Пример работы с viber из 1С, отправка сообщений из 1С в viber

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка разработана для примера отправки сообщений в viber из 1С.

1 стартмани

16.05.2019    28553    120    Isa816    25    

20

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

Внешние источники данных WEB-интеграция Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

04.05.2019    34493    113    MarkoSokolov    48    

114

Пример интеграции СДЭК API

Внешние источники данных Оптовая торговля Платформа 1С v8.3 Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Пример интеграции с СДЭК через API. Содержит базовый код для вставки в свою разработку. Может служить шаблоном для интеграции в любую конфигурацию. Не является конечным продуктом!

1 стартмани

17.04.2019    16891    82    mixperm    12    

11

1С и Битрикс24, загрузка и прослушивание звонков в 1С. Интерактивно и через регламентное задание. Инициирование звонка битрикс из 1с (секретные команды).

Внешние источники данных Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Абонемент ($m)

1С и Битрикс24, загрузка звонков, прослушивание в 1С. Распознавание партнеров, сотрудников, Контактных лиц. Отображается звонок во взаимодействиях карточки партнера. Добавлены коды битрикс из командной строки. Если запущено приложение для звонков битрикс, может инициировать звонок из 1с, хотя в API такой функции нет

1 стартмани

04.04.2019    13968    20    p.ugrumov    4    

13

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Работа с Active Directory из 1С (загрузка / выгрузка данных)

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Загрузка данных из Active Directory / Изменение информации пользователя в AD из 1С.

1 стартмани

26.02.2019    24505    164    Смешной 1С    9    

23

HTTP API Диадок. Загружаем в Диадок любой документ. Посредством POST и GET запросов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Поставили задачу через HTTP API Диадок (diadoc-api.kontur.ru) отправить любой файл в Диадок и подписать его (например, служебную записку в формате пдф). Посредством POST и GET запросов.

2 стартмани

14.01.2019    26702    92    John_d    17    

32

Исправление ошибки универсального обмена Бухгалтерия предприятия, редакция 3.0 (3.0.65.х, расширение конфигурации)

Внешние источники данных Адаптация типовых решений Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Уже у третьего клиента вижу ошибку Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {http://www.1c.ru/SSL/Exchange/Message}Header Значит, как говаривал Винни-Пух - это неспроста. Ну и точно неспроста, 1С что-то подшаманили в обмене через универсальный формат.

1 стартмани

19.10.2018    36520    57    capitan    15    

24

Внешние обработки-полуфабрикаты

Универсальные обработки Внешние источники данных WEB-интеграция Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

На данный момент в публикацию включены внешние обработки-"болванки": для интеграции со сторонними системами на основе типового плана обмена; для вывода отчета по какой-либо проверке с последующей обработкой-корректировкой; механизм для создания универсальной настройки на основе отбора СКД (отбор на СКД, запиханный в табличную часть).

1 стартмани

16.10.2018    12084    48    Kutuzov    0    

14

Загрузка чека онлайн-касс (загрузка товаров из чека)

Внешние источники данных WEB-интеграция Кассовые операции Розничная торговля Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) из почтового сообщения, отправленного из приложения ФНС проверка чеков.

2 стартмани

08.10.2018    37139    47    echo77    76    

46

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Обмен 1С:Управление Торговлей 11 и Frontol 5

Внешние источники данных Розничная торговля Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Абонемент ($m)

Обработка обмена для 1С Управление Торговлей 11 и фронт-кассовой системы Frontol. Отличия от типовой: выгрузка дисконтных карт с накоплениями. Выгрузка категорий товаров.

3 стартмани

14.07.2018    37289    144    Kutuzov    169    

15

ЕГАИС: Розница 2.3.* Удаление данных из УТМ

Внешние источники данных Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Розница Розничная и сетевая торговля (FMCG) Россия Акцизы Абонемент ($m)

В процессе работы с ЕГАИС периодически возникают ошибки на тот или иной Tiket. Чтобы удалить ошибочный тикет, можно воспользоваться утилитой Curl, но не все умеют ей пользоваться. Для удобства удаления "зависших" тикетов была написана небольшая обработка, которая периодически выручает.

1 стартмани

02.07.2018    12177    80    gigabyte-leha    7    

12

RabbitMQ + 1С. Быстрый старт

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Внешняя компонента для отправки сообщения из 1С в кролика. Сервис прослушивания и перенаправления сообщений из кролика в http или web-сервис.

1 стартмани

10.06.2018    57882    153    Goleff74    46    

112

Экономим время на ввод операций в 1С: Деньги

Внешние источники данных Обработка документов Банковские операции Платформа 1С v8.3 Конфигурации 1cv8 Домашние учет и финансы Абонемент ($m)

Рабочее решение автоматического создания операций в 1С: Деньги. Основано на анализе СМС.

1 стартмани

14.05.2018    23546    18    vsbronnikov    31    

44

Битрикс24. Работаем с оффлайн событиями

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Появление оффлайн событий упростило синхронизацию Битрикс24 -> 1С. Теперь, например, можно загрузить только измененные между сеансами обмена сделки. А не тащить все незавершенные. В статье описание, как это можно сделать.

1 стартмани

11.05.2018    18169    55    user662672_explorer2000    29    

20

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Интеграция с Redmine (Rest-API)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Интеграция с Redmine (Rest API). Тестировалось на 1С:Предприятие 8.3.12.1412 1. Получение списков Проектов, Трекеров, Статусов, Версий, Пользователей 2. Отбор задач по дополнительным полям (произвольные поля добавляемые пользователями в Redmine) 3. Получение Учета времени с отбором по пользователю и диапазону дат 4. Получение задач с различными отборами (гибкая настройка)

1 стартмани

28.04.2018    23443    71    lastpioneer    7    

16

Интеграция между Atlassian Jira и 1С:Предприятие 8.3 используя Jira REST API (выборка, создание и изменение запросов, чтение, создание и удаление записей о работах, чтение комментариев и другие возможности)

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с Atlassian Jira используя Jira REST API. Ключевые функции: выборка запросов с использованием JQL; добавление и изменение запросов; добавление, изменение и удаление записей о работах; чтение комментариев к запросам; сохранение всех ключевых параметров между сеансами работы. Тестирование проводилось на платформе 1С (8.3.11.2954) совместно с JIRA Server platform (7.3.7)

1 стартмани

24.04.2018    56052    361    Ko1t    100    

124

Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Внешние источники данных WEB-интеграция Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

09.04.2018    69685    487    Ko1t    104    

211

Выгрузка через JSON

Внешние источники данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Пример выгрузки документа в формате JSON, с выгрузкой в этот же файл, данных всех ссылочных реквизитов документа. (управляемые формы). Тестировалось на Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.4.171).

1 стартмани

21.03.2018    12531    30    pavel_pss    4    

13