Выравнивание остатков с ЕГАИС — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
Строка 35: Строка 35:
  
 
'''7.''' Выполняем скрипт запрос:
 
'''7.''' Выполняем скрипт запрос:
         select 'update parts set egais_alccode='''||coalesce(egais_alccode,'')||
+
         '''select 'update parts set egais_alccode='''||coalesce(egais_alccode,'')||
 
         ''', egais_producer_id='''||coalesce(egais_producer_id,'')||''',CAPACITY='''||
 
         ''', egais_producer_id='''||coalesce(egais_producer_id,'')||''',CAPACITY='''||
 
         coalesce(replace(CAPACITY,',','.'),'')||''' where id='||coalesce(part_id,'')||';' from doc_detail_active
 
         coalesce(replace(CAPACITY,',','.'),'')||''' where id='||coalesce(part_id,'')||';' from doc_detail_active
         where doc_id=:doc_id
+
         where doc_id=:doc_id'''
  
 
         где :doc_id - ИД нашего активного документа  
 
         где :doc_id - ИД нашего активного документа  

Версия 14:19, 29 ноября 2016

1. Провести ревизию по алкоголю и пиву

2. Установить ЕГАИС с папки \\vnedrenie\Obmen\egais\ (перенести эту папку на комп клиента)

        2.1 Сделать бэкап базы (на всякий случай)!
        2.2 Выполнить скрипт из папки egais, которую чуть раньше Вы залили на комп клиента.
        2.3 В Менеджере в Подпрограммах ТМС в раздел "Общие" добавьте ТМС под названием "Функции ЕГАИС". 
            Затем в самой базе в таблице Groups найти эту ТМС и вставить в дату бинарник  ms20161109.txt
        2.4 Заменить менеджера на последнего
        2.5 В менеджере добавить системный фильтр "Не указан код алкогольной продукции", 
            текст фильтра в ранее перенесенной папке.
        2.6 На раб.стол выложить файлы "Инструкция по получению акциза по серии и номеру" и "Коды ФСМ_АМ"

3. Создаем фиктивный документ "Акт поставновки на баланс", подгружаем сетку из папки и добавляем товар по фильтру "Не указан код алкогольной продукции" + группа Алкоголь. Выделяем все и выделенные позиции переносим в активный документ.

4. Можно открыть им этот документ через менеджера на кассе, чтобы они прошлись по всем позициям и просканировали все акцизные марки. Если не читает акциза, пусть заполнят колонки Серия и Номер , три и девять знаков соответственно. По товарам у которых заполнен только Серия и Номер , обязательно указываем код ФСМ и з файла, подсказка на акцизе

Как все заполнят пусть звонят нам, продолжим.

5. По товару без акциза - егаис - получить акциз по серии и номеру

и по каждой позиции запрашиваем, правой кнопкой мыши ЕГАИС -->Получить акцизную марку по серии и номеру.

Это нужно делать по каждой позиции отдельно, не обязательно дажидаться когда придет ответ по предыдущей позации.

Когда пройдут все запросы , затем послаем запрос на получение данных по Акцизной марке, также по каждой позиции.

  ЕГАИС_АкцМарка

6. Выделяем инсертом все строки с акцизом - с отмечными - егаис - получить данные по акцизной марке или по алкокоду, в зависимости от того какие поля уже заполнены. Делаем запросы и ждем когда придут данные.

В активном документе должны быть обязательно заполнены следующие поля ИД Производителя, Алкокод, Акцизная марка, CAPACITY и EGAIS_PRODUCER_INN.

7. Выполняем скрипт запрос:

        select 'update parts set egais_alccode=||coalesce(egais_alccode,)||
        , egais_producer_id=||coalesce(egais_producer_id,)||,CAPACITY=||
        coalesce(replace(CAPACITY,',','.'),)|| where id='||coalesce(part_id,)||';' from doc_detail_active
        where doc_id=:doc_id
       где :doc_id - ИД нашего активного документа 
       Результатом запроса выглядит следующим образом: 
 ЕГАИС_Запрос


Затем результат запроса Экспортируем данные в буфер

 ЕГАИС_Экспорт

Открываем редактор скриптов, вставляем результат из буфера и перед тем как применить скрипт удаляем первую строку в этом скрипте : "CONCATENATION" и выполняем update таблицы PARTS.

8. Отменяем или откладываем документ

9. По кнопке "ЕГАИС" на верхней панели менеджера заходим в "ЕГАИС менеджера" и отправляем запросы по первому регистру.

  ЕГАИС_Регистры 

10. Затем по кнопке "Выполнить" --> Функции ЕГАИС --> Cравнить остатки, после того как сравнение пройдет, нажимаем "Создать документы". Вся эта процедура может занять около 30 мин или более. При этом работать в менеджере не получится.

           10.1 Перед этим действием снова создайте фильтр "Не указан код алкогольной продукции" и 
                убедитесь что не осталось товаров с незаполненными данными, в противном случае обработка 
                сруганется и отправит Вас заполнять коды по оставшимся товарам.

ЕГАИС_Перемещение


11. Появится документ Перемещения, подгружаем сетку из папки, выбираем сетка справочник.ini. Затем кнопку "Созадть Документ " , а после создастся несколько документов разбитых по 300 позиций и проводим их (заполненность полей проверять уже не нужно для этой операции).

12. По кнопке "ЕГАИС" на верхней панели менеджера заходим в "ЕГАИС менеджера" и отправляем запросы по второму регистру.

13. Затем по кнопке "Выполнить" --> Функции ЕГАИС --> Cравнить остатки, после того как сравнение пройдет, нажимаем "Создать документы". Вся эта процедура может занять около 30 мин или более. При этом работать в менеджере не получится.

ЕГАИС_Сравнение_остатков

14.Создадутся документ оприходование и списание отменяем, проверяем в них заполненность всех необходимых полей, в случае необходимости запрашиваем данные через ЕГАИС.

15. Проводим 2 документа оприходование и списание

16. Потом по кнопке "Выполнить" --> Функции ЕГАИС --> Cравнить остатки. Если все сделали правильно то в списке остануться только позиции продаж за последние часы работы точки.


Возможные ошибки при проведении документов:

   1. org.xml.sax.SAXParseException; cvc-pattern-valid: Value  is not facet-valid with respect to pattern
   '\S+(.*\S+)*' for type         'NoEmptyString50'.2  ResponseText: HTTP/1.1 500 Server Error

Сообщение говорит о том что какие-то поля из обязательных для заполнения пусты и нужно делать по ним запрос данных в ЕГАИС (ИД Производителя, Алкокод, Акцизная марка, CAPACITY и EGAIS_PRODUCER_INN)

  2. org.xml.sax.SAXParseException; cvc-maxLength-valid: Value 'Шампанское Российское Однажды Вечером 0,75л 10,5-13 % п/сл Бальзам'
   with length = '66' is not facet-valid with respect to maxLength '64' for type '#AnonType_ShortNameProductInfo_v2'.2 
   ResponseText: HTTP/1.1 500 Server Error 

Это сообщение говорит о слишком длинных наименования, максимум должно быть 64 символа, если их не много , можно вручную отредактировать.


3. Если видите зацикленность в окне ЕГАИС и окно примерно такого вида , это значит что все хорошо, документ проведен. Но Менеджера лучше перезапустить и убить текущий процесс.

  ЕГАИС_Ошибки
    4. Акт отклонен(8931), комментарий: 
    Необеспеченный расход продукции в торговом зале (код продукции "0015091000001700673"). Владелец ["020000712582"], 
    акт списания ["8931"-"AWOS-0001959233"], позиция "1". Импорт содержимого акта списания из торгового зала.


Это значит что по позиции была продажа и её нужно удалить из документа и попытаться снова провести.

    5. Емкость тары продукции отличается от справочника. (0013946000001878269 - 0.7000) Владелец ["020000712582"], 
    акт постановки на баланс ["8946"-"ACOS-0000287623"], позиция "24529".  Документ содержит ошибки:  Владелец ["020000712582"], 
    акт постановки на баланс ["8946"-"ACOS-0000287623"], позиция "24529". Импорт содержимого акта постановки на баланс 
    в торговом зале (версия 2).

Это означает что в базе указан не верный объем товара, поэтому нужно сделать запрос данных по алкокоду, чтобы правильный объем пришел к нам из ЕГАИС

    6. Данные акта "Перемещение в магазин" получены, акт не принят на обработку, комментарий: 
    Продукция с кодом "0011813000001188999" не соответствует форме 2 "(null)". Владелец ["020000638100"], передача продукции из торгового зала на склад ["137706"-"TTS-0004950583"], позиция      
    "1". Импорт содержимого документа о передаче продукции со склада в торговый зал.

В этом случае проверить параметры в ЕГАИС - вкл , запросить снова 1-ый регистр, 2-ой регистр, и снова выполнить функции ЕГАИС - сравнение остатков, создать документы, провести их.