11.03.2024 13:16
stark
 
Вот что меня смущает, в таблице cnv_table_versions.ltest_version для trm_offline_account_local_transaction равно 208791. Как на сервере, так и на кассе.
А в таблице cnv_table_client_versions.ltest_version на кассе 208791, а на сервере две записи: в одной значение 24, в другой - 208704.
Не понятно откуда две записи на одну кассу, но cnv_table_client_versions.client у них разные.
11.03.2024 13:17
stark
 
Может стоит в обоих этих строках поставить версию 208791?
11.03.2024 15:28
stark
 
Или на кассе нужно в cnv_table_client_versions.ltest_version вместо 208791 записать 377 (это максимальная версия в таблице trm_offline_account_local_transaction на кассе)?
11.03.2024 16:32
vdm
 
Сейчас уже плохо помню систему версионности, давно не приходилось туда влезать.
Но для синхронизации вниз делалось все примерно как в скриптах выше - на сервере в самой таблице и в cnv_table_versions версии повышались, на кассе в cnv_table_client_versions обнулялись.
Еще видел вариант - на сервере обнулить trm_xxx.version=0 по нужному cash_id и перезапустить службу. Правда это для односторонней репликации было.
11.03.2024 16:42
stark
 
Вниз это на кассу?
11.03.2024 17:19
stark
 
Цитата:
vdm Сейчас уже плохо помню систему версионности, давно не приходилось туда влезать.
Но для синхронизации вниз делалось все примерно как в скриптах выше - на сервере в самой таблице и в cnv_table_versions версии повышались, на кассе в cnv_table_client_versions обнулялись.
Еще видел вариант - на сервере обнулить trm_xxx.version=0 по нужному cash_id и перезапустить службу. Правда это для односторонней репликации было.
Если честно не понятно зачем менять все записи в таблице trm_offline_account_local_transaction на сервере. Там записей более 200 тыс. и занулить версии страшно.
Тем более мне нужно чтобы записи с кассы писались на сервер.
Почитать бы где то про версионность, не могу нигде найти информацию.
11.03.2024 17:31
stark
 
Пардон за опечатку, не занулить, а поднять версию по всем записям в таблице
11.03.2024 18:35
vdm
 
Цитата:
stark зачем менять все записи в таблице trm_offline_account_local_transaction на сервере
Никто не запрещает отфильтровать изменяемое по cash_id.

Цитата:
stark Тем более мне нужно чтобы записи с кассы писались на сервер
Из ваших предыдущих описаний не видно, что они на сервер не поднимаются.

В общем если опасаетесь радикальных "обнулений", я бы сравнивал с рабочей кассой: вот пробили чек, записи trm_offline_account_local_transaction поднялись на сервер, сервер сделал их deleted, касса получила обновленные записи.
На каждом этапе смотреть где/как меняются версии.
13.03.2024 12:59
stark
 
Вопрос решился. Спасибо огромное vdm.

Записи не поднимались, потому что в cnv_table_client_versions версия на таблицу (на сервере и кассе) была больше чем максимальная версия в таблице на кассе.
Она же хранится в cnv_table_versions.latest_version.
Занулил cnv_table_client_versions.latest_version (на сервере и кассе) и процесс пошёл нормально.
Часовой пояс GMT +3, время: 09:18.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.