[ОТВЕТИТЬ]
13.11.2016 12:11
AndreyZh
 
«Ужасы» зазеркалья ЕГАИС


На сей момент всеми оставшимися в «теме» разработчиками решены большинство задач посылки и обработки запросов в ЕГАИС. Продвинутые пользователи уже не ищут программ для интеграции, но всё более озадачиваются решением бизнес задач, связанных с интеграцией реальных бизнес процессов и потоков нечёткой и секретной информации, проходящей через ЕГАИС, пугая друг друга всевозможными неприятностями, связанными со сложностями данной стыковки несовместимых данных.

Ваш покорный слуга и его наниматели тоже «озадачились» и от испуга мной в систему «УС Лэнд:ЕГАИС» (смотрите раздел форума: https://olegon.ru/forumdisplay.php?f=72 ) было внесено несколько технологий, решающих часть активно обсуждаемых сейчас на форумах задач, а именно «приёмка алкогольной продукции» и «контроль акцизных марок подразделения».

Приёмка алкогольной продукции реализована, как сервис для любых программ интеграции с ЕГАИС, в частности для «УС Лэнд:ЕГАИС», используя свойство системы, что она ничего из УТМ не забирает и вообще ничего не «портит» для других учетных программ!

Контроль акцизных марок подразделения представляет собой фоновое, без снижения скорости работы программы накопление данных об акцизных марках (реальной АП), поступающих в базу данных «ключа» при внесении данных о поступлении АП посредством чтения ШК АМ PDF-417. Это реализовано в режимах приёмки товаров, в сервисе проверки легальности марок и контуре инвентаризации при сплошном сканировании АМ. Накапливаемая информация используется при Вашем желании, заданном в настройке программы при приёмке товаров и их продаже через «кассовый аппарат» программы и доступна для анализа, открыв файл «пула накопления» - pull_akm.dbf, например посредством «электронных таблиц».

Сервис «приёмки алкогольной продукции». В режиме «приходов» запускаете «взять входящие запросы» и затем переходите в режим «обработка приходных накладных». Открываете нужную ТТН и Вам станут доступны сервисные возможности: «старый», подробно описанный в инструкциях сервис F9 – запрос справок «А» и «Б» по товарам накладных и «новый» F7 – приёмка товаров.

Интерфейс сервиса «обычный» - телевизор, где снизу читается ШК АМ и после чтение сдвигающее вверх изображение с кодом ФСРАР-ИД и по возможности наименованием считываемого товара – определяется из ТТН или справочников остатков «УСЕга».

Где «ужасы»?

Страшилка 1: Поставщик прислал АП с нечитаемыми или неверно читаемыми АМ. На этапе сканирования марки программа производит контроль - валидацию на читаемость, длину и правильность набора символов акцизной марки;

Страшилка 2: Дублирование марок или «хитрости» принимающих товар. Во первых программа не допускает повторного чтения одной и той же бутылки или дубля марки в данном приходе – точнее говоря, как и во всех режимах просто предупреждает, запрашивая разрешение на пропуск «данной ситуации», хотя в логе она фиксируется. Во вторых, если отправитель не является обособленным подразделением организации, то проверяется на вхождение марки в «пул» и выдача запроса на подтверждение, если она входит, т.е. когда-то марка уже «поступала» в подразделение, а сейчас сторонний поставщик снова её присылает;

Страшилка 3: Основная и говорят самая «важная» - в ТТН алкокоды не соответствуют реальным алкокодам, определяемым по ШК АМ. Это «нормальная» в ЕГАИС ситуация: одному алкокоду соответствует множество АМ, для одного наименования (ШК EAN-13) АП может быть множество алкокодов (присваиваются для партии производства или пересекающей границу для импорта) , а поставщики (оптовики, производители/импортеры) не обязаны вести учёт по алкокодам, т.е. пересорт по ним – это «нормальная» ситуация. В то же время розницу контролируют, как по алкокодам, так и по ШК АМ!!! После 1 января 2017 ФСРАР обещает тщательно контролировать пересорты в рознице, но это «нормально» с позиции поставщиков и порождается при подтверждении их ТТН.

«УСЕга» при «приёме» преобразует ШК АМ к алкокоду и проверяет наличие данного алкокода в накладной поставщика, а при отсутствии выдаёт сообщение об «отсутствии» фактического алкокода в «списке» алкокодов накладной. Конечно это «сохраняется» в логе контроля;

Страшилка 4: При большом ассортименте ТТН «приёмщики» ошибаются при контроле реальных и документальных количеств. Здесь совсем просто! Нужно «пропикать» все товары накладной, благо это немногим медленнее, а то и быстрее, чем считать «ручками» и контролировать «глазками»;


После завершения процесса сканирования, нажатием клавиши Esc программа выдаст в форме отчета результаты контроля процесса «приёма», а так же подробную таблицу соответствия алкокодов (и наименований) накладной и фактических товаров.



Страшилка 5: Поставщик поставил «левую» продукцию – акцизные марки. После выхода из чтения отчета программа запрашивает необходимость формирования файлов для сервиса проверки легальности алкогольной продукции сервиса ФСРАР, доступного из личного кабинета. Для этого не нужно ключа ФСРАР, а только ИНН и пароль. В сервисе доступна возможность анализа не более чем 100 ШК АМ в пачке (XML файле) и программа разделяет общий массив марок на пачки по 100 штук в файлах с именами CM_Дата_Время_НомерПачки.XML, сохраняемые в папку Report, из которой Вы можете взять их для запросов из личного кабинета. После этого программа сохранит марки в «пуле марок подразделения»;

Замечание. Использование и запись во внутренние БД программы «УСЕга» производится, если включена настройка ведения её внутренней БД.


Страшилка 6: Продажа, постановка на баланс «чужой» акцизной марки. По продаже: любимые «ошибки», присылаемые роботами ФСРАР и МЭР – это «продажи дублей» и «продажи не поставленной на учет АП». Для правильно, работающих «кассовых программ» (многие программы допускаю продажу дублей) поясняют, что это «косяки» продавцов (подставляют свой товар) или происки конкурентов (заменяют на полках товар своим – проданном в другой фирме). Про баланс – вообще «свежая и новая песня»: раньше нельзя было поставить на баланс склада АП, поставленную на другом предприятии, но возможно можно, поставленную на другом подразделении своего (пришло письмо с требованием письменного объяснения из текста, которого это видно?).

В настройке системы «УС Лэнд:ЕГАИС» появился параметр контроля акцизной марки на вхождение в «пул акцизных марок подразделения», имеющий 3 уровня строгости:

1. По умолчанию ничего не контролируется, что разумно до первоначального заполнения «пула» в режиме сплошной инвентаризации;
2. Во встроенном «кассовом аппарате» контроль и выдача запроса на продажу алкогольной продукции, не входящей в «пул» акцизных марок;
3. Абсолютный (можно обойти ручным созданием чека) запрет продажи АП, не входящей в «пул» АМ.

----------------------------

Предлагаю обсудить нюансы работы с ЕГАИС, описанные в данном эссе или покритиковать подход «УСЕга», как помощника (сервис) для любых учетных при приёмке товаров?
14.11.2016 17:08
AndreyZh
 
Отчет в о жестком тестировании технологий приёма и пула акцизных марок, а так же описание техники в картинках можно посмотреть: https://olegon.ru/showpost.php?p=269450&postcount=214
18.12.2016 11:45
AndreyZh
 
Страшилка 7: Пришли проверяющие, взяли бутылку с полки и попросили на неё показать приходную ТТН и сопроводительные документы. Данная тема была поднята нашим активным форумчанином, но на форуме ФСРАР. При обсуждении этого прозвучало очень много информации, идей, способов решения данной проблемы. Проанализировав посты понял, что по "советам" всё решается в "УС Лэнд:ЕГАИС". Как? - Расскажу в комментариях к постам, очищенным от эмоционального мусора:

1. Сегодня, на очередном "внедрении" своей УС, после более-менее благополучного окончания. получил вопрос - "а нам теперь "липучки" клеить не надо? Оказывается, они раньше, клеили на бутылки (на каждую) стикер, в котором от руки писали дату и номер накладной прихода! На вопрос - "за чем?", получил убийственный ответ - "приходят проверяющие, и требуют предоставить документы на конкретную бутылку!". Это как??? Как они определяют, к какой бутылке относятся "бумаги"? Бутылки, одна от другой. отличаются марками... Но, нет никакой связи с накладной и бумажными справками от поставщика! По марке, можно получить АлкоКод, и проверив ее в ЛК, еще кучу инфы... Но, никакой привязки к конкретной ТТН нет. И как им это объяснить???

2. Появилась идея пойти от обратно и попробовать получить документы к бутылке через алкокод.

3. Мы при приемке все марки теперь сканируем и храним. При необходимости можем по любой марке документ сразу определить. Со старыми, конечно, трудности, но они же рано или поздно продадутся.

4. В некоторых программах реализовано подобное, например в "трезвом декларанте" при сканировании бутылки вычисляется алккод и по нему программа ищет входящую накладную и засвечивает ее. Если таких накладных несколько, то по-очереди показывает каждую. Т.е. если такой алккод был в нескольких накладных, то по нему не узнать в какой конкретно накладной была именно эта бутылка.

В "УСЕга" это реализовано множеством способов:

а. В реестре приходов вызываем поиск, вызываем справочник АП, по ШК АМ находим строку и затем ищем в приходах или;

б. В отчете о движении алкогольной продукции так же вызываем справочник АП, по ШК АМ находим строку и получаем всё движение (все приходные ТТН) по данному алкокоду.

5. Да у нас тоже клеют или пишут от руки, но оно имеет смысл - и зря вы уж говорите, что нельзя определить то. Диапазоны марок есть в справках А (1). Поступления одного алкоголя редко идут с одинаковыми справками А, поэтому если взять несколько бутылок, то по марке можно определить справку А по которой она приходила. А по А найти и Б, поскольку они почти всегда разными парами идут.

В "УСЕга" то же несложно: В таблицах остатков сохранен код справки "А" и по нему можно поднять исходную справку, запросив полную инфу по коду справки. В прочем сохраняется и код справки "Б", по которому можно запросить всё движение по ЕГАИС данной алкогольной продукции.

6. Проверяющие действуют наоборот - запрашивают у нас все документы на эту бутылку, а потом проверяют, чтобы данная бутылка имела дату розлива как в предоставленной справке А и ее марка попадала в диапазон предоставленной справки. Крайне редко бывают разные справки А, в которых указан один и тот же диапазон марок.

7. Получается, что по алкокоду можно определить номер ТТН, а потом по дате разлива и диапазона марок выбрать справки А и Б


P.S. В несуществующей версии 31 декабря данная задача полностью и существенно проще решена. Технологии решения будут описаны через некоторое время, когда доделаю все режимы в комплексе.
19.12.2016 12:38
MWWRuza
 
Это я тему на ФСРАР поднимал...

Но, так и не понял, справку "А" по ее номеру я тоже могу получить у себя, примерно аналогично:

Цитата:
AndreyZh В таблицах остатков сохранен код справки "А" и по нему можно поднять исходную справку, запросив полную инфу по коду справки.
Но!!! Что это дает?

Цитата:
AndreyZh Диапазоны марок есть в справках А (1).
Нет их там... Точнее, есть но только в бумажных. В электронных - нет.
Да, там есть дата розлива. Ее в принципе, можно прочитать и на бутылке. Вооружившись большой лупой :)
А акцизку сканировать бесполезно... Кроме АлкоКода, из ШК ничего не извлечь.
Вот такая "ПОЛУавтоматизация" получается :(

PS Во второй версии формата, вроде в справке 2 есть дата розлива... Если она соответствует справке А, то можно подумать, может получится ее как-нибудь "прикрутить", организовав поиск ТТН по конкретному товару(АлкоКоду полученному из марки) с отбором по ДатеРозлива с бутылки, полученной с помощью "лупы"...
19.12.2016 13:35
FinSoft
 
А если так.

1. Сканируем бутылку.
2. Определяем по марке алкокод.
3. Ищем все приходы по этому алкокоду и выводим в виде списка с номер, датой накладной и поставщиком.
4. Если приход проверялся помарочно, ищем отсканированную марку и в списке подсвечиваем.
19.12.2016 13:51
AndreyZh
 
MWWRuza, Вы абсолютно правы, тем более, что ФСРАР неоднократно отмечал, что ЕГАИСные и бумажные (кои требуют проверяющие) не обязаны совпадать... Данный "полный" диалог привел для демонстрации широты мнений и идей!

В нём присутствую и здравые мысли "от безисходности", например "сдублированная" FinSoft (п.4) хотя, как мне кажется самая простая идея, которая в 99% случаев верная, как правило игнорируется. В самом деле все попытки извлечь неизвлекаемое обречены лишь на потерю времени: одна марка входит в огромное семейство АП с одним алкокодом, который может поступить в туевой хуче приходов, т.е. искать приход марки "от алкокода" имеет небольшой смысл, тем более "раскручивая" движения по справкам.

№ 3 - Самый простой и однозначный путь! Вот и меня в версии 31 декабря, работающей в магазинах с 17 декабря при приемке товаров, при автоматической записи в пул акцизных марок подразделения (подробнее в первом сообщении) в него по каждой марке дописываются атрибуты ТТН. Создан режим анализа данного пула, где марку можно искать по её коду (плюс стандартные сложные механизмы поиска, печати, экспорта) и как следствие однозначно найти ТТН и сопроводительные документы. Подробно все механизмы и режимы этого будут описаны, как будет время на странице: https://olegon.ru/showthread.php?t=24419&page=29
19.12.2016 13:54
FinSoft
 
Вот еще идея по поводу инвентаризации маркированного алкоголя.

У нас подключаются терминальным доступом к программе (ФинСофт:КупецЪ или ФинСофт:Продмаг) через wifi и сканируют в виде документов. Если несколько человек одновременно, то у каждого создается свой документ. По запросу пользователей ввели режим контроля дублирования марок за день. То есть не у каждого, кто сканирует, а по всем. Это устраняет некоторые возможные ошибки и злоупотребления.
19.12.2016 14:02
FinSoft
 
Андрей, пункт 4 дополняет пункт 3.

У меня принимаемые из Егаис приходы сохраняются с алкокодами. Если выполняется помарочная проверка, то на основании прихода создается отдельный документ проверки со ссылкой на этот приход. В документе проверки в каждой строке сохраняется отсканированная марка.

Таким образом, мы можем найти для бутылки список всех приходов по соответствующему алкокоду, а дополнительно найти соответствующую строку в документе проверки по марке и выделить приход цветом. Почему просто не найти по марке в проверках? Потому, что помарочную проверку приходов могли не делать. А так получается, что показываем все приходы и выделяем цветом приход с нужной маркой.

Цитата:
AndreyZh MWWRuza, Вы абсолютно правы, тем более, что ФСРАР неоднократно отмечал, что ЕГАИСные и бумажные (кои требуют проверяющие) не обязаны совпадать... Данный "полный" диалог привел для демонстрации широты мнений и идей!

В нём присутствую и здравые мысли "от безисходности", например "сдублированная" FinSoft (п.4) хотя, как мне кажется самая простая идея, которая в 99% случаев верная, как правило игнорируется. В самом деле все попытки извлечь неизвлекаемое обречены лишь на потерю времени: одна марка входит в огромное семейство АП с одним алкокодом, который может поступить в туевой хуче приходов, т.е. искать приход марки "от алкокода" имеет небольшой смысл, тем более "раскручивая" движения по справкам.

№ 3 - Самый простой и однозначный путь! Вот и меня в версии 31 декабря, работающей в магазинах с 17 декабря при приемке товаров, при автоматической записи в пул акцизных марок подразделения (подробнее в первом сообщении) в него по каждой марке дописываются атрибуты ТТН. Создан режим анализа данного пула, где марку можно искать по её коду (плюс стандартные сложные механизмы поиска, печати, экспорта) и как следствие однозначно найти ТТН и сопроводительные документы. Подробно все механизмы и режимы этого будут описаны, как будет время на странице: https://olegon.ru/showthread.php?t=24419&page=29
19.12.2016 15:02
AndreyZh
 
FinSoft, усё у меня так же сделано... расместил описало, но вообще с ЕГАИСом все подходы, для всех программ единные
19.12.2016 15:20
FinSoft
 
Кстати, Андрей, ты разбирался с печатными формами для возвратов и перемещений между магазинами? Я так понимаю, там нужны стандартные Торг12, ТТН и справка формы Б?
19.12.2016 15:23
AndreyZh
 
Цитата:
FinSoft Кстати, Андрей, ты разбирался с печатными формами для возвратов и перемещений между магазинами? Я так понимаю, там нужны стандартные Торг12, ТТН и справка формы Б?
См: https://olegon.ru/showpost.php?p=213927&postcount=69
21.12.2016 01:51
FinSoft
 
Сегодня какой-то глюк, похоже, в Егаис проявился.
Делаем перемещение продукции между своими магазинами. Подтверждаем. Все нормально, позиции списались с остатков одного магазина, появились на остатках второго.
Затем во втором магазине шлем запрос на отмену накладной. В первом подтверждаем. В обоих магазинах получаем тикеты, что накладная распроведена. Запрашиваю остатки на 1 регистре. Во втором магазине продукция с остатков ушла. А в первом не появилась... Шлю повторный запрос остатков, Егаис говорит приходите через час. Хорошо, что пробная накладная с 2 позициями. Если на остатках в первом магазине продукция не появится, что тогда делать...
21.12.2016 02:30
FinSoft
 
Сорри, разобрался. Отмена накладной приводит систему в состояние на момент подтверждения приема. То есть надо подтвердить/отказать/послать акт расхождений. Все нормально отработало...
12.01.2017 17:26
Konstantin_Che
 
господа, подскажите, как возврат поставщику сделать? очень важно!
18.07.2017 10:35
AndreyZh
 
Новая, но очень старая напасть объявилась в ЕГАИСе...

Всё это подробно обсуждалось в 2015 году - алиасы пространства имен, но вот с введением второй версии некоторых "свежих" программистов для ЕГАИС прорвало на извращения. Примеры таких чудиков:

Очень умные программисты Хейникен:

<ns1:Documents xmlns:ns1="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:ns2="http://fsrar.ru/WEGAIS/TTNSingle_v2" xmlns:ns3="http://fsrar.ru/WEGAIS/ClientRef_v2" xmlns:ns4="http://fsrar.ru/WEGAIS/ProductRef_v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0">
<ns1:Owner>
<ns1:FSRAR_ID>030000000029</ns1:FSRAR_ID>
</ns1:Owner>
<ns1:Document>
<ns1:WayBill_v2>
<ns2:Identity>RUBG-2017-07-04-16-07-20-395</ns2:Identity>
<ns2:Header>
<ns2:Type>WBInvoiceFromMe</ns2:Type>
<ns2:NUMBER>0137418034</ns2:NUMBER>
<ns2:Date>2017-07-04</ns2:Date>
<ns2:ShippingDate>2017-07-04</ns2:ShippingDate>
<ns2:Transport>
<ns2:TRAN_TYPE>412</ns2:TRAN_TYPE>
<ns2:TRAN_COMPANY>OOO "Трансгео"</ns2:TRAN_COMPANY>
<ns2:TRAN_CAR>ИВТ Вагон 50т. 58027699</ns2:TRAN_CAR>
<ns2:TRAN_CUSTOMER>ООО "ОПХ"</ns2:TRAN_CUSTOMER>
<ns2:TRAN_LOADPOINT>664528 Иркутская область, Микрорайон Марковский Иркутский район, квартал 1</ns2:TRAN_LOADPOINT>
<ns2:TRAN_UNLOADPOINT>РОССИЯ,677014,САХА /ЯКУТИЯ/ РЕСП,,Якутск г,,Можайского ул,29,к. 1,литер Б1, первый этаж, помещение № 2</ns2:TRAN_UNLOADPOINT>
</ns2:Transport>
<ns2:Shipper>
<ns3:UL>
<ns3:ClientRegId>030000000029</ns3:ClientRegId>
<ns3:FullName>ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ОБЪЕДИНЕННЫЕ ПИВОВАРНИ ХЕЙНЕКЕН"</ns3:FullName>
<ns3:ShortName>ООО "ОПХ"</ns3:ShortName>
<ns3:INN>7802118578</ns3:INN>
<ns3:KPP>382703001</ns3:KPP>
<ns3:address>
<ns3:Country>643</ns3:Country>


Извращенцы из Метро:

Пример с форума ФСРАР "интересного" ХМЛ версии 2 от Метро Ростов на дону ТТН Waybil_V2, как УТМ это пропускает???!!!...

Проверил: Саратовское Метро аналогично ... хорошо что пока у них не покупаете ничего...

<?xml version="1.0" encoding="UTF-8"?>
<ns43:Documents Version="1.0" xmlns:ns9="http://fsrar.ru/WEGAIS/ActInventorySingle" xmlns:ns8="http://fsrar.ru/WEGAIS/TTNInformBReg" xmlns:ns7="http://fsrar.ru/WEGAIS/ConfirmTicket" xmlns:ns63="http://fsrar.ru/WEGAIS/RequestRepealAWO" xmlns:ns62="http://fsrar.ru/WEGAIS/RequestRepealACO" xmlns:ns61="http://fsrar.ru/WEGAIS/ConfirmRepealWB" xmlns:ns60= -skip->
<ns43:Owner> <ns43:FSRAR_ID>010000006096</ns43:FSRAR_ID>
</ns43:Owner>
<ns43:Document>
<ns43:WayBill_v2>
<ns39:Identity>20170710025927820000</ns39:Identity>
<ns39:Header>
<ns39:Type>WBInvoiceFromMe</ns39:Type>
<ns39:NUMBER>1053060191010</ns39:NUMBER>
<ns39:Date>2017-07-10</ns39:Date>
<ns39:Transport></ns39:Transport>
-<ns39:Shipper>
-<ns17:UL>
<ns17:ClientRegId>010000006096</ns17:ClientRegId>
<ns17:FullName>Общество с ограниченной ответственностью "МЕТРО Кэш энд Керри"</ns17:FullName>
<ns17:ShortName>ООО "МЕТРО Кэш энд Керри"</ns17:ShortName>
<ns17:INN>7704218694</ns17:INN>
<ns17:KPP>616732001</ns17:KPP>
<ns17:description>РОССИЯ,344111,РОСТОВСКАЯ ОБЛ,,Ростов-на-Дону г,Пролетарский р-н,40-летия Победы пр-кт,д. 340,, | литер А, 1 этаж,комн. № 109а (S=65,8 кв.м), № 20 (ЕГАИС) | литер А,А1,А2</ns17:description>
</ns17:address>
</ns17:UL>
</ns39:Shipper>

<ns39:Consignee>
<ns17:UL>
<ns17:ClientRegId>020000616195</ns17:ClientRegId>
<ns17:FullName>Общество с ограниченной ответственностью Пилигрим</ns17:FullName>


Ссылка из письма была от Саратовского программиста:

Который так же извратился, но мы перестали брать у них товар... Руководство его трамбует, а он меня - типа всё очень легко мне переделать в программе... Пример его изврата:
<oref2:address>
<oref2:Country>643</oref2:Country>
<oref2:RegionCode>64</oref2:RegionCode>
<oref2:description>Саратовская обл, , Саратов г, , Вольская ул, 57,,</oref2:description>
</oref2:address>
</oref2:UL>
</wb2:Consignee>
<wb2:Transport/>
</wb2:Header>
<wb2:Content xmlns:wb2="http://fsrar.ru/WEGAIS/TTNSingle_v2">
<wb2:Position>
<wb2:Identity>01_6713</wb2:Identity>
<wb2:Quantity>2</wb2:Quantity>
<wb2:Price>819.52</wb2:Price>
<wb2:InformF1>
<pref2:RegId xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">FA-000000036172128</pref2:RegId>
</wb2:InformF1>
<wb2:InformF2>
<pref2:InformF2Item xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">
<pref2:F2RegId>FB-000000942827123</pref2:F2RegId>
</pref2:InformF2Item>
</wb2:InformF2>
<wb2:Product>
<pref2:AlcCode xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">0350397000001378839</pref2:AlcCode>
<pref2:ProductVCode xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">229</pref2:ProductVCode>
<pref2:FullName xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">Армянский коньяк пятилетний "АрАрАт *****"</pref2:FullName>
<pref2:Capacity xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">0.5</pref2:Capacity>
<pref2:AlcVolume xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">40</pref2:AlcVolume>
<pref2:Type xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">АП</pref2:Type>
<pref2:UnitType xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">Packed</pref2:UnitType>
<pref2:Producer xmlns:pref2="http://fsrar.ru/WEGAIS/ProductRef_v2">
<oref2:TS xmlns:oref2="http://fsrar.ru/WEGAIS/ClientRef_v2">
<oref2:ClientRegId>050000030065</oref2:ClientRegId>
<oref2:FullName>ЗАО "Ереванский Коньячный Завод"</oref2:FullName>
<oref2:ShortName>ЗАО "Е.К.З"</oref2:ShortName>
<oref2:address>
<oref2:Country>051</oref2:Country>
<oref2:description>Армения, 0082, г. Ереван, проспект Адмирала Исакова, 2</oref2:description>
</oref2:address>
</oref2:TS>
</pref2:Producer>
</wb2:Product>



До кучи пример накладной на которую спотыкается любая прога на платформе 1С:

<pref:AlcVolume>4.7</pref:AlcVolume>
-<pref:Producer> -<oref:UL>
<oref:ClientRegId>030000000019</oref:ClientRegId>
<oref:FullName>ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ПИВОВАРЕННАЯ КОМПАНИЯ "БАЛТИКА"</oref:FullName> <oref:ShortName>ООО "ПИВОВАРЕННАЯ КОМПАНИЯ "БАЛТИКА"</oref:ShortName>
<oref:INN>7802849641</oref:INN>
<oref:KPP>710443001</oref:KPP>
-<oref:address>
<oref:Country>643</oref:Country>
<oref:RegionCode>71</oref:RegionCode>
<oref:description>300036, РОССИЯ, , , Г ТУЛА, , Ш ОДОЕВСКОЕ, 85, ,</oref:description> </oref:address> </oref:UL> </pref:Producer> <pref:ProductVCode>500</pref:ProductVCode>
</wb:Product>
<wb:Quantity>3</wb:Quantity>
<wb:alcPercent>4.7</wb:alcPercent>
<wb:Price>881.9</wb:Price>
<wb:Identity>2</wb:Identity>
-<wb:InformF1>
<pref:RegId>FA-000000038326672</pref:RegId>
</wb:InformF1>
-<wb:InformF2>
-<pref:InformF2Item>
<pref:F2RegId>FB-000000949335711</pref:F2RegId>
</pref:InformF2Item>
</wb:InformF2>
</wb:Position> -<wb:Position>

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

Так же обнаружилась чудная особенность "1С:Розница"

Версия документооборота задаётся в справочнике контрагентов и если от поставщика "болтаются" накладные по v1 и v2, то (решение) ставим ему v1 - подтверждаем эти ТТН, проверяя прохождение, затем изменяем на v2 и подтверждаем другие ТТН... а накладные в разных версиях, учитывая просторы России будут ходить ещё долго

Сразу отмечу, что "УС Лэнд:ЕГАИС" не понимает и не видит данные чудные документы. Ответы спецов на форумах стандартные:
Цитата:
Технически, пространство имен в xml-файле может быть любое.
Что делать?
18.07.2017 11:09
FinSoft
 
Привет, Андрей.
Помнишь, я тебя предупреждал...
Что делать - переделать разбор xml с учетом пространства имен. Это не так сложно, всего 3 оператора вместо других, используемых для разбора по стандартным тэгам. Мне, правда, тоже лениво. По стандартным тегам все хорошо работает, а тут надо все перепроверять заново. За все время был один случай с извратом от поставщика, его просто вежливо попросили переделать на стандартные тэги, что тот и сделал...
18.07.2017 11:49
AndreyZh
 
Привет Вячеслав! Конечно твоё письмо с вариантом решения сохранено.

Цитата:
FinSoft Что делать - переделать разбор xml с учетом пространства имен. Это не так сложно, всего 3 оператора вместо других, используемых для разбора по стандартным тэгам.
У меня в инструменте таких возможностей нет, а лишь для каждого "извращенца" делать таблицу соответствий имен и заниматься преобразованием исходного файла... или прогонять файл предварительно через "твой" сценарий.

Цитата:
FinSoft Мне, правда, тоже лениво. По стандартным тегам все хорошо работает, а тут надо все перепроверять заново. За все время был один случай с извратом от поставщика, его просто вежливо попросили переделать на стандартные тэги, что тот и сделал...
Не лениво! Просто не вижу необходимости подстраиваться под каждого программиста, который хочет показать своё величие. Так и с поставщиком... Заказали у других, а эти пусть считают убытки от ЧСВ своего программера

Что по вопросу... Глупая привычка спрашивать, когда сам нашел решение. Для "УСЕга" нужна накладная со всеми "потрохами", в том числе для разрешения проблем, описанных выше, а так же контроля цен, движения АП в разрезе справок, остатков на любой момент времени, подготовки отчетов для деклараций... Посему "преклоняться" перед маргиналами пока не можем

Однако не у всех так и некоторым "только подтверждающим ТТН" или сильно зависимым от поставщика... возможно и у нас такой "нарисуется" реализовал сервисный режим для любой программы работы с ЕГАИС:



В котором реализуется обычный совет: в блокноте наберите текст и отправьте курлом

Самое простое код ТТН и её версию узнать у поставщика, а можно в режиме "чистки запросов" посмотреть FORM2REGINFO для 2 версии или FORMBREGINFO для первой и там в тэге wbr:WBRegId есть код накладной.

Прога формирует и отправляет обычный ХМЛ файл:

Код:
<?xml version="1.0" encoding="UTF-8"?>
<ns:Documents Version="1.0" xmlns:ainp="http://fsrar.ru/WEGAIS/ActChargeOn_v2" xmlns:awr="http://fsrar.ru/WEGAIS/ActWriteOff_v2" xmlns:c="http://fsrar.ru/WEGAIS/Common" xmlns:ce="http://fsrar.ru/WEGAIS/CommonEnum" xmlns:iab="http://fsrar.ru/WEGAIS/ActInventoryF1F2Info" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef_v2" xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef_v2" xmlns:qf="http://fsrar.ru/WEGAIS/QueryFormF1F2" xmlns:qp="http://fsrar.ru/WEGAIS/QueryParameters" xmlns:wa="http://fsrar.ru/WEGAIS/ActTTNSingle_v2" xmlns:wb="http://fsrar.ru/WEGAIS/TTNSingle_v2" xmlns:wt="http://fsrar.ru/WEGAIS/ConfirmTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns:Owner>
      <ns:FSRAR_ID>030000113645</ns:FSRAR_ID>
   </ns:Owner>
   <ns:Document>
      <ns:WayBillAct_v2>
         <wa:Header>
            <wa:IsAccept>Rejected</wa:IsAccept>
            <wa:ACTNUMBER>20170718105424</wa:ACTNUMBER>
            <wa:ActDate>2017-07-18</wa:ActDate>
            <wa:WBRegId>TEST-TTN-0007542044</wa:WBRegId>
            <wa:Note>Пересортица всей продукции по накладной: TEST-TTN-0007542044</wa:Note>
         </wa:Header>
      </ns:WayBillAct_v2>
   </ns:Document>
</ns:Documents>


Кому интересно - исходный код процедуры:

Код:
   
* ---------------------------------------------------------------------------------------------------
*   Сервис по подтверждению или отказу на кривую приходную ТТН по её версии и коду в ЕГАИС. Актуально
*   для ТТН с кривым алиасами пространства имен, когда в режиме чистки запросов видим ТТН, но не 
*   можем обрабатывать, т.к. ориентация на стандартное пространство. Можно использовать, если не 
*   производится приёмка накладных или ТТН по пиву. Отличились Хайникен, Риф, Метро
/*  XML Структура акта подтверждения или отказа. Описание для двух версий
	<?xml version="1.0" encoding="UTF-8"?>
	<ns:Documents Version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns= "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef" xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef" xmlns:wa= "http://fsrar.ru/WEGAIS/ActTTNSingle">
        или для второй версии
    <ns:Documents Version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns= "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef" xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef" xmlns:wa= "http://fsrar.ru/WEGAIS/ActTTNSingle_v2" 
        <ns:Owner> <ns:FSRAR_ID>00072841</ns:FSRAR_ID> </ns:Owner>
        <ns:Document>
            <ns:WayBillAct>  или <ns:WayBillAct_v2>
                <wa:Header>
        			<wa:IsAccept>Rejected-отказ или >Accepted</wa:IsAccept>
                    <wa:ACTNUMBER>1-1</wa:ACTNUMBER>
                    <wa:ActDate>2014-12-17</wa:ActDate>
                    <wa:WBRegId>0000002167</wa:WBRegId>
                    <wa:Note> Пересортица всей продукции ИЛИ Приниаем продукцию</wa:Note>
                </wa:Header>
                <wa:Content> </wa:Content>
            </ns:WayBillAct> или </ns:WayBillAct_v2> 
        </ns:Document>
	</ns:Documents>
*/
PROC pRepTTNAct()
    LOCA cOldCol:=SetColor(), GetList:={}, cRegTTN:=Spac(20), nAction:=1, nVer:=2
	LOCA cNumbAct:=Dtos(Date())+StrTran(Time(),":"), dDatAct:=Date(), lRash:=FALSE
    LOCA cTag:="", cNode:="", cOut:="", cXml:=""
    LOCA cIdZap:="", cZap:="", cZapOut:="", cZ:="", aBody:={}
  	LOCA oMain, oDoc := TXmlDocument():new( _XMLUTF8 )

    //  Читаем код регистрации ТТН - можно из режима чистки запросов, форму реакцию (прием/отказ) и версию по которой отправлять акт
    fSwopen(19,3,4,75,cColor,2)
    @ 1,1 SAY "Пожалуйста введите id ТТН поставщика (TTN-0000000000)"                       GET cRegTTN PICT "@!"   VALI lValid({||!Empty(cRegTTN)},"Запрешено пустой код регистрации! Для отказа нажмите Esc!")
    @ 2,1 SAY "Какой вид акта отправляем? 1-Полного приёма, 2-Полного отказа от АП ТТН "    GET nAction PICT "9"
    @ 3,1 SAY "По какой версии 1/2 делать акт на накладную (WayBill_v2-ТТН v2,иначе v1)"    GET nVer    PICT "9"
    READ
    fDeact(cOldCol)
    IF LastKey() == K_ESC THEN RETU

    //***   Отсылка акта на накладную - просто отправляю без контроля его прохождения через ЕГАИС... Можно увидеть по тикетам
    cRegTTN     := Alltrim(cRegTTN)
    cNode       :=IF(nAction=1,'Принимаем продукцию','Пересортица всей продукции')+' по накладной: '+cRegTTN
    IF nVer = 1     //  v1
        cTag    := "ns:WayBillAct"
        cXml    := "TTNAct_v1.xml"
        cOut    := "WayBillAct"
    ELSE            //  v2
        cTag    := "ns:WayBillAct_v2"
        cXml    := "TTNAct_v2.xml"
        cOut    := "WayBillAct_v2"
    ENDI
    
    //  Создаём главный - первый XML узел (node). Добавляем в корень дерева
	oMain		:= IF(nVer=1,_DOCUMENTS,_DOCUMENTS2)
	oDoc:oRoot:addBelow( oMain )

	//  Создаю тело запроса используя универсальный блок из enewfunc
    aBody   := {{"wa:IsAccept",     IF(nAction = 1,"Accepted","Rejected")},;    //  Подтверждение или отказ
                {"wa:ACTNUMBER",    cNumbAct},;                                 //  Уникальный фиктивный номер
                {"wa:ActDate",      cdEGAIS(dDatAct)},;                         //  Дата в формате ЕГАИС
                {"wa:WBRegId",      cRegTTN},;                                  //  Код ТТН, по которой отсылаем акт
                {"wa:Note",         cNode}}                                     //  Произвольный текст в акте
    pCrBodyReg( oMain,cTag,"wa:Header",aBody )

    //  Создаю XML файл запроса через универсальный блок из enewfunc
    pCrFileReq( oDoc, cXml)

	//  Отправляю исходящий запрос используя вызов внешней команды и универсальный блок из enewfunc
    IF !lSndToEgais(cXml,cOut,@cIdZap,@cZap) THEN RETU
    ErrMess("Отправлено "+IF(nAction=1,"подтверждение","отказ")+" на ТТН поставщика с кодом "+cRegTTN,cHelpc)
    RETU


З.Ы. В принципе вариантов проблемных ТТН может быть огромное множество, пропускаемых по формальным признаком ЕГАИС, по этому данный подход видится более универсальным
18.07.2017 12:02
baggio
 
кстати прикольно )))
18.07.2017 13:08
FinSoft
 
Андрей, я из своих программ генерю скрипт на vbscript и разбираю xml им. Вывод результата в обычный текстовый файл. Его и забираю. Поскольку оформлено через класс, в программе всего несколько строчек. Главное, дать имена в принимающей структуре, соответствующие тэгам. В принципе, мне переделать на произвольные префиксы не проблема. В программе практически ничего не меняется. Ты тоже можешь задействовать такой подход. Создавать и загружать простые текстовые файлы можно из любого инструмента. Я для локальных целей использую генерацию vbscript, для всяких онлайн задач дергаю библиотеку на php на своем сайте. Получается малой кровью расширить функциональность инструмента. А примеров решения разных задач на vbscript и php много. И ничего специально не надо устанавливать...
18.08.2017 09:08
AndreyZh
 
Вчера "вручили подарок", сегодня посмотрел секретный раздел форума ФСРАР и не знаю - смеяться или плакать?

Скрин раздела на сейчас, но просмотрел конечно сообщения и выделил только относящиеся к данному посту:



Многие из воспрошающих (точно знаю) слышали о чудо программе "УС Лэнд:ЕГАИС" и даже о давнем режиме: https://olegon.ru/showpost.php?p=280770&postcount=143

Но знать "религия не позволяет" запустить её тестовый режим для диагностики проблем - гораздо "конструктивнее" воспрошать на форумах в попытках услышать очевидный ответ

Ну а подарок за что? Так же человек, работающий с "УСЕга", как с утилитой для "1С:Розница" попросил взглянуть... что то "1С" выдаёт ошибки, а программист 1С утверждает, что прога "1С:Розница" работает без проблем...

Запустили сервис "УСЕга" и он показал постоянные проблемы работы УТМ... Влезли на форумы ФСРАР и ЦИ, где это подтвердилось... то есть ни их программист, ни одноэска не виноваты!
18.08.2017 10:35
baggio
 
Проблемы по ходу с серверами егаиса...
начались вчера около обеда... глючит все безбожно...
18.08.2017 10:37
Mtirt
 
Насколько я поняла из переписки на форуме РАРа, сервера ЕГАИСа поменяли ip-адреса.
Вчера, скорее всего, был сам переезд, а сегодня проблемы возникают у тех, у кого разрешения в файкрволле были прописаны по ip-адресу, а не по именам доменов ЕГАИС.
06.10.2017 10:00
AndreyZh
 
Скорее всего "не ужас", а вопль возмущенного удивления

Оказывается многие разработчики программ под ЕГАИС полностью и безоговорочно перевели свои системы ИСКЛЮЧИТЕЛЬНО под работу со второй версией документооборота с ЕГАИС! Постоянно натыкаюсь на "странные" для меня обсуждения пока сегодня полностью не прочитал одно из них и кажется понял?
Цитата:
Добрый день ! Есть вопрос: Как вернуть поставщику алкоголь полученный в первой версии егаис из второй версии?
Затем, начиная со 2 октября по сегодня попытки получить советы от операторов ЦИ, которые, как обычно посылают на Курл... и удивительные, полученные после связи с разработчиками сообщения в конце (?)
Цитата:
iiko не может отправить этот возврат, т.к приход пришел в первой версии, а возврат надо отправить во 2-ой версии
Поневоле вспомнился анекдот, наверное по многим участникам системы ЕГАИС
Цитата:
Штирлиц стоял на своём и ему было больно
Нельзя рекламировать халяву! Однако ещё до конца октября 2017 ещё можно спокойно, без паролей скачать утилиту "УС Лэнд:ЕГАИС":https://olegon.ru/showthread.php?t=23281 , которая наверняка когда-нибудь Вам понадобится, как костыль к Вашей системе работы с ЕГАИС
06.10.2017 12:38
SaSMuS
 
Если честно не совсем понял прикола.
Какая зависимость от версии накладной?
Накладная же формируется в текущей версии, а из какой версии она положена в бд - это вообще дело десятое.
06.10.2017 12:54
AndreyZh
 
Цитата:
SaSMuS Если честно не совсем понял прикола.
Какая зависимость от версии накладной? Накладная же формируется в текущей версии, а из какой версии она положена в бд - это вообще дело десятое.
Чудотворцы из iiko наверное? Вообще полное обсуждение можете найти по первой цитаты... Однако - это одно из десятков извращений разработчиков обойти которые может помочь "УС Лэнд:ЕГАИС"...

Например особенность сотен программ на платформе "1С" - что-бы отправить ТТН по требуемой версии нужно сменить её у контрагента и это обычно "не понимается, а запоминается"
06.10.2017 12:59
SaSMuS
 
Цитата:
AndreyZh Чудотворцы из iiko наверное? Вообще полное обсуждение можете найти по первой цитаты... Однако - это одно из десятков извращений разработчиков обойти которые может помочь "УС Лэнд:ЕГАИС"...

Например особенность сотен программ на платформе "1С" - что-бы отправить ТТН по требуемой версии нужно сменить её у контрагента и это обычно "не понимается, а запоминается"
Я видел это обсуждение, просто в голове не укладывается, что возможен такой полет фантазии у разрабов.
07.10.2017 15:42
collvladimirn
 
Мне кажется принцип "не понимается, а запоминается" используется в ЕГАИСе повсеместно))
26.10.2017 14:58
AndreyZh
 
Цитата:
SaSMuS Я видел это обсуждение, просто в голове не укладывается, что возможен такой полет фантазии у разрабов.
Преднамеренно такие косяки разработки не ищу, но стараюсь читать темы, связанные с нюансами работы программ, что бы самому по возможности избегать непродуманности в разработки...

Вот и сегодня наткнулся на "затейников"-разработчиков очень серьёзной системы: https://olegon.ru/showthread.php?t=28128 Не понятно, как они ориентируясь на крупные сети не продумали нюансы перемещения внутри сети и возвраты поставщикам из любого магазина? При этом придумав "до кучи" жесткую привязку возвращаемого алкоголя к конкретной ТТН, а если захочу вернуть алкоголь из нескольких партий?

Впрочем для этого и существуют поделки типа "УСЕга", готовые всегда подставить костыль помощи владельцам дорогих систем автоматизации
26.10.2017 15:08
Mtirt
 
Не стоит говорить то, чего не знаете...
Вернуть алкоголь из нескольких партий можно.
26.10.2017 15:15
AndreyZh
 
Цитата:
Mtirt Не стоит говорить то, чего не знаете... вернуть алкоголь из нескольких партий можно.
Действительно - не знаю! Просто из контекста обсуждения, возможно неправильно понял, что возвращаемый алкоголь "связывается" с приходной накладной


Опции темы


Часовой пояс GMT +3, время: 03:21.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.