Вообще все по порядку.
Почему возникла ошибка? Про бумагу - вариант, но не единственный. Может быть так:
1. укм послал команду в фр на закрытие смены
2. фр закрыл у себя, но что-то пошло не так(например, бумага кончилась) вернул ошибку и в укм'е смена не закрылась ИЛИ, наоборот, в фр ошибка и смена не закрыта, а укм'у об этом не сообщил и в укм'е смена закрылась.
3. есть расхождение в закрытиях смен в фр и укм.
Что делать?
если в укм закрыто, в фр - нет. подключаем фр куда-то еще с драйвером и закрываем руками.
если наоборот:
1.на кассе дописываем строку в trm_out_shift_close, соответствующую последней строке в trm_out_shift_open: "insert into trm_out_shift_close..."(уж погуглите mysql insert)
id из trm_out_shift_open
version на единицу больше последней записи в trm_out_shift_close
date - нужный
остальные поля должны быть понятны(соответствуют последней записи в trm_out_shift_close), значения полей некоторые в кавычках в соответствии с типом(можно все в кавычках - не ошибетесь)
На кассе смена закрылась
2. на сервере "update cnv_table_client_versions set latest_version=<немного поменьше выше вставленного> where table_name='trm_out_shift_close' and mysterious_id=<cash_id нашей кассы>"
Серверу сказали затянуть эти данные
3. рестарт службы укм сервера или кассы
Данные поднялись на сервер