Слетает фиксация сверху при компоновке результата в табличном документе
Уважаемые, добрый вечер.
В модуле объекта отчета в стандартной процедуре ПриКомпоновкеРезультата . Слетает фиксация сверху у табличного документ, вот код
Как этого можно избежать? Фиксация сверху нужна. В дальнейшем в модуле ОтчетыКлиентПереопределяемый в процедуре ПослеФормирования фиксация участвует в алгоритмах .
В модуле объекта отчета в стандартной процедуре ПриКомпоновкеРезультата . Слетает фиксация сверху у табличного документ, вот код
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// В этом месте пока, что всё хорошо. Фиксация сверху стоит как надо. ДокументРезультат.ФиксацияСверху = 8
ОбластьОрганизация = ДокументРезультат.НайтиТекст("Организация");
СтрокаОрганизации = Прав(Лев(ОбластьОрганизация.Имя, 2), 1) - 1;
Для НомерКолонки = 1 По ДокументРезультат.ШиринаТаблицы Цикл
ОбластьСКартинками = ДокументРезультат.Область("R" + СтрокаОрганизации + "C" + НомерКолонки);
ОбластьСКартинками.Текст = " ";
ОбластьСКартинками.Картинка = Новый Картинка;
КонецЦикла;
ОбластьСКартинками.Текст = "Тыс.";
ОбластьСКартинками.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// А вот здесь уже после второго вывода уже слетела. ДокументРезультат.ФиксацияСверху = 0 :(
КонецПроцедуры
ПоказатьКак этого можно избежать? Фиксация сверху нужна. В дальнейшем в модуле ОтчетыКлиентПереопределяемый в процедуре ПослеФормирования фиксация участвует в алгоритмах .
По теме из базы знаний
Найденные решения
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// Сохраняем значение ФиксацияСверху
ФиксацияСверху = ДокументРезультат.ФиксацияСверху;
ОбластьОрганизация = ДокументРезультат.НайтиТекст("Организация");
СтрокаОрганизации = Прав(Лев(ОбластьОрганизация.Имя, 2), 1) - 1;
Для НомерКолонки = 1 По ДокументРезультат.ШиринаТаблицы Цикл
ОбластьСКартинками = ДокументРезультат.Область("R" + СтрокаОрганизации + "C" + НомерКолонки);
ОбластьСКартинками.Текст = " ";
ОбластьСКартинками.Картинка = Новый Картинка;
КонецЦикла;
ОбластьСКартинками.Текст = "Тыс.";
ОбластьСКартинками.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// Восстанавливаем значение ФиксацияСверху
ДокументРезультат.ФиксацияСверху = ФиксацияСверху;
КонецПроцедуры ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// Сохраняем значение ФиксацияСверху
ФиксацияСверху = ДокументРезультат.ФиксацияСверху;
ОбластьОрганизация = ДокументРезультат.НайтиТекст("Организация");
СтрокаОрганизации = Прав(Лев(ОбластьОрганизация.Имя, 2), 1) - 1;
Для НомерКолонки = 1 По ДокументРезультат.ШиринаТаблицы Цикл
ОбластьСКартинками = ДокументРезультат.Область("R" + СтрокаОрганизации + "C" + НомерКолонки);
ОбластьСКартинками.Текст = " ";
ОбластьСКартинками.Картинка = Новый Картинка;
КонецЦикла;
ОбластьСКартинками.Текст = "Тыс.";
ОбластьСКартинками.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки, Истина);
// Восстанавливаем значение ФиксацияСверху
ДокументРезультат.ФиксацияСверху = ФиксацияСверху;
КонецПроцедуры Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот