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

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
(ТМС проверки новых накладных от ЕГАИС)
Строка 1173: Строка 1173:
 
==Почему на сайте в информации о чеке неверно отображается дата чека==
 
==Почему на сайте в информации о чеке неверно отображается дата чека==
 
Проблема решается обновлением версии кассира.
 
Проблема решается обновлением версии кассира.
 +
 +
==Что делать если акт на самом деле принят, но в журнале документов отображается, что не принят?==
 +
В начальных версиях егаис-менеджера была ошибка, что если по ТТН отправляют повторный акт по уже принятой накладной и УТМ по этому запросу возвращает отрицательный ответ (т.к. ттн уже подтверждена), то менеджер меняет в базе статус с принятого на отклонён. Это можно исправить спомощью процедуры:
 +
<pre>
 +
SET TERM ^ ;
 +
 +
create or alter procedure PR_CHECK_TTN_ACCEPTED
 +
returns (
 +
    DOC_ID_OUT bigint)
 +
as
 +
declare variable DOC_ID DM_ID;
 +
declare variable EGAIS_ID DM_UUID;
 +
declare variable C DM_STATUS;
 +
begin
 +
for select D.ID,
 +
            D.EGAIS_ID
 +
    from DOCS D
 +
    where D.DOC_TYPE = 40
 +
          and D.EGAIS_STATUS = 2
 +
    into :DOC_ID,
 +
          :EGAIS_ID
 +
do
 +
begin
 +
  C = 0;
 +
  select first 1 count(*)
 +
  from EGAIS_REQUESTS R
 +
  where 1 = 1
 +
        and R.EGAIS_ID = :EGAIS_ID
 +
        and R.REPLY_DATA containing '<tc:Conclusion>Accepted</tc:Conclusion>'
 +
  into C;
 +
  if (C > 0) then
 +
  begin
 +
  select :DOC_ID
 +
  from RDB$DATABASE
 +
  into :DOC_ID_OUT;
 +
  update DOCS D
 +
  set D.EGAIS_STATUS = 1
 +
  where D.ID = :DOC_ID;
 +
  suspend;
 +
  end
 +
end
 +
end^
 +
 +
SET TERM ; ^
 +
 +
/* Following GRANT statetements are generated automatically */
 +
 +
GRANT SELECT,UPDATE ON DOCS TO PROCEDURE PR_CHECK_TTN_ACCEPTED;
 +
GRANT SELECT ON EGAIS_REQUESTS TO PROCEDURE PR_CHECK_TTN_ACCEPTED;
 +
 +
/* Existing privileges on this procedure */
 +
 +
GRANT EXECUTE ON PROCEDURE PR_CHECK_TTN_ACCEPTED TO SYSDBA;
 +
</pre>
 +
Если каким то образом получилось, что в егаис накладная принята, но в базе нет данных запросов и она там неподтверждена, то ее можно подтвердить вручную спомощью запроса:
 +
<pre>
 +
update docs d set d.egais_status=1 where d.doc_id=:doc_id;
 +
</pre>

Версия 17:52, 22 июля 2016