Цитата: SouthRegion ➤ Т.е. получив, например, новую приходную ТТН, делаем запрос Справки А (или 1 как она сейчас называется) (прошу поправить, если не так), а далее какая последовательность, что откуда читаем?
Далее по той логике, которую встроете в свою программу... Расскажу, как будет в УС Лэнд:ЕГАИС…
пока только есть элементы техники - ожидаю первоочередных косяков ЕГАИС к 1 июля, т.е. опасаюсь сильно менять алгоритмы.
Имеются таблицы хранения:
1. pull_akm - реестр помарочного учета. Остатки в разрезе марок и на регистре №3: алкокод+марка+etc
2. spravka1 - реестр РФУ-1 со всеми атрибутами марок
3. my_rests - остатки, в том числе нулевые на регистре №1: алкокод+РФУ-2+РФУ-1
Перед разрешением открыть ТТН пользователем считываю все уникальные коды РФУ-1 по новым маркам;
I. Скан по массиву РФУ-1 и проверка наличия кодов в spravka1 со всеми заполненными атрибутами;
По РФУ-1 с неполными атрибутами запрос и ожидание полного ответа. По результатам ответов заношу в таблицы, по сути фиктивные записи:
1. pull_akm. Марку и алкокод;
2. spravka1. Все атрибуты РФУ-1;
3. my_rests. Записи с нулевым остатком: алкокод+РФУ-1
Перехожу к I. Так, как всё выше определил, то программа "пустит" в накладную.
Во всех режимах, где читается акцизная марка и нужно определять алкокод - это делается:
1. Для марки 68 знаков алгоритмически
2. Для марки 150 знаков. Ищу по индексу запись в pull_akm и извлекаю алкокод.