Skip to content

Project of driver development for 1C 8 payment terminal according to the standard of connected equipment drivers (version 4.4)

License

Notifications You must be signed in to change notification settings

d0codesoft/AddInECRDriver

Repository files navigation

Внешняя компонента 1С AddIn для POS Терминала (Эквайрингового терминала)

Утилита тестирования AddIn 1C 8

Находится в процессе разработки

📄 Описание

Данная внешняя компонента предназначена для интеграции POS-терминалов (эквайринговых терминалов) с платформой 1С:Предприятие 8.3. Компонента реализует взаимодействие с терминалами по протоколу ECR (электронный кассовый регистратор) от PrivatBank, основанному на формате JSON.

Подключаемая компонента соответствует стандарту "Требования к разработке драйверов подключаемого оборудования", версия 4.4, и обеспечивает полный набор методов для интеграции с решениями 1С.


⚙️ Основные возможности

  • ✅ Поддержка протокола ECR от PrivatBank
  • 📝 Обмен данными в формате JSON
  • 🔗 Совместимость с платформой 1С:Предприятие 8.3
  • 💡 Поддержка ключевых методов для интеграции с POS-терминалами
  • 🛡 Подробная обработка ошибок и логирование событий
  • 🌐 Поддержка локализации интерфейса

📜 Таблица версий и требований к конфигурациям

Конфигурация Версия конфигурации Версия БПО Требуемая версия стандарта
BAS SmallBusiness 1.6.X.X 2.1.6.16 3.4
BAS Управление торговлей 3.5.X.X 2.1.3.9 3.2
BAS ERP 2.5.X.X 2.1.3.9 3.2

📚 Используемые внешние библиотеки

  • ICU Package: 74.2 static
  • Boost: 1.87
  • pugixml: 1.15

🖥 Поддерживаемые операционные системы

  • Windows (Server) x64: версии 7–11, 2019–2022
  • Ubuntu x64: версия 22.04
  • Debian x64: последние стабильные релизы
  • macOS: последние стабильные релизы

💡 Использование

🔄 Инициализация

Для инициализации драйвера необходимо создать экземпляр класса:

ПодключитьВнешнююКомпоненту({полный путь}+"\ECR_Driver_PT_win64.dll", "Driver", ТипВнешнейКомпоненты.Native);
ОбъектДрайвера = Новый("AddIn.Driver.ECRDriverPOS");

🔧 Доступные методы

  • в процессе разработки

🏷 Доступные свойства

  • в процессе разработки

📝 Логирование

Логирование ключевых событий и ошибок производится в указанный каталог логов, который задается при инициализации драйвера.


Утилита тестирования AddIn 1C 8

Обзор

Эта утилита позволяет автоматизированное тестирование компонентов AddIn для 1С:Предприятие 8. Она использует формат скриптов (.testscript) для определения тестов, включая вызовы процедур и функций с параметрами и ожидаемыми результатами.

Формат тестового скрипта

Тестовые скрипты пишутся в формате ini и имеют расширение .testscript.

Пример тестового скрипта

# Название теста
[Test]
Name = "Тестирование подключения POS Terminal Privat JSON"

# Вызовы
# Формат: CallAsFunc <ИмяФункции> | <Количество параметров> | <Параметр0> | <Параметр1> | ... | <ПеременнаяРезультата>, Возможны пустые параметры | |
# Формат: CallAsProc <ИмяПроцедуры> | <Количество параметров> | <Параметр0> | <Параметр1> | ... Возможны пустые параметры | |
[Execute]
CallAsFunc = ПолучитьРевизиюИнтерфейса | 0 | result1
CallAsFunc = ПолучитьОписание | 1 |  | result2
CallAsFunc = ПолучитьПараметры | 1 |  | result3
CallAsFunc = УстановитьПараметр | 2 | Address | "127.0.0.1" | result4
CallAsFunc = УстановитьПараметр | 2 | Port | 2000 | result5
CallAsFunc = УстановитьПараметр | 2 | ConnectionType | 0 | result6
CallAsFunc = УстановитьПараметр | 2 | LogLevel | 1 | result7
CallAsFunc = УстановитьПараметр | 2 | Facepay | false | result8
CallAsFunc = Подключить | 1 |  | statusConnect
CallAsFunc = Отключить | 1 | statusConnect[0] | statusDisconnect

Запуск тестов

testaddin file_name.dll --deviceType POSTerminal --script my_test.testscript

Ожидаемое поведение

  • Процедуры вызываются в указанном порядке с переданными параметрами.
  • Функции выполняются, а их результаты сохраняются в переменные для дальнейшей проверки (пока не сохраняются, но будут).

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/d0codesoft/AddInECRDriver.git
  2. Соберите проект mkdir build && cd build && cmake ..
  3. Запустите тесты с помощью testaddin.

Участие в разработке

Приветствуются предложения и pull request'ы для улучшения утилиты!


📜 Лицензия

Проект лицензирован под лицензией MIT. Подробности смотрите в файле LICENSE.


👨‍💻 Автор

Разработка: SCODE

About

Project of driver development for 1C 8 payment terminal according to the standard of connected equipment drivers (version 4.4)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published