Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Обмен данными с кассой

  1. #1
    Новичок
    Регистрация
    24.06.2016
    Адрес
    Владивосток
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Обмен данными с кассой

    После отключения света посыпалась база данных. Техподдержка восстановила БД через 2 дня, касса продолжала работать все это время. После восстановления БД выяснилось, что нет обмена бэк-офиса с кассой. В логах нашли это: Session not found by sessionId
    Из папки UpdateQueue удалил файлы с неверным session id и обмен прошел. Теперь на бэк-офисе есть данные до отключения света и после починки БД. все что было в этом 2х дневном промежутке на бэк-офис не пришло. Данные за эти 2 дня хранятся на кассе, UpdateQueue пустая. Тех поддержка уже 4 дня говорит что в работают над этим.

    Вопрос: как перенести данные с кассы на бэк-офис или вручную засунуть их в UpdateQueue, чтобы произошел обмен? Помогите пожалуйста

  2. #2
    Сведущий Аватар для Spaceman
    Регистрация
    20.08.2010
    Адрес
    Екатеринбург
    Сообщений
    67
    Поблагодарил(а)
    0
    Благодарностей: 1 (сообщений: 1)
    А зачем было удалять файлы из UpdateQueue? Если вы их удалили безвозвратно, то нужно делать повторную выгрузку продаж с помощью плагина Eventsreloader. Лучше конечно если это сделает тех поддержка, а то можно "накосячить" еще больше. Порядок действий следующий
    С фронта забираем:
    1. entities.sdf (%appdata%\iiko\CashServer\EntitiesStorage\Entities \)
    2. папки с events.sdf и transactions.sdf - ServerEvents и Transactions (%appdata%\iiko\CashServer\EntitiesStorage\Events\)
    3. все xml из корня CashServer (%appdata%\iiko\CashServer\)
    4. все xml из EntitiesStorage (%appdata%\iiko\CashServer\EntitiesStorage\)
    Алгоритм работы с плагином:
    1. Устанавливаем у себя фронт той же версии.
    2. Собранные файлы раскладываем согласно стандартным путям. Папку из п.2 можно положить в любое удобное место.
    3. В папку Plugins фронта кладем плагин EventsReloader (берем из сборки соответствующей версии). Набор плагинов должен полностью совпадать с плагинами донорской кассы
    4. Запускаем фронт.
    5. Логинимся пин-кодом и идем в плагины - "Повторная выгрузка продаж" (Кассовая смена должна быть открыта, иначе конки Плагины не будет)
    6. Указать путь к базам. Это должен быть путь к папке с двумя папками ServerEvents и Transactions. И уже в этих папках должны лежать .sdf и архивы. По умолчанию это папка из текущего кэшсервера (%appdata%\iiko\CashServer\EntitiesStorage\Events\)
    7. Указать диапазон выгрузки. По умолчанию берется максимальный интервал - от самой ранней дате в именах архивов до текущей даты.
    8. Нажимаем на кнопку "Загрузить из базы". Если это возможно - в папке есть данные, данные загружаются.
    9. В списке загруженных транзакций выбираем все OrderPaymentEvent ( и , если есть CloseSessionEvent и PayInOutEvent) интересующих дат.
      Может такое быть, что в строке присутсвует дата, которая не относится к выбранному периоду. Такую строку нужно пропустить!!!
    10. Нажимаем на кнопку "Выгрузить данные"
    11. В папке UpdateQueue фронта создастся очередь заказов. (5-8 больших файлов - может быть и больше, если диапазон выгрузки большой)
    12. Забираем очередь заказов и подкладываем их на кассу для прогрузки в базу. После запуска фронта очередь должна уйти на сервер.
    13. Проверяем на сервере , что появились недостающие данные.
    14. Если кассовые смены не закроются - закрыть руками в базе, свериться с Z-кой
    15. Документы за проблемный день ( АР, АС) лучше пересоздать из кассовой смены.

  3. #3
    Новичок
    Регистрация
    24.06.2016
    Адрес
    Сочи
    Сообщений
    19
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Добрый вечер ! Подскажите пожалуйста, та же ситуация, только файлы проблемные из UpdateQueue не удалены! Как их выгрузить в бек офис ?

  4. #4
    Сведущий Аватар для Spaceman
    Регистрация
    20.08.2010
    Адрес
    Екатеринбург
    Сообщений
    67
    Поблагодарил(а)
    0
    Благодарностей: 1 (сообщений: 1)
    Если в логе update-tasks-queue.log наблюдается запись:
    [2011-11-28 14:59:29,437] ERROR [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Exception raised on updates processing: Resto.Framework.Common.RestoException: Session not found by sessionId 26b7ce66-a5db-4b49-96c4-a33c43cab726
    то
    1. Найти в логе какие файлы первыми отправляются на сервер
    Например
    [2011-11-28 14:59:29,296] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Try send update to RMS..
    [2011-11-28 14:59:29,296] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Merge update 0adf401a-54e1-4736-a94c-c5ab3100c764
    [2011-11-28 14:59:29,312] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Merge update 1fb23aa7-49ae-45ee-8a69-81efea52f11d
    [2011-11-28 14:59:29,312] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Merge update fc22a401-7df9-4909-ab0e-bc8ef4b14629
    [2011-11-28 14:59:29,312] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Merge update dad71386-e49a-41f3-b5b2-15c7a147d593
    [2011-11-28 14:59:29,312] DEBUG [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Merge update 0b678c37-a5ee-4895-8826-9d186a0a8313
    [2011-11-28 14:59:29,328] INFO [UpdateTasksQueue] [ServerSession:CreateRequest] - Server method called: importFrontData
    [2011-11-28 14:59:29,437] ERROR [UpdateTasksQueue] [UpdateTasksQueue:SendUpdatesToServer] - Exception raised on updates processing: Resto.Framework.Common.RestoException: Session not found by sessionId 26b7ce66-a5db-4b49-96c4-a33c43cab726
    2. Копируем из папки Update Queue 5 файлов вида ServerUpdate_GUID из лога.xml.
    3. Открываем первый в очереди файл редактором ( удобно использовать Notepad++ http://notepad-plus-plus.org/ ) и просматриваем его в поиске события CloseSessionEvent с таким ID внутри( Запись обновляющая таблицу кассовых смен, или создающая новую при отсутствии имеющейся). При просмотре удобно включать режим XML only - Pretty print with line breaks (Ctrl+Alt+Shift+B) . Для того, чтобы комфортно работать с XML еще нужно скачать плагин XML Tools (http://sourceforge.net/projects/npp-...2.zip/download)
    Плагин нужно импортировать в Notepad++ через Settings -> Import -> Import plugins
    В последних версиях Notepad++ не нужно скачивать плагин отдельно от программы, Он закачивается через Плагины-Plugin Manager
    Как правило событие есть в первом из 5 файлов. Если в первом файле записи нет, смотрим в следующем по очереди итд. В одном из 5-ти наверняка будет
    4. Находим событие

    <i>
    <id>ab59f344-a4e5-4722-8e43-ff715d83a5c5</id>
    <type>CloseSessionEvent</type>
    <xml>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;r eid="ab59f344-a4e5-4722-8e43-ff715d83a5c5"&gt;&lt;sessionNumber&gt;218&lt;/sessionNumber&gt;&lt;cashRegNumber&gt;1&lt;/cashRegNumber&gt;&lt;openDate&gt;2011-10-13T09:41:17.000+06:00&lt;/openDate&gt;&lt;manager&gt;27a2b025-14f2-4ccf-b47a-59c7a0bd9479&lt;/manager&gt;&lt;sessionStartCash&gt;0.0000&lt;/sessionStartCash&gt;&lt;payOrders&gt;7385.0000&lt;/payOrders&gt;&lt;sumWriteoffOrders&gt;0.0000&lt;/sumWriteoffOrders&gt;&lt;salesCash&gt;5746.0000&lt ;/salesCash&gt;&lt;salesCredit&gt;1639.0000&lt;/salesCredit&gt;&lt;salesCard&gt;0.0000&lt;/salesCard&gt;&lt;payIn&gt;0.0000&lt;/payIn&gt;&lt;payOut&gt;0.0000&lt;/payOut&gt;&lt;payIncome&gt;0.0000&lt;/payIncome&gt;&lt;cashDiff&gt;0.0000&lt;/cashDiff&gt;&lt;sessionStatus&gt;UNACCEPTED&lt;/sessionStatus&gt;&lt;pointOfSale&gt;0be4e997-1ad7-4281-9867-27ea98f453f8&lt;/pointOfSale&gt;&lt;eventType&gt;SESSION_CLOSE&lt;/eventType&gt;&lt;user&gt;27a2b025-14f2-4ccf-b47a-59c7a0bd9479&lt;/user&gt;&lt;terminal&gt;0a06ecd3-4be7-3395-012e-8964c6a50df1&lt;/terminal&gt;&lt;session&gt;&lt;group&gt;b429358a-6ef4-cfd6-0128-8ac26aae001b&lt;/group&gt;&lt;id&gt;26b7ce66-a5db-4b49-96c4-a33c43cab726&lt;/id&gt;&lt;number&gt;218&lt;/number&gt;&lt;/session&gt;&lt;date&gt;2011-10-13T09:41:17.093+06:00&lt;/date&gt;&lt;revision&gt;0&lt;/revision&gt;&lt;id&gt;ab59f344-a4e5-4722-8e43-ff715d83a5c5&lt;/id&gt;&lt;/r&gt;</xml>
    <deleted>false</deleted>
    </i>
    5. Копируем его полностью ( от <i> до </i>) и вставляем в начало самого первого файла очереди сразу после тега <items> ( в нашем случае 0adf401a-54e1-4736-a94c-c5ab3100c764 )
    6. Сохраняем исправленный файл.
    7. Останавливаем кассу и заменяем файл в очереди на исправленный
    8. Запускаем кассу, очередь прогружается на сервер.

  5. #5
    Новичок
    Регистрация
    24.06.2016
    Адрес
    Владивосток
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Огромное спасибо, получилось!

  6. #6
    Новичок
    Регистрация
    31.07.2016
    Адрес
    Вьетнам
    Сообщений
    9
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    День добрый. Подскажите пожалуйста. Около недели назад перестали уходить данные на сервер с одного из терминалов. Связь с сервером есть, в статусе фронта показывает что связь есть,все работает. Данных о продажах на сервере не видно. Через несколько дней такая -же проблема случилась еще на одном терминале. Первый терминал отдает данные через локалку, второй через интернет. На сервере терминалы видно, тестовые печати проходят.
    Поддержка говорит что работает над этим, но у нас уже конец месяца, нужно считать бонусы от продаж работникам... Еще 6 терминалов данные отдают без проблем, все работает на одном сервере.
    Хотел попробовать сделать повторную выгрузку , как Вы советовали выше, но не знаю где взять плагин Eventsreloader. Версия Айки 4.3.3 . Подскажите пожалуйста как можно исправить данную проблему, либо прийдется по Z отчету вбивать смены заново

  7. #7
    Сведущий Аватар для Spaceman
    Регистрация
    20.08.2010
    Адрес
    Екатеринбург
    Сообщений
    67
    Поблагодарил(а)
    0
    Благодарностей: 1 (сообщений: 1)
    Цитата Сообщение от ipf Посмотреть сообщение
    День добрый. Подскажите пожалуйста. Около недели назад перестали уходить данные на сервер с одного из терминалов. Связь с сервером есть, в статусе фронта показывает что связь есть,все работает. Данных о продажах на сервере не видно. Через несколько дней такая -же проблема случилась еще на одном терминале. Первый терминал отдает данные через локалку, второй через интернет. На сервере терминалы видно, тестовые печати проходят.
    Поддержка говорит что работает над этим, но у нас уже конец месяца, нужно считать бонусы от продаж работникам... Еще 6 терминалов данные отдают без проблем, все работает на одном сервере.
    Хотел попробовать сделать повторную выгрузку , как Вы советовали выше, но не знаю где взять плагин Eventsreloader. Версия Айки 4.3.3 . Подскажите пожалуйста как можно исправить данную проблему, либо прийдется по Z отчету вбивать смены заново
    Папка на фронтах updatequeue пуста? Также выложите лог update-tasks-queue.log ​чтобы понять что за проблема

  8. #8
    Новичок
    Регистрация
    31.07.2016
    Адрес
    Вьетнам
    Сообщений
    9
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Папка updatequeue полная, все файлы на месте.
    Вот ссылка на лог файл.
    http://dropmefiles.com/RBgZm

  9. #9
    Сведущий Аватар для Spaceman
    Регистрация
    20.08.2010
    Адрес
    Екатеринбург
    Сообщений
    67
    Поблагодарил(а)
    0
    Благодарностей: 1 (сообщений: 1)
    Цитата Сообщение от ipf Посмотреть сообщение
    Папка updatequeue полная, все файлы на месте.
    Вот ссылка на лог файл.
    http://dropmefiles.com/RBgZm
    Ошибка возникает из-за сбоя ФР'а - в один из вызовов он вернул неправильную сумму наличных в кассе.
    Поиском во всех файлах ищем в UpdateQueue XML-ки, содержащие указанную сумму после "actual:" 28275845850.000000000
    Бэкапим эти файлы. Вместо суммы 28275845850.000000000 пишем 0. Сохраняем файлИсправленный файл подкладываем в UpdateQueue на кассе, заменяя оригинальный. Очередь должна начать подгружаться на сервер.

  10. #10
    Новичок
    Регистрация
    31.07.2016
    Адрес
    Вьетнам
    Сообщений
    9
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Сделал как Вы сказали. У меня в UpdateQueue в XML нет ни одного упоминания actual:
    Пробовал поиск по сумме, нашел 5 файлов. Везде заменил на ноль и засунул обратно в кассу. Данные не приехали.
    Во фронте в смене у меня висит сумма 28304150.00

Похожие темы

  1. Обмен SH 3.34 и Бухгалтерия 3.0 (8.3)
    от Ambit в разделе OLE и обмен данными с 1С
    Ответов: 2
    Последнее сообщение: 07.09.2015, 20:04
  2. Обмен данными 1с и SH4
    от Юлия88 в разделе OLE и обмен данными с 1С
    Ответов: 4
    Последнее сообщение: 04.02.2013, 15:52
  3. Обмен данными
    от Сергей Коваль в разделе RK: ФР, активные ККМ, проблемы, вопросы
    Ответов: 0
    Последнее сообщение: 25.04.2011, 17:41
  4. Ответов: 17
    Последнее сообщение: 25.01.2011, 14:44

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •