Сообщение отдельно
25.06.2018 14:05
AndreyZh
 
Цитата:
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 и извлекаю алкокод.