Не проводятся списания и расход товара, не работает отчет Продажи.

  • 257 Просмотров
  • Последнее сообщение 04 августа 2020
Denis написал 21 июля 2020

Добрый день. Программа не проводит списание товара и расход. Причем иногда проводит, иногда нет. 

Отчет по продажам либо выгружает не тот товар, который был продан в указанной дате. Или, за более долгий период, ничего не грузит, выдает ошибку:

code = Corrupt (11), message = System.Data.SQLite.SQLiteException (0x800007EF): database disk image is malformed

database disk image is malformed

   в 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)

   в Kayala.Server.Database.SQLiteDatabaseAccessor.<>c__DisplayClass36_0.<ExecuteToList>b__0(SQLiteCommand comm)

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

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

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.XBORT2dIiB(QueryCriteria  , Type  )

   в EsadOyn0Hb9F4lHTtr.pjMjJ0MPnL3x4RKvSx.ExecuteQuery(QueryCriteria  )

Сортировка: Стандарт | Новые | Голоса
Danil написал 21 июля 2020

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

Программа "жалуется" на то что файл базы данных повреждён. Ваша база расположена на сетевом ресурсе или облачном диске? Если первое, сколько компьютеров используют её?

В качестве ещё одной причины может быть постепенный выход из строя жесткого диска. Рекомендую на всякий случай сделать проверку диска на наличие ошибок.

Denis написал 21 июля 2020

На облачном диске. Что делать?

Danil написал 21 июля 2020

Убрать файл базы данных из папки облачного диска. Если у вас платная версия, в папку облачного диска настройте только создание автоматических резервных копий.

Denis написал 21 июля 2020

А как тогда с программой работать из двух мест одновременно?

Danil написал 21 июля 2020

А где ещё она у вас работает?

Denis написал 21 июля 2020

В магазине и в офисе, где сотрудник анализирует продажи и делает заказы.            

Danil написал 21 июля 2020

И доступ к файлу базы идёт через облачный диск (яндекс.диск или гугл.диск)? Или всё же через сетевой ресурс (сетевой диск)?

Denis написал 21 июля 2020

Облако на компьютерах как локальный диск указано, по нему указан путь к папке. 

 

Danil написал 21 июля 2020

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

Рекомендую вам переходить на сетевые базы данных MS SQL или PostgreSQL.

Denis написал 21 июля 2020

Если я покупаю лицензию для MS SQL, базу данных можно будет сохранять в облаке и проблем не будет? 

Danil написал 21 июля 2020

Только её резервную копию (можно автоматическую) и только с того компьютера на котором установлен MS SQL. Восстановить её можно будет только программой так же подключенной к MS SQL.

Denis написал 22 июля 2020

В текущем типе конфигурации, для проверки, перенес базу данных на ПК, проверил, ошибки такие же остаются. Если выберу тип базы данных MS SQL и укажу путь к предыдущим файлам сохранения, программа будет работать с предыдущими данными или все с нуля нужно начинать?

Danil написал 22 июля 2020

Со старыми файлами программа работать не будет, но начинать с нуля так же не придется. У нас есть обработка Перенос данных, которая сможет перенести ваши данные из старой базы в новую. 

Denis написал 25 июля 2020

Добрый день! Купил снова лицензию на год. Пробую запустить тип базы MS SQL, не получается . В настройках выставил все как во вложении, указал имя компьютера своего и т.д. Может неправильно что делаю?

 

Danil написал 25 июля 2020

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

Да, неправильно. Однозначно неправильно указано поле База данных, уберите оттуда путь, оставьте только KayalaTradePoint

MSSQL вы устанавливали через наш установщик? Если да, то после имени компьютера в поле Сервер БД нужно дописать ещё \SQLEXPRESS

Опять же, если устанавливали через наш установщик, то и поле Пользователь должно быть sa а пароль тот что был указан при установке MS SQL

Вот пример того как это может быть прописано:

Denis написал 25 июля 2020

Спасибо, получилось зайти. При попытке переноса данных из предыдущей базы выскочила ошибка:

Kayala.Core.KayalaException: Object or field is not found. Field: 'Код'

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.wlCRnOXlHa(KAodOLZnG91Hl5y5uw  , String  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.EFHRYKkO2F(KAodOLZnG91Hl5y5uw  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.enVRuP6HnW(QueryCriteria  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.XBORT2dIiB(QueryCriteria  , Type  )

   в EsadOyn0Hb9F4lHTtr.pjMjJ0MPnL3x4RKvSx.ExecuteQuery(QueryCriteria  )

   в MoveDataService.TransferDataService.RunDict(String selectedSourceType, String sourceServer, Boolean useLogBase, String sourceDatabase, String sourceLogin, String sourcePassword, String[] selectedDictNames) в C:\ProgramData\Kayala\Modules\c039a0a6-de45-41c3-b135-0dac410cfeef\MoveDataService\MoveDataService.cs:строка 270

При попытке выполнить простой перенос данных:

Kayala.Core.KayalaException: Object or field is not found. Field: 'Код'

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.wlCRnOXlHa(KAodOLZnG91Hl5y5uw  , String  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.EFHRYKkO2F(KAodOLZnG91Hl5y5uw  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.enVRuP6HnW(QueryCriteria  )

   в s6giFYVV12yOiep9IC.D8cdONBobTppTr0HTH.XBORT2dIiB(QueryCriteria  , Type  )

   в EsadOyn0Hb9F4lHTtr.pjMjJ0MPnL3x4RKvSx.ExecuteQuery(QueryCriteria  )

   в MoveDataService.TransferDataService.RunSimple(String selectedSourceType, String sourceServer, Boolean useLogBase, String sourceDatabase, String sourceLogin, String sourcePassword, Boolean createNewDicts, Boolean moveRests, Boolean movePrices) в C:\ProgramData\Kayala\Modules\c039a0a6-de45-41c3-b135-0dac410cfeef\MoveDataService\MoveDataService.cs:строка 86

Danil написал 25 июля 2020

Внимательно проверьте, список установленных модулей в обоих базах должен точно совпадать. Судя по ошибке он у вас отличается.

Denis написал 29 июля 2020

Добрый вечер! Столкнулся с проблемой работы с базой данных MS SQL с 2х ПК (на каждый установил лицензию). Дело в том, что если как Вы писали выше создавать резервную копию автоматическую, то в настройках можно установить ее создание только при входе в программу и выходе. Есть ли какой-то способ установки периода, через который база будет автоматически сохраняться в указанную папку, меняя предыдущий файл? В одной из вкладок увидел Распределенную базу, она может решить проблему?

Danil написал 30 июля 2020

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

К сожалению периодичность создания резервной копии в программе сейчас задать нельзя. Распределенная база тут не поможет, она про другое.

Будем иметь в виду на будущее.

Denis написал 30 июля 2020

При восстановлении из резервной копии не появились склады, которые были в исходной версии и созданные пользователи. При восстановлении движение по складам и сами склады должны же фиксироваться или загружается ограниченное количество типов документов? 

Danil написал 30 июля 2020

При восстановлении из резервной копии? Или при переносе данных? При простом переносе склады не переносятся, а при обычном они должны перейти. Пользователи да, при переносе данных не переносятся, в следующих версиях обязательно это поправим.

Denis написал 30 июля 2020

Если я сейчас правильно все понял, то алгоритм должен быть таков: устанавливаю на 2х разных компьютерах базы данных MS SQL. Поочередно переношу в каждую данные из старой SQLite. В дальнейшем если на первом компьютере внес изменения, то на втором необходимо восстановить систему из сохраненной резервной копии первого для отражения поступлений, продаж, новых товаров, ценообразования? Или нужно делать перенос данных? Сейчас я на первом компьютере перенес данные, а на втором просто восстановил резервную копию первого, видимо поэтому склады не появились.

Mihail написал 31 июля 2020

Тут есть 2 варианта: 

1) MS SQL база располагается на одном компьютере (лучше в магазине, т.к. там ведутся продажи), и оба компьютера с этой базой работают. При этом между компьютерами нужно организовать виртуальную сеть (VPN), например, с помощью Radmin VPN или другими средствами. В настройках программы в поле "Сервер БД" нужно будет прописать имя компьютера с базой либо его VPN IP-адрес в виде Имя_Компьютера\sqlexpress (или IP_адрес\sqlexpress). Такой вариант получается легко расширяемым, т.е. можно новые магазины просто подключать к одной базе и они в ней будут работать. 

2) если очень нужно в двух местах (в магазине и в офисе) работать независимо (т.е. когда один комп выключен, а на другом можно работать), то устанавливать MS SQL нужно на обоих компьютерах, тогда будет две базы и каждый будет работать со своей базой. Вторую базу нужно делать копией из первой через резервное копирование. При этом еще нужно будет настроить "Распределенные базы", это когда что-то изменяется в одной базе будет передаваться в другую базу и таким образом они будут синхронизироваться. Важно настроить синхронизацию сразу после создания копии базы, иначе некоторые изменения из первой базы могут не появиться во второй.

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

Это как раз правильный вариант для двух отдельных баз: на одном компьютере делаете резервную копию базы, полученный файл несете на другой компьютер и делаете восстановление из резервной копии. При этом во второй базе должно быть абсолютно все что было в первой на момент создания копии.

В дальнейшем если на первом компьютере внес изменения, то на втором необходимо восстановить систему из сохраненной резервной копии первого для отражения поступлений, продаж, новых товаров, ценообразования?

Нет, нужно просто настроить "Распределенные базы" и когда что-то изменяется в одной базе будет передаваться в другую базу и таким образом базы будут синхронизироваться. Описание настройки распределенных баз

Но вариант с отдельными базами, на мой взгляд, несколько сложнее. Я бы рекомендовал, попробовать настроить виртуальную сеть и работать в единой базе. А если передумаете, сделать вторую базу копией из первой и настроить синхронизацию можно в любой момент.

Denis написал 01 августа 2020

Спасибо. Получилось реализовать первый вариант. При проведении расхода товаров всплывает сообщение "Необходимо установить константу "Статья торговой выручки" после обновления программы. Не нашел где и как ее устанавливать.

Андрей82 написал 01 августа 2020

Добрый день! У меня вот тоже сегодня какая-то ерунда началась - отчет Продажи товаров выходит пустой и при попытке создать ценообразование выдает ошибку. Возможно причина в том, что вчера вечером Аваст неожиданно ругнулся на запускающий файл и переместил его.  

Андрей82 написал 01 августа 2020

Версия портабл, переустановил полностью, не помогло. Значит проблема с самой базой данных?

Danil написал 01 августа 2020

Спасибо. Получилось реализовать первый вариант. При проведении расхода товаров всплывает сообщение "Необходимо установить константу "Статья торговой выручки" после обновления программы. Не нашел где и как ее устанавливать.

Меню Операции - Константы, в появившемся окне можно будет найти нужную константу

Danil написал 01 августа 2020

Версия портабл, переустановил полностью, не помогло. Значит проблема с самой базой данных?

Похоже Аваст удалил папку модуля, сделайте резервную копию базы и попробуйте удалить модуль Переработки и без перезагрузка программы сразу же его установить и вот после этого перезапустить программу.

Андрей82 написал 01 августа 2020

Ценообразование заработало, а вот Продажи товаров по прежнему пустые выходят. Еще не работала например печатная форма Накладная в ценах продажи, ее восстановил переустановив модуль Отчеты в ценах продажи. Какой еще модуль пропробовать чтобы Продажи товаров вернуть?

Андрей82 написал 01 августа 2020

За предыдущие дни отчет работает, за сегодня только пустой выходит

Mihail написал 02 августа 2020

За предыдущие дни отчет работает, за сегодня только пустой выходит

Если вы используете модуль "Списывающий Чек", попробуйте его тоже удалить и снова установить без перезапуска программы. Потом перезапустите программу и перепроведите Чеки за тот период, в котором отсутствуют продажи. Перед манипуляциями сделайте резервную копию базы на всякий случай.

Mihail написал 02 августа 2020

Для перепроведения чеков откройте "Журнал чеков", установите фильтр по документам "Чек" и воспользутесь "Групповой обработкой".

Андрей82 написал 02 августа 2020

Да, помогло, спасибо. Похоже придется все модули переустановить, пока еще какие глюки не повылазили.

Mihail написал 02 августа 2020

И добавьте программу в исключения антивируса, это он проказничает удалением (блокировкой) модулей.

Андрей82 написал 04 августа 2020

Еще такой побочный эффект обнаружился за тот день - получается модуль Списывающий чек был отключен и списание товаров с остатка прошло Z-отчетом, а потом видимо когда я все исправил произошло списание товара и по каждому чеку. То есть у меня двойное списание товара в этот день. Как мне поступить - просто удалить документ Z-отчет или есть другой способ?

Андрей82 написал 04 августа 2020

А, все, нашел решение сам. Просто перепровел по новой Z-отчет

Close