А имеет ли смысл данная операция с ЕГАИС?
На баланс регистра №1 ставили, когда только внедряли ЕГАИС и нужно было остатки перемещать или возвращать поставщикам, что требовало полного описания алкопродукции по бумажной первичной документации.
АП с новыми марками априори не может быть на остатках магазинов, т.к. производители и импортеры ещё не начали с госзнака их получать и оклеивать новую АП. К нам она когда-то поступит от поставщика, повысив остатки на складе.
Цитата: plvn24 ➤ Акт постановки на баланс продукции с новыми марками работает некорректно или я чего-то недопонимаю?
При вводе марки (150) программа ругается что не может определить алкокод , нужна мол справка А
Так справки А не существует, пока акт не проведен в ЕГАИС
Ладно, все вводим руками и отправляем. От ЕГАИС приходит все что надо, акт подтвержден.
Делаем запрос остатков по складу, далее запрос справки А, далее запрос остатков по регистру 3 по РФУ-2.
Марка появляется в пуле со статусом ввода "ошбк" без алкокода.
Рассмотрим формальные действия при постановке на баланс новой марки: Однако, замечу, что по сообщениям с форумов ФСРАР и ЦИ ЕГАИС здесь по разному так же косячит...
Действительно пока нет электронной РФУ-1 программа не знает алкокода, связанного с маркой, а код РФУ-1 нельзя получить не имея id алкопродукции,
однако из кода программы видно
Код:
// Открываю форму чтения параметров в зависимости от полноты изменяемой информации
fSwopen(IF(lFull,9,15),3,IF(lFull,13,7),75,cOther,2)
@ 1,1 SAY "Пожалуйства введите/измените: Номер акта ................... дату ........"
@ 2,1 SAY "Сколько ставим(при наличии ШК (1)) ...... Сколько было по справке А ......"
@ 3,1 SAY "Причина(F3) ........... Дата розлива(Росс) или ГТД для импорт. АП ........"
@ 4,1 SAY "Номер ТТН (Р) или ГТД (Имп) ............. Дата ТТН(Р) или ГТД(Им) ........"
@ 5,1 SAY "Номер фиксации в ЕГАИС (новая марка) по А (Р) или Б (Им) ................."
@ 6,1 SAY "Для нов.марки дата фиксации в ЕГАИС по спр.А (Р) или разд.Б (Им) ........"
IF lFull
@ 7,1 SAY "ШК_А ...................................................................."
@ 8,1 SAY "Обязательный код алкогольной продукции/пива в ЕГАИС ..................."
@ 9,1 SAY "Об. наименование ........................................................."
@ 10,1 SAY "Полное наименование АП ..................................................."
@ 11,1 SAY "Код в ЕГАИС производителя (F3) ............... импортера ..............."
@ 12,1 SAY "Литраж единицы АП ........ Градусность ....... Код вида алк. продукции ..."
ENDI
@ 1,42 GET cNumBal VALI lValid({||!Empty(cNumBal)},"Нельзя пустое и желательно уникальное значение!")
@ 1,67 GET dDatBal
@ 2,36 GET nQty PICT "999999" VALI lValid({||nQty > 0},"Нельзя пустое и при наличии ШК программа переделает на 1 штуку!")
@ 2,69 GET nQtyAll PICT "999999" VALI lValid({||nQtyAll > 0},"Нельзя пустое и желательно правильное по справке А!")
@ 3,13 GET cCodReq PICT "@S11" VALI lValid({||!Empty(cCodReq)},"Запрещено пустое! Список причин вызывается по F3!")
@ 3,67 GET dAlc VALI lValid({||!Empty(dAlc)},"Нельзя пустое и желательно правильное по справке А!")
@ 4,29 GET cCont PICT "@S13" VALI Eval({||dCont:=dAlc,TRUE})
@ 4,67 GET dCont VALI lValid({||!Empty(dCont)},"Нельзя пустое и желательно правильное!")
@ 5,58 GET cEga PICT "@S17"
@ 6,67 GET dEga
IF lFull // Остальные поля заполняю только для полного формата добавления или изменения
@ 7,6 GET cShCode PICT "@S69" VALI Eval({||cIdEga:=IF(!Empty(cShCode),cAlcCodAM(Alltrim(cShCode)),cIdEga), TRUE})
@ 8,56 GET cIdEga VALI lValid({||!Empty(cIdEga)},"Нельзя пустое и желательно правильное!")
@ 9,18 GET cName PICT "@S57" VALI lValid({||!Empty(cName)},"Нельзя пустое и желательно правильное!")
@ 10,24 GET cLong PICT "@S51"
@ 11,32 GET cgIdClient VALI IF(Empty(cgIdClient),TRUE,Eval(bgIdClient,cgIdClient)) .AND. Eval({||cOut:=cgIdClient, cgIdClient:=cIn, TRUE})
@ 11,60 GET cgIdClient VALI IF(Empty(cgIdClient),TRUE,Eval(bgIdClient,cgIdClient))
@ 12,19 GET nLitr PICT "9999.999" VALI lValid({||nLitr > 0},"Нельзя пустое и желательно правильное!")
@ 12,40 GET nDegree PICT "999.999" VALI lValid({||nDegree > 0},"Нельзя пустое и желательно правильное!")
@ 12,72 GET cCodAlc VALI lValid({||!Empty(cCodAlc)},"Нельзя пустое и желательно правильное!")
ENDI
READ
fDeact(cOldCol)
AF__INPUT
что на алкокод программа пропускает любую туфту, в частности по неизвестной марке - это будет 19 нулей, т.е. формально, правильно заполнив все атрибуты задание для ЕГАИС можно добавить.
При отправке ЕГАИС скорее всего забракует некорректный алкокод, т.к. он обязателен в файле ХМЛ
Код:
<?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:ain="http://fsrar.ru/WEGAIS/ActChargeOn" xmlns:iab="http://fsrar.ru/WEGAIS/ActInventoryABInfo">
<!--Кто подает документы--> <!--Идентификатор организации в ФС РАР-->
<ns:Owner> <ns:FSRAR_ID>00040218</ns:FSRAR_ID> </ns:Owner>
<ns:Document>
<ns:ActChargeOn>
<ain:Header>
<ain:Number>1</ain:Number> <!--Номер документа-->
<ain:ActDate>2015-10-20</ain:ActDate>
<ain:Note>Необходимо поставить товарные позиции на баланс</ain:Note>
</ain:Header>
<ain:Content> <!--Содержимое акта-->
<ain:Position>
<ain:Identity>2</ain:Identity>
<ain:Product>
<pref:Type>АП</pref:Type>
<pref:FullName>ВодкаКедроваяСибирская 0.5000 л.</pref:FullName>
<pref:ShortName>ВодкаКедровая</pref:ShortName>
<pref:AlcCode>АП-0017854000001200666</pref:AlcCode> Определяем по PDF
<pref:Capacity>0.5000</pref:Capacity>
<pref:AlcVolume>40</pref:AlcVolume>
<pref:ProductVCode>200</pref:ProductVCode>
<pref:Producer> Производитель (? или импортер)
<oref:INN>7803011250</oref:INN>
<oref:KPP>784401001</oref:KPP>
<oref:ClientRegId>00076832</oref:ClientRegId>
<oref:FullName>ЗАКРЫТОЕАКЦИОНЕРНОЕОБЩЕСТВО "СВАРОГ", РОССИЯ</oref:FullName>
<oref:ShortName>ЗАО "СВАРОГ"</oref:ShortName>
<oref:address>
<oref:Country>643</oref:Country>
<oref:description>Адрес</oref:description>
</oref:address>
</pref:Producer>
</ain:Product>
<ain:Quantity>10.0</ain:Quantity> Сколько ставим на баланс
<ain:InformAB>
<ain:InformABReg>
<ain:InformA> Информация из бумажной справки А
<iab:Quantity>10000</iab:Quantity> Кол-во по бумажной справке
Дата розлива для российской или дата ввоза для импрота
<iab:BottlingDate>2015-09-17</iab:BottlingDate>
<iab:TTNNumber>345</iab:TTNNumber>
<iab:TTNDate>2015-09-20</iab:TTNDate>
<iab:EGAISFixNumber>22666</iab:EGAISFixNumber> Номер и дата фиксации в ЕГАИС
<iab:EGAISFixDate>2014-11-17</iab:EGAISFixDate>
</ain:InformA>
</ain:InformABReg>
</ain:InformAB> ??? Инфа из раздела Б не берется
<ain:MarkCodeInfo> Список марок для данного id АП (марки)? или сплошной список марок
<ain:MarkCode>0022N00001CG05K3KHGB83SO140801002003268RBZBCAWH4A3A0LJX7DPFQ4LZKSAZ79L</ain:MarkCode>
<ain:MarkCode>0019N0000045UBWORLAIS040Y311150040695897974127204245124231142081193513</ain:MarkCode>
....
</ain:MarkCodeInfo>
</ain:Position>
</ain:Content>
</ns:ActChargeOn>
</ns:Document>
</ns:Documents>
Возможный выход: В сервисе проверки марок личного кабинета ФСРАР запросить информацию по данной марке, тогда в ответе Вы получите правильные коды справок и алкокод.
Проверит идею не могу за неимением бутылок с марками нового образца.