0
Web00001
11.10.16
✎
07:29
|
Доброго времени суток! Ситуация следующая. Есть база с автообменами РИБ по таймеру и УТ10.3. Иногда (редко, но все же) возникает ситуация, когда обмен запустился именно в тот момент, в который чек пытается установить себе номер и статус пробитого. То есть Чек провелся, на фискальнике пробился. Но в тот момент когда он пытается записать результат пробития, прилетает ошибка блокировки(работает обмен). Если это происходит в момент записи или проведения чека. Кассир на запись еще один раз и все ОК. В данном случае происходит сообщение об ошибке и чек помечается как проведенный, но не пробитый. Я воткнул код в исключение обрабатывающее это событие, который делает еще несколько попыток записи, перед тем как выбросить исключение. Теперь надо бы проверить, но вот вопрос, как наложить блокировку записи например на план обмена полный, что бы протестировать код?
Пробовал
ДокументОБъект = ЧекККМ.ПолучитьОбъект();
ДокументОБъект.ЧекПробитНаККМ = Не ДокументОБъект.ЧекПробитНаККМ;
ДокументОБъект.НомерЧекаККМ = ДокументОБъект.НомерЧекаККМ + 1;
ДокументОБъект.Записать(РежимЗаписиДокумента.Запись);
Сообщить("Проводим с блокировкой");
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("ПланОбмена.Полный");
Блокировка.Заблокировать();
ДокументОБъект.ЧекПробитНаККМ = Не ДокументОБъект.ЧекПробитНаККМ;
ДокументОБъект.НомерЧекаККМ = ДокументОБъект.НомерЧекаККМ + 1;
ДокументОБъект.Записать(РежимЗаписиДокумента.Запись);
Но документ записывается. Есть еще какие то варианты?
|
|