Skip to content

Repository files navigation

Интерактивная база знаний: Протокол передачи данных ККМ -> ОФД (v2.0.3)

Это хранилище (Vault) содержит структурированное, разбитое по модулям описание протокола обмена данными между контрольно-кассовыми машинами (ККМ) и серверами оператора фискальных данных (ОФД).

Документация оптимизирована для отображения в Obsidian и в веб-интерфейсе Git (GitHub/GitLab), обеспечивая мгновенную перекрестную навигацию между protobuf-структурами, перечислениями (Enums) и бизнес-процедурами.


🛠️ Как открыть базу знаний

Вариант 1: Через Obsidian (Рекомендуется)

  1. Установите и запустите приложение Obsidian.
  2. Нажмите Open folder as vault (Открыть папку как хранилище).
  3. Выберите папку protocol/ в данном репозитории.
  4. Нажмите Ctrl+O (или Cmd+O на macOS) и введите Оглавление, чтобы открыть интерактивное оглавление.
  5. Вы можете включить режим Graph View (Интерактивный граф связей), чтобы увидеть, какие типы данных в каких сообщениях используются.

Вариант 2: Через веб-интерфейс Git / Любой Markdown-редактор

Просто откройте Оглавление и переходите по относительным ссылкам. Все ссылки работают нативно во всех современных Git-хостингах.


📂 Общая структура проекта

Вся база знаний и официальные protobuf-схемы организованы следующим образом:

cpcr/
├── README.md                      # Настоящее руководство разработчика (в корне)
├── .gitignore                     # Правила игнорирования Git
├── protokol_peredachi_dannyh_s_kkm_na_server_ofd.docx  # Исходная Word-спецификация
├── trebovaniya_kkm.xls            # Исходная таблица государственных требований к ККМ
│
├── proto/                         # Папка с официальными .proto файлами KGD
│   ├── common.proto
│   ├── ticket.proto
│   └── ...
│
└── protocol/                      # Папка с интерактивной базой знаний (Obsidian Vault)
    ├── Оглавление.md              # Интерактивное оглавление и карта спецификации
    ├── Общая информация.md        # Вводная часть, Protobuf, Little-endian
    ├── Приложение.md              # История версий протокола (Changelog)
    │
    ├── requirements/              # Папка с государственными требованиями (Markdown)
    │   └── kkm/                   # Технические требования к ККМ РК
    │       ├── Раздел 1. Требования к ККМ с функцией фиксации и передачи данных.md
    │       ├── Раздел 2. Требования к ККМ с функцией передачи данных.md
    │       └── Раздел 3. Технические требования к АПК ККМ.md
    │
    ├── Структура сообщений/       # Транспортный уровень и общий фрейм пакетов
    │   ├── Сообщения.md           # HEADER + PAYLOAD
    │   ├── Заголовки сообщений.md # APPCODE, VERSION, SIZE...
    │   ├── Коды команд.md         # CommandTypeEnum
    │   └── ...
    │
    ├── Команды/                   # Описание команд бизнес-логики (COMMAND_*)
    │   ├── Инициализация/         # COMMAND_INFO
    │   ├── Закрытие смены/        # COMMAND_CLOSE_SHIFT (CloseShiftRequest)
    │   ├── Обработка чека/        # COMMAND_TICKET (Запрос/Ответ чека)
    │   ├── Внесение и снятие денег/ # COMMAND_MONEY_PLACEMENT
    │   ├── Отправка и получение отчетов/ # COMMAND_REPORT (ZXReport)
    │   ├── Получение номенклатуры/ # COMMAND_NOMENCLATURE
    │   └── ...
    │
    ├── Общие типы данных/         # Базовые общие типы и перечисления
    │   ├── Дата.md                # Date
    │   ├── Деньги.md              # Money
    │   ├── Виды налогообложений.md # TaxationTypeEnum
    │   └── ...
    │
    └── Процедуры установления связи/ # Бизнес-процессы и режимы работы устройства
        ├── Работа в нормальном режиме.md # ONLINE
        ├── Работа в автономном режиме.md # OFFLINE (Локальная очередь чеков)
        └── ...

📋 Государственные технические требования к ККМ

В соответствии с законодательством Республики Казахстан, кассовые аппараты делятся на три категории, каждая из которых должна отвечать строгому набору государственных технических требований:


🎨 Особенности оформления

  • 💡 Подсказки и предупреждения: Важные логические правила и ограничения работы касс выделены Obsidian-стилем (например, [!IMPORTANT], [!WARNING], [!CAUTION]).
  • 🔗 Интерактивные ссылки: Любой protobuf-тип внутри таблиц автоматически ссылается на соответствующий markdown-файл с его структурой.
  • Никаких битых ссылок: Полная целостность ссылочных связей подтверждена автоматической валидацией (Broken links: 0).

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors