Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задача для Алексея Панкова https://www.weblancer.net/users/Qulac, интеграция с ЧЗ

.

С 01.07.2020 в РФ вводится обязательная маркировка лекарств. Занимается этим https://честныйзнак.рф/ (далее ЧЗ). 

Нужно сделать виндовую службу, которая обеспечит обмен данными между расположенным в интернете сервером ЧЗ, и расположенным в локальной сети MS SQL Server.

.

Т.е. служба работает, раз в Х секунд проверяет наличие новых документов в определенных таблицах в SQL Server. Если я в SQL Server добавил в заданную таблицу xml документ, например "Накладная приема лекарств", то служба должна передать его на сервер ЧЗ. 

Раз в Y минут служба проверяет наличие новых документов на сервере ЧЗ, и при наличии, загружает их, и кладет в SQL Server.

При появлении в таблице в SQL Server новой записи "получить справочник Х", служба получает из ЧЗ справочник Х.

Визуализация, обработка и формирование документов не нужна, нужен транспортный уровень. Т.е. авторизация, УКЭП, сертификаты, получение данных, отправка данных, постраничное получение, интервалы между запросами, логирование, устойчивость к ошибкам, обработка ошибок, преобразование в/из base64, и т.п.

.

Язык разработки MS C#. В качестве базы данных используется MS SQL Server 2008R2 Express.

Совместимость - винды, кроме совсем уж древних, типа ХР, и мобильных. 

.

Требуемые навыки, и используемые инструменты:

• Бесплатная редакция MS C# (нужно будет поднять и настроить на предоставленном компе)

• MS SQL Server 2008 R2 Express (добавление объектов в существующую базу)

• Клиентская часть REST API сервисов, HTTP, HTTPS, SSL (RSA и ГОСТ), УКЭП

.

Есть доступ к Песочнице ЧЗ. Заказчик предоставляет компьютер, с установленной УКЭП, и работающим личным кабинетом ЧЗ, и установленной базой MS SQL. Тестирование производится на этом компьютере.

Когда Заказчик собирает проект из исходного кода у себя на компьютере, в случае проблем Исполнитель помогает Заказчику с ними разобраться.

.

Собственником кода является Заказчик.

Инструменты общения во время разработки - телеграмм и скайп.

В случае использования каких-либо внешних компонентов в C#, обязательно их согласование.

Требуется аккуратное оформление кода, наличие комментариев, при необходимости - пояснения что и как в коде работает.

Правила оформления кода - будут предоставлены отдельным документом, если в этом будет необходимость.

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

По времени, я предполагаю, на работу нужно около недели рабочего времени. Это моя оценка объема работ, а не требование по срокам.

.

Насколько я понимаю описание https://честныйзнак.рф/upload/iblock/200/IS-_Markirovka_.-MDLP.-Protokol-obmena-interfeysnogo-urovnya.pdf, логика ЧЗ такая, что во всех многообразных функциях и обращениях к серверу ЧЗ, все значимые данные компонуются в json/xml, и передаются как одно целое. Это означает, что мы можем вынести формирование xml / json / get строки за пределы разрабатываемой службы. То есть Вам, как Разработчику, не надо будет отдельно программировать каждый из упомянутых в "Протоколе обмена" методов. Допустим, есть метод 7.5.1. "Получение объекта ФИАС по идентификатору адресного объекта". Служба берет из MS Sql: Адресную строку "Endpoint: GET //reestr/fias/addrobj/{addrobj}", тип метода get/post, json со всеми параметрами (подготовленный за пределами службы, в данном случае пустой). И посылает в ЧЗ, не зная, что это за метод, и не кодируя его параметры. Ответ тоже приходит в формате json, и разборку полученного json на отдельные параметры тоже выносим за пределы службы.

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

в "Протоколе обмена..." говорится, что документы большого объема пересылаются через WebDAV. В этом же документе в п. "5.5. Получение информации об ограничении размера небольших документов" говорится, что сейчас большим считается документ размером более 1 Мб. Накладные, и т.п. документы в формате xml занимают в разы меньше места, чем 1 Мб. Соответственно, исходим из предположения, что WebDAV НЕ нужен.

.

Перечисление что нужно от службы:

1. base64 кодировка xml, раскодировка, подписание xml УКЭП

2. Всякое разное логирование

3. Задержка между однотипными запросами, как это прописано в правилах ЧЗ. Т.е. например если в chz_out лежит 5 однотипных документов, которые надо отправить в ЧЗ, то отправлять их все одновременно, по правилам ЧЗ, нельзя, надо не чаще чем 1 документ в Х секунд.

4. Обработка ошибок отправки/получения данных, и повторные попытки отправки/получения тех же данных

5. Для обновления справочников по расписанию, проверке наличия в ЧЗ новых документов и т.п. - запуск заданной хранимки(ок) по расписанию. Сами хранимки пишет Заказчик

6. Возможность простейшего xor шифрования паролей из настроечного файла

7. Настроечный файл желателен ini, чтобы техподдержку не переучивать на xml

8. Черновая структура данных MS SQL готова. Нужен будет скрипт для создания структуры данных MS SQL, для возможности быстрой установки на новых компьютерах. Могу с этим помочь

9. Скорее всего, я что-нибудь забыл, список может пополняться, но я стараюсь не злобствовать. 

.

Этапы:

1. Коннект к ЧЗ, авторизация

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

3. Вся обвязка. Общение с MS Sql, логирование, настройки, и т.п.

.

Оплата:

Первый этап 20%, второй и третий по 40%

Исполнитель показывает работу этапа на тестовой машине, если все ОК, то этап оплачивается. Исходный код передается после оплаты этапа, хотя может передаваться и до - на усмотрение Исполнителя. Этап считается завершенным после успешной сборки проекта на компьютере Заказчика, и устранения выявленных недостатков, т.е. после оплаты.

Оплата в рублях, со Сбера на Альфабанк. Безопасная сделка не используется.

Стоимость 30 тыс ($400).

.

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

https://честныйзнак.рф/upload/iblock/25b/Kratkaya_instruktsiya_po_bystromu_startu_dlya_izucheniya_API.pdf

.

ИС "Маркировка". МДЛП. Протокол обмена интерфейсного уровня. Настройка сертификатов и т.п. описано в разделе 4.5

https://честныйзнак.рф/upload/iblock/200/IS-_Markirovka_.-MDLP.-Protokol-obmena-interfeysnogo-urovnya.pdf

.

Подборка документов от ЧЗ для разработчиков

https://честныйзнак.рф/business/projects/medicines/documents/for_developers/

4 года назад
x_jerry
Игорь 
51 годРоссия
17 лет в сервисе
Был
6 месяцев назад
Выбранный исполнитель
Qulac
50 летРоссия
7 лет в сервисе
Был
месяц назад
4 года назад
$400
14 дней
Без проблем справился с задачей, с которой не справился до него другой программист. Были проблемы со сроками, работа длилась в несколько раз дольше чем планировалось, но я Алексея и не торопил особо.
Игорь - отличный, адекватный заказчик, Сотрудничеством с ним доволен, всем рекомендую.
  • Похожие заказы
  • $10

    [url=https://github.com/bazuka5801/SteamFakePlayer/tree/master/SteamFakePlayer]https://github.com/bazuka5801/SteamFakePlayer/tree/master/SteamFakePlayer[/url] Там 3 программы, скомпилировать , что-бы запускались и отправить мне)

    Закрыт
    4 года назад
  • Нужно приложение, которое бы могло реализовать распознавание номерных знаков автомобилей с видео записи камеры наблюдения Есть однополосная дорога, идущая в двух направлениях - полоса в каждую сторону. Нужно в базу записывать Число пройденных машин Все номерные знаки Съемка только в ...

    Закрыт
    4 года назад
  • Вот видео [url=https://drive.google.com/file/d/14rcYiEGWXB92sEZIaHrX5T74r2E3gsUc/view?usp=sharing]https://drive.google.com/file/d/14rcYiEGWXB92sEZIaHrX5T74r2E3gsUc/view?usp=sharing[/url] Нужен скрипт, чтобы распознавать время появления и исчезновения надписей в облачках. Возможно можно использовать этот [url=https://git.clapity.eu/Id/YoloCR]https://git.clapity.eu/Id/YoloCR[/url] но я не знаю как его запустить. Если вы сможете проверить его работоспособность и настроить его под надписи, что на видео, ...

    Закрыт
    4 года назад
  • Требуется добавить функцию отсутствия переноса по словам в текстовом редакторе с открытым кодом (c++). Как это реализовано в обычном блокноте, если снять галочку с "переноса по словам". Названия редактора - Textroom. Он есть в интернете https://code.google.com/archive/p/textroom/downloads У ...

    Прикладное ПО1 исполнитель
    Закрыт
    4 года назад
  • $5000

    Необходимо разработать устройство, определяющее расстояние между объектами от нескольких метров  до нескольких десятков сантиметров. Пример: люди ходят с устройствами, и при  достижении определенного расстояния, устройство фиксирует расстояние и отправляет на сервер.  Главное - это возможность определить ...

    Закрыт
    4 года назад
  • $10000

    Ищем 2х программистов C/С++, C# Developer. Задача: разработка прикладного программного обеспечения. Ориентировочный срок участия в проекте 1 год. Оплата обсуждается по результатам собеседования. Требования к кандидату: .NET Core 3.0, WPF, ReactiveUI, Entity Framework Core, PosgreSQL, SmartCOM, Azure DevOps, Git .NET Framework ...

    Закрыт
    4 года назад
  • Доброго времени суток! Есть проект линейных LED часов. Часы должны работать на ардуино, иметь будильник и разумеется кнопки которыми устанавливается будильник и при необходимости корректируется время.

    Закрыт
    4 года назад
  • На сервере хранятся логины, хэши к паролям и баланс аккаунтов. Нужно реализовать логирование в popup (расширение в гугл хром), чтобы клиент, введя логин и пароль, мог увидеть свой баланс. Жду предложения по стоимости и срокам

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • [b]Задача [/b]Приветствую! Требуется по примеру написать ТЗ на проект 1в1. Исполнение проекта пока десктопное, связанное с сервером поставщика. Учётная ERP. Если есть что-то готовое на тему автозапчастей+автосервисов - готовы рассмотреть к приобретению. [b]Обязательные требования [/b]Расширенное текстовое описание без технических подробностей.

    Закрыт
    4 года назад