Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Сколько таких "кривых документов" можно получить в течении дня? - все зависит от поставщика. Обычно такие документы составляют малую часть.  Обычно их создает один и тот же поставщик, мы очень надеемся, что рано или поздно проверяющие органы его "найдут".  Заплатив штраф, за некорректную уплату налогов, он поменяет своего "программиста", на адекватного специалиста. И всем станет - счастье.

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

№6 - Почему при приеме УПД не находится товарная карточка?

Ошибка возникает из-за невозможности определить артикул по данным входящего пакета. Во входном пакете есть значение кода ОСУ: <OSUCODE>020481022303313837120</OSUCODE>. Этот код является штрихкодом формата GS1 в котором зашита информация о коде EAN13 – «4810223033138» и количестве «120». По коду EAN можно получить артикул. Но Супермаг не распознал последовательность символов 020481022303313837120 как корректный штрихкод и не получил из него код EAN13. Дело в том, что форматы штрихкодов очень разнообразны и по внешнему виду штрихкода не всегда можно определить его тип и, соответственно, выделить данные из штрихкода. Возможно неоднозначное определение типа. Поэтому в Супермаге имеется справочник «Штрихкоды» в котором должны быть описаны типы штрихкодов, используемых данным клиентом.


View file
nameUI.XSD
height150

View file
nameUPD_c4a6a73a-c3e1-4e68-9e36-94084c53120d.BAK
height150

В данной БД не был разрешен штрихкод типа GS1. Я добавил в справочник «Штрихкоды» такой штрихкод (ид. 41, «секционный GS1»). После этого приём УПД в БД BELPROD заработал.


Ошибка:


--------------------------------------------------------
2023.02.07 (вторник) 10:56:59 1.49.1.0 sp3 Sm.Post.Server
----- Прерывание работы программы -----
сообщение: "Ошибка приёма объекта «UI 0000000037», виртуальный пакет «UPD_c4a6a73a-c3e1-4e68-9e36-94084c53120d.SVP»"
исключение: Sm.Core.BaseException
источник: Sm.Post.DbLoader
----- Причина исключения, уровень вложения 1 -----
сообщение: "Невозможно записать в БД объект «UI, 0000000037», таблица «SMSPECWE»"
исключение: Sm.Core.BaseException
источник: Sm.Post.DbLoader
метод: Void WriteNewObject(Sm.Server.Database.OracleTransConn)
в Sm.Post.PostObjectAdapter.WriteNewObject(OracleTransConn transaction)
в Sm.Post.PostObjectDocumentAdapter.WriteNewObject(OracleTransConn transaction)
в Sm.Post.PostObjectAdapter.WriteObject(OracleTransConn connection, PostObject originalByType)
в Sm.Post.PostUploader.UploadObject(IVirtualPackageReader reader, PostObjectInfo postData, PostObject originalByType)
в Sm.Post.PostUploader.UploadObjects(IVirtualPackageReader reader, ICollection objs, LockMultiObjects locker, Dictionary`2 original, IUploadExceptionHandler xHandler, IPostReplyClient postReply, Progress progress, Boolean postReplySuccess)
----- Причина исключения, уровень вложения 2 -----
сообщение: "ORA-01400: невозможно вставить NULL в ("SUPERMAG"."SMSPECWE"."ARTICLE")"
исключение: Oracle.ManagedDataAccess.Client.OracleException
источник: Oracle Data Provider for .NET, Managed Driver
данные:
соединено с: База данных=BELPROD; Пользователь=Supermag
текст команды: Insert into Supermag.SMSPECWE(DOCID,DOCTYPE,SPECITEM,ARTICLE,COUNTRY,DISPLAYITEM,DISPLAYITEMUI,ITEMPRICE,ITEMPRICECUR,ITEMPRICENOTAX,QUANTITY,QUANTITYUI,SPECITEMUI,TOTALPRICE,TOTALPRICECUR,TOTALPRICENOTAX,VATRATE,VATSUM) values(:pDOCID,:pDOCTYPE,:pSPECITEM,:pARTICLE,:pCOUNTRY,:pDISPLAYITEM,:pDISPLAYITEMUI,:pITEMPRICE,:pITEMPRICECUR,:pITEMPRICENOTAX,:pQUANTITY,:pQUANTITYUI,:pSPECITEMUI,:pTOTALPRICE,:pTOTALPRICECUR,:pTOTALPRICENOTAX,:pVATRATE,:pVATSUM)
тип команды: Text
параметры: pDOCID=«0000000037»; pDOCTYPE=«UI»; pSPECITEM=«1»; pARTICLE=«»; pCOUNTRY=«Россия»; pDISPLAYITEM=«1»; pDISPLAYITEMUI=«»; pITEMPRICE=«501,00»; pITEMPRICECUR=«0»; pITEMPRICENOTAX=«455,45»; pQUANTITY=«736,710»; pQUANTITYUI=«»; pSPECITEMUI=«»; pTOTALPRICE=«369091,71»; pTOTALPRICECUR=«0»; pTOTALPRICENOTAX=«335537,92»; pVATRATE=«10»; pVATSUM=«33553,79»
метод: Int32 UpdatedRowStatusErrors(System.Data.Common.RowUpdatedEventArgs, BatchCommandInfo[], Int32)
в System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
в System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
в System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
в Oracle.ManagedDataAccess.Client.OracleDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
в System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
в System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
в Sm.Server.Database.OracleRunner.Update(OracleSafeAdapter dataAdapter, DataTable dataTable)
в Sm.Post.PostObjectAdapter.WriteNewObject(OracleTransConn transaction)