Загрузка продаж из Эвотор. Ошибка

  • 168 Просмотров
  • Последнее сообщение 03 марта 2019
Игорь написал 03 марта 2019

Здравствуйте. При загрузке продаж появляется ошибка:

code = Constraint (19), message = System.Data.SQLite.SQLiteException (0x800027AF): constraint failed

FOREIGN KEY constraint failed

   в System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)

   в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)

   в System.Data.SQLite.SQLiteDataReader.NextResult()

   в System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)

   в System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)

   в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior)

   в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()

   в Kayala.Server.Database.SQLiteDatabaseAccessor.<>c__DisplayClass41_0.<Execute>b__0(SQLiteCommand comm)

   в Kayala.Server.Database.SQLiteDatabaseAccessor.yu0oPCW1A7(DoCommandHandler  , String  , Object[] parameters)

   в Kayala.Server.Database.SQLiteDatabaseAccessor.Execute(String sql, Object[] parameters)

   в Xw74J3SDXOWaknyp8o.ukjWMKdKE9hRSNwhFL.uc63zttMoc(DocumentObject  )

   в GJVF96ibNwmU5igmoB.fuSgrZ4ve5hrB611Cg.SaveChanges(BaseObject  )

   в EvotorExchange.EvotorExchangeService.ProcessReceipt(Int32 pos, Document evotorDoc, String& error)

   в EvotorExchange.EvotorExchangeService.Download(String token, IEnumerable`1 poses, DateTime start, DateTime end)

Могу предположить, что это связано с тем, что во время продаж мне пришлось экстренно создать товар в терминале и продать, а в Каяле этого товара не было. В итоге выгрузилось всего 3 чека, а должно быть гораздо больше. Помогите, пожалуйста, решить проблему.

Сортировка: Стандарт | Новые | Голоса
Danil написал 03 марта 2019

Здравствуйте!

Да, именно поэтому это и произошло. Каяла не знает про товар, продажи которого вы пытаетесь загрузить. Сейчас подумаем, как это можно исправить.

Игорь написал 03 марта 2019

Случаи бывают разные при продажах, некоторые товары приходят и их тут же покупают. Поэтому и приходится быстро их заносить и выбивать. Было бы здорово, если бы в обновлении вы бы добавили проверку на наличие неизвестных товаров и пропускали их, чтобы ошибки не было. А еще лучше писать "Неизвестный товар" и при нажатии на него предлагалось выбрать к какому из текущих товаров присвоить продажу!) 

Порядок работы такой. Продал неизвестный товар, загрузил продажи. Создал товар в Каяле. Соотнес неизвестный товар, провел Z-отчет. 

Danil написал 03 марта 2019

Смотрите, такие случаи по идее не должны случаться. В нашем эвоторовском приложении стоит опция, которая запрещает создание товаров на терминале. Если терминал все же позволяет создавать товары, то это либо мы не до конца разобрались (так как формулировки там не однозначные), либо в эвоторе ошибка, которую они исправят со временем и на терминале уже точно нельзя будет создавать товары.

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

Пока родилась такая идея, что бы решить вашу проблему будем пропускать неизвестный товар. Дальше создадите товар с нужным названием и добавите его в соответствующий чек. Для ускорения решения вашей проблемы, пришлите нам пожалуйста резервную копию вашей базы на адрес support@kayala-soft.ru, что бы мы точно видели вашу ситуацию.

Игорь написал 03 марта 2019

А как будет работать с товарами со свободной ценой? При продаже в Эвоторе можно еще создать позицию со свободной ценой.

Danil написал 03 марта 2019

В этом случае должно быть все хорошо. Каяла их загрузит по фактически проданной цене. Родной РМК тоже позволяет продавать по произвольной цене.

Игорь написал 03 марта 2019

Следующий раз так и сделаю!

Mihail написал 03 марта 2019

Здравствуйте.

Опубликовали обновление модуля "Обмен с Эвотор", актуальная версия 1.1. Обновите у себя модуль и продажи должны загрузиться. 

Товары созданные в Эвотор и НЕ найденные в базе "Торгового места" в чеки НЕ добавятся и суммы чеков будут уменьшены. При загрузке продаж программа выдаст сообщения какой товар НЕ найден и в какой Чек не добавлен. Смысла добавлять такие товары в Чек вручную я не вижу, т.к. списание товаров в случае, когда имеется Эвотор, делает Z-отчет, а в Z-отчет вручную добавить товар нельзя. Поэтому вам проще всего будет зарегистрировать продажу (расход с остатков) таких товаров отдельным документом "Расход товаров".

Игорь написал 03 марта 2019

Спасибо! При обновлении пишет, что модуль предназначен для более новой версии. У меня : 1.7.90120

Mihail написал 03 марта 2019

Попробуйте еще раз.

Игорь написал 03 марта 2019

Отлично, спасибо! Все работает, все подправил

Close