Закрытие заказа при пробитии чека. Розница 2.3

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

В рознице чеки привязаны к заказам через поле «Заказ клиента», заказ выбирает продавец при оплате в РМК:

Для упрощения отладки, я проводил уже проведенный чек, для этого сделал точку останова в этом участке кода и делал сброс Отказ в ложь:

До пробития чека и закрытия заказа состояния заказа были «Не оплачен» и «Готов к отгрузке» (потому что стояла галочка резерв в товаре заказа):


После закрытого таким образом заказа состояния заказа стали:

Сам код добавил в процедуру ПриЗаписи:

&После("ПриЗаписи")
Процедура дор_ПриЗаписи(Отказ)
	
	//После записи закрываем заказ
	Если Не Отказ 
		И ЭтотОбъект.СтатусЧекаККМ = Перечисления.СтатусыЧековККМ.Пробитый  
		И ЗначениеЗаполнено(ЭтотОбъект.ЗаказПокупателя) 
		И ЭтотОбъект.ЗаказПокупателя.Статус <> Перечисления.СтатусыЗаказовПокупателей.Закрыт Тогда
		
		ДО = ЭтотОбъект.ЗаказПокупателя.ПолучитьОбъект();		
		ДО.Статус = Перечисления.СтатусыЗаказовПокупателей.Закрыт;
		ДО.Записать(РежимЗаписиДокумента.Проведение);
		
	КонецЕсли;
КонецПроцедуры

Сначала добавлял в процедуру проведения, но чек проводится без признака пробит, а вот записывается уже с этим признаком, поэтому перенес в процедуру при записи чека.

Среда: Розница 2.3.10.61 Объем: 1 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *