Где в коде найти место заполнения отчета
Всем привет в 1С Розница редакция 3,0 имеется отчет Деньги в кассах ККМ. Не могу найти где формируются данные
Сначала думал запросом, нашел эти места через поиск по ключевому слову Новый Запрос, поставил точку останов, кликнул сформировать отчет и ни где не сработала точка останова
Затем пошел через обработчик события нажатия кнопки сформировать, но там то же ни где не могу найти место где формируется отчет
Подскажите куда копать
Сначала думал запросом, нашел эти места через поиск по ключевому слову Новый Запрос, поставил точку останов, кликнул сформировать отчет и ни где не сработала точка останова
Затем пошел через обработчик события нажатия кнопки сформировать, но там то же ни где не могу найти место где формируется отчет
Асинх Процедура Сформировать()
Если ЗначениеЗаполнено(ПутьКФайлуВнешнегоОтчетаНаКлиенте) И Не ЗначениеЗаполнено(АдресДвоичныхДанныхВнешнегоОтчета) Тогда
Результат = Ждать ПоместитьФайлНаСерверАсинх(,,, ПутьКФайлуВнешнегоОтчетаНаКлиенте, УникальныйИдентификатор); // ОписаниеПомещенногоФайла
Если ТипЗнч(Результат) = Тип("ОписаниеПомещенногоФайла") И Не Результат.ПомещениеФайлаОтменено Тогда
АдресДвоичныхДанныхВнешнегоОтчета = Результат.Адрес;
КонецЕсли;
КонецЕсли;
СформироватьОтчет();
КонецПроцедуры
&НаКлиенте
Процедура СформироватьОтчет()
НачатьЗамер();
ПараметрыФормирования = Новый Структура("ВремяНачалаФормирования", ТекущаяУниверсальнаяДатаВМиллисекундах());
Результат = РезультатФормированияОтчета(ФормированиеПриОткрытии,
НастройкиОтчета.Внешний Или НастройкиОтчета.Безопасный, Ложь);
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Контекст = Новый Структура;
Контекст.Вставить("Результат", Результат);
Контекст.Вставить("ПараметрыФормирования", ПараметрыФормирования);
Контекст.Вставить("НастройкаОтказаОтПредупреждения", Неопределено);
Если Результат.Свойство("ИмяПараметраХраненияОтказаОтПредупреждения") Тогда
Предупредить = Истина;
ПредлагатьБольшеНеПредупреждать = Истина;
Если ЗначениеЗаполнено(Результат.ИмяПараметраХраненияОтказаОтПредупреждения) Тогда
ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных(Результат.ИмяПараметраХраненияОтказаОтПредупреждения);
Для Каждого Настройка Из Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
Если Настройка.Параметр = ПараметрКомпоновки Тогда
Контекст.НастройкаОтказаОтПредупреждения = Настройка;
Прервать;
КонецЕсли;
КонецЦикла;
Если Контекст.НастройкаОтказаОтПредупреждения = Неопределено Тогда
ПредлагатьБольшеНеПредупреждать = Ложь;
ИначеЕсли Контекст.НастройкаОтказаОтПредупреждения.Значение = Истина Тогда
Предупредить = Ложь;
КонецЕсли;
Иначе
ПредлагатьБольшеНеПредупреждать = Ложь;
КонецЕсли;
Если Предупредить Тогда
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("Продолжить", НСтр("ru = 'Продолжить'"));
Кнопки.Добавить("Отмена", НСтр("ru = 'Отмена'"));
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ПараметрыВопроса.КнопкаПоУмолчанию = "Отмена";
ПараметрыВопроса.Заголовок = Заголовок;
ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = ПредлагатьБольшеНеПредупреждать;
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(
Новый ОписаниеОповещения("СформироватьПослеПредупреждения", ЭтотОбъект, Контекст),
Результат.ТекстПредупреждения, Кнопки, ПараметрыВопроса);
Возврат;
КонецЕсли;
КонецЕсли;
СформироватьПослеПредупреждения(Null, Контекст);
КонецПроцедуры
ПоказатьПодскажите куда копать
Прикрепленные файлы:

По теме из базы знаний
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
- Расширение типового механизма настройки заполнения бухгалтерской отчетности (на примере конфигурации 1С:ERP. Управление холдингом 3.1.8.15)
- Отчеты с общей формой отчета. Типовые сценарии
- Принципы SOLID для 1С: Путь к чистому коду. Часть 1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Вот процедура с включенным табло. Здесь формируется структура и зачем то время отработки кода засекается
&НаКлиенте
Процедура СформироватьПослеПредупреждения(Ответ, Контекст) Экспорт
ПараметрыФормирования = Контекст.ПараметрыФормирования;
Если Ответ = Null Тогда
Результат = Контекст.Результат;
ИначеЕсли ТипЗнч(Ответ) = Тип("Структура") Тогда
Если Ответ.БольшеНеЗадаватьЭтотВопрос И Контекст.НастройкаОтказаОтПредупреждения <> Неопределено Тогда
Контекст.НастройкаОтказаОтПредупреждения.Значение = Истина;
КонецЕсли;
Если Ответ.Значение = "Продолжить" Тогда
НачатьЗамер();
ПараметрыФормирования.ВремяНачалаФормирования = ТекущаяУниверсальнаяДатаВМиллисекундах();
Результат = РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);
Иначе
Возврат;
КонецЕсли;
Иначе
Возврат;
КонецЕсли;
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыФормирования.Вставить("ЗагрузитьРезультат", Ложь);
ПараметрыФормирования.Вставить("ИдентификаторЗадания", Результат.ИдентификаторЗадания);
Если Результат.Статус <> "Выполняется" Тогда
ПослеФормирования(Результат, ПараметрыФормирования);
Возврат;
КонецЕсли;
ПараметрыФормирования.ЗагрузитьРезультат = Истина;
Обработчик = Новый ОписаниеОповещения("ПослеФормирования", ЭтотОбъект, ПараметрыФормирования);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(Результат, Обработчик, ПараметрыОжидания);
КонецПроцедуры
ПоказатьПрикрепленные файлы:

(7)
Там есть адрес хранения результата - там должен появиться сформированный отчет.
Потом вот эта процедура "ПослеФормирования(Результат, ПараметрыФормирования);" должна получить отчет из временного хранилища и показать пользователю.
непонятные данные формируются
Там есть адрес хранения результата - там должен появиться сформированный отчет.
Потом вот эта процедура "ПослеФормирования(Результат, ПараметрыФормирования);" должна получить отчет из временного хранилища и показать пользователю.
(12)
У вас с пониманием туго? Результат этой функции вы уже показывали.
Я Вас попросил показать листинг функции "РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);"
Там адрес временного хранилища
У вас с пониманием туго? Результат этой функции вы уже показывали.
Я Вас попросил показать листинг функции "РезультатФормированияОтчета(ФормированиеПриОткрытии, НастройкиОтчета.Внешний
Или НастройкиОтчета.Безопасный, Истина);"
(7)
РезультатФормированияОтчета
иди отладкой в данный метод и ищи, где запускается фоновое задание по формированию отчета. Далее, при включенной отладке фоновых, нужно будет смотреть, как формируется отчет. В структуре "Результат" уже указан адрес временного хранилища, в которое фоновым заданием помещен собранный отчет.
(3) на одном форуме в таких случаях говорят - ну пригласите уже специалиста. Всяко дешевле выйдет.
А если по сути - в отладчике перед выполнением нажатия кнопки нужно включить замер производительности, после выполнения выключить и внимательно смотреть что там написано будет. Удачи.
А если по сути - в отладчике перед выполнением нажатия кнопки нужно включить замер производительности, после выполнения выключить и внимательно смотреть что там написано будет. Удачи.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот