Где в коде найти место заполнения отчета

1. user1979322 15.05.25 06:05 Сейчас в теме
Всем привет в 1С Розница редакция 3,0 имеется отчет Деньги в кассах ККМ. Не могу найти где формируются данные
Сначала думал запросом, нашел эти места через поиск по ключевому слову Новый Запрос, поставил точку останов, кликнул сформировать отчет и ни где не сработала точка останова

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

Асинх Процедура Сформировать()

	Если ЗначениеЗаполнено(ПутьКФайлуВнешнегоОтчетаНаКлиенте) И Не ЗначениеЗаполнено(АдресДвоичныхДанныхВнешнегоОтчета) Тогда
		Результат = Ждать ПоместитьФайлНаСерверАсинх(,,, ПутьКФайлуВнешнегоОтчетаНаКлиенте, УникальныйИдентификатор); // ОписаниеПомещенногоФайла
		Если ТипЗнч(Результат) = Тип("ОписаниеПомещенногоФайла") И Не Результат.ПомещениеФайлаОтменено Тогда
			АдресДвоичныхДанныхВнешнегоОтчета = Результат.Адрес;
		КонецЕсли;
	КонецЕсли;

	СформироватьОтчет();

КонецПроцедуры

&НаКлиенте
Процедура СформироватьОтчет()

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

	Контекст = Новый Структура;
	Контекст.Вставить("Результат", Результат);
	Контекст.Вставить("ПараметрыФормирования", ПараметрыФормирования);
	Контекст.Вставить("НастройкаОтказаОтПредупреждения", Неопределено);

	Если Результат.Свойство("ИмяПараметраХраненияОтказаОтПредупреждения") Тогда
		Предупредить = Истина;
		ПредлагатьБольшеНеПредупреждать = Истина;

		Если ЗначениеЗаполнено(Результат.ИмяПараметраХраненияОтказаОтПредупреждения) Тогда
			ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных(Результат.ИмяПараметраХраненияОтказаОтПредупреждения);
			Для Каждого Настройка Из Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
				Если Настройка.Параметр = ПараметрКомпоновки Тогда
					Контекст.НастройкаОтказаОтПредупреждения = Настройка;
					Прервать;
				КонецЕсли;
			КонецЦикла;
			Если Контекст.НастройкаОтказаОтПредупреждения = Неопределено Тогда
				ПредлагатьБольшеНеПредупреждать = Ложь;
			ИначеЕсли Контекст.НастройкаОтказаОтПредупреждения.Значение = Истина Тогда
				Предупредить = Ложь;
			КонецЕсли;
		Иначе
			ПредлагатьБольшеНеПредупреждать = Ложь;
		КонецЕсли;

		Если Предупредить Тогда
			Кнопки = Новый СписокЗначений;
			Кнопки.Добавить("Продолжить", НСтр("ru = 'Продолжить'"));
			Кнопки.Добавить("Отмена", НСтр("ru = 'Отмена'"));
			ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
			ПараметрыВопроса.КнопкаПоУмолчанию = "Отмена";
			ПараметрыВопроса.Заголовок = Заголовок;
			ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = ПредлагатьБольшеНеПредупреждать;
			СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(
				Новый ОписаниеОповещения("СформироватьПослеПредупреждения", ЭтотОбъект, Контекст),
				Результат.ТекстПредупреждения, Кнопки, ПараметрыВопроса);
			Возврат;
		КонецЕсли;
	КонецЕсли;

	СформироватьПослеПредупреждения(Null, Контекст);

КонецПроцедуры
Показать


Подскажите куда копать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Denis_CFO 49 15.05.25 06:48 Сейчас в теме
(1)
СформироватьПослеПредупреждения(Null, Контекст);


Здесь что происходит?
5. user1979322 15.05.25 06:57 Сейчас в теме
(4) Вот процедура с включенным табло. Здесь формируется структура и зачем то время отработки кода засекается
&НаКлиенте
Процедура СформироватьПослеПредупреждения(Ответ, Контекст) Экспорт

	ПараметрыФормирования = Контекст.ПараметрыФормирования;

	Если Ответ = Null Тогда
		Результат = Контекст.Результат;

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

	Если Результат = Неопределено Тогда
		Возврат;
	КонецЕсли;

	ПараметрыФормирования.Вставить("ЗагрузитьРезультат", Ложь);
	ПараметрыФормирования.Вставить("ИдентификаторЗадания", Результат.ИдентификаторЗадания);

	Если Результат.Статус <> "Выполняется" Тогда
		ПослеФормирования(Результат, ПараметрыФормирования);
		Возврат;
	КонецЕсли;

	ПараметрыФормирования.ЗагрузитьРезультат = Истина;

	Обработчик = Новый ОписаниеОповещения("ПослеФормирования", ЭтотОбъект, ПараметрыФормирования);
	ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
	ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;

	ДлительныеОперацииКлиент.ОжидатьЗавершение(Результат, Обработчик, ПараметрыОжидания);
КонецПроцедуры
Показать
Прикрепленные файлы:
6. Denis_CFO 49 15.05.25 07:02 Сейчас в теме
(5)
Результат = РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);



Вот тут следующий шаг.
7. user1979322 15.05.25 07:12 Сейчас в теме
(6)
РезультатФормированияОтчета(ФормированиеПриОткрытии


Здесь то же непонятные данные формируются
Прикрепленные файлы:
8. Denis_CFO 49 15.05.25 07:18 Сейчас в теме
(7)
непонятные данные формируются


Там есть адрес хранения результата - там должен появиться сформированный отчет.

Потом вот эта процедура "ПослеФормирования(Результат, ПараметрыФормирования);" должна получить отчет из временного хранилища и показать пользователю.
9. user1979322 15.05.25 07:38 Сейчас в теме
(8) Вот это засада, потому что мне нужно изменить этот отчет, добавить столбцы. Я думал это в СКД делается и нужно просто запрос подправить. А в этом случае как изменить отчет, видь я не знаю как формируются данные в адресе хранения
10. Denis_CFO 49 15.05.25 07:41 Сейчас в теме
(9) Тяжко Вам.

Что внутри вот этой функции - " Результат = РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);"?
12. user1979322 15.05.25 07:45 Сейчас в теме
(10) Там адрес временного хранилища
Прикрепленные файлы:
13. Denis_CFO 49 15.05.25 07:48 Сейчас в теме
(12)
Там адрес временного хранилища


У вас с пониманием туго? Результат этой функции вы уже показывали.

Я Вас попросил показать листинг функции "РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);"
16. anton13m 4 16.05.25 10:06 Сейчас в теме
(9)
Я думал это в СКД делается и нужно просто запрос подправить.

Так и есть, не понятно что вы еще найти хотите: Отчеты.ДенежныеСредстваВКассахККМ
11. koln 15.05.25 07:44 Сейчас в теме
(7)
РезультатФормированияОтчета
иди отладкой в данный метод и ищи, где запускается фоновое задание по формированию отчета. Далее, при включенной отладке фоновых, нужно будет смотреть, как формируется отчет. В структуре "Результат" уже указан адрес временного хранилища, в которое фоновым заданием помещен собранный отчет.
15. Vadim-SH 16.05.25 08:03 Сейчас в теме
(1) см. ОсновнаяСхемаКомпоновкиДанных, потом процедуру ПриКомпоновкеРезультата
2. user2107191 15.05.25 06:25 Сейчас в теме
Включи отладку фоновых заданий.
user2136019; +1 Ответить
3. user1979322 15.05.25 06:32 Сейчас в теме
(2) Включил фоновые задания не помогло
14. Kanigin 15.05.25 08:24 Сейчас в теме
(3) на одном форуме в таких случаях говорят - ну пригласите уже специалиста. Всяко дешевле выйдет.
А если по сути - в отладчике перед выполнением нажатия кнопки нужно включить замер производительности, после выполнения выключить и внимательно смотреть что там написано будет. Удачи.
user2136019; ZOMI; +2 Ответить
Оставьте свое сообщение

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