закрытие смены в ОРП

1. LOLOLA 05.03.26 12:48 Сейчас в теме
где в унф 3.0 происходит сборка чеков при закрытии смены? нужно записать данные в реквизит тч орп
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. LOLOLA 05.03.26 13:00 Сейчас в теме
не нахожу функции/процедуры, где пакет с чеками формируется. есть процедура сформироватьотчеторозничныхпродажах в ней длительная операция
Процедура СформироватьОтчетОРозничныхПродажах(ИспользоватьБезПодключенияОборудования, УникальныйИдентификатор,
	КассаККМ, ТаблицаТерминалы)
	
	// 1. Заполнение отчета о розничных продажах.
	ДлительнаяОперация = НачатьФормированиеОтчетаОРозничныхПродажах(КассаККМ, УникальныйИдентификатор);

дальше есть функция начатьформированиеотчетаорозничныхпродажах
Функция НачатьФормированиеОтчетаОРозничныхПродажах(КассаККМ, УникальныйИдентификатор) Экспорт
	
	ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(УникальныйИдентификатор);
	
	Возврат ДлительныеОперации.ВыполнитьФункцию(
		ПараметрыВыполнения,
		"Документы.ОтчетОРозничныхПродажах.СформироватьОтчетОРозничныхПродажахИВыполнитьАрхивацию",
		КассаККМ);
	
КонецФункции

Показать


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

Показать
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот