|
Как удалить расстояние между рисунками табличного документа после изменения их высоты | ☑ | ||
---|---|---|---|---|
0
Dragonofdwarfs
02.10.24
✎
17:53
|
Доброго времени суток, коллеги! Изменяю высоту диаграмм в табличном документе после его программного формирования через скд, но между рисунками появляется зазор, как его удалить? Я предполагаю что как-то скопировать эти рисунки в какой-то буфер, удалить картинки и добавить их снова из буфера. Может кто подскажет? Прикрепляю скрин того, от чего хочу избавиться. Вот код:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОСКД = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикМакетаОСКД = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки()); ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиОСКД.Инициализировать(Макет); ДокументРезультат.Очистить(); ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВыводаОСКД.УстановитьДокумент(ДокументРезультат); ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД); КУменьшения = 1/2; //МассивРисунков = Новый Массив; Для Каждого Рисунок Из ДокументРезультат.Рисунки Цикл //МассивРисунков.Добавить(Рисунок); Если Рисунок.ТипРисунка = ТипРисункаТабличногоДокумента.Диаграмма Тогда Рисунок.Высота = Рисунок.Высота * КУменьшения; КонецЕсли; //ДокументРезультат.Рисунки.Удалить(Рисунок); КонецЦикла; //Для Каждого Элемент Из МассивРисунков Цикл // ДокументРезультат.Рисунки.Добавить(Элемент); //КонецЦикла; КонецПроцедуры
|
|||
1
Dragonofdwarfs
02.10.24
✎
18:31
|
Если кому интересно, сделал так: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; ОСКД = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикМакетаОСКД = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки()); ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиОСКД.Инициализировать(Макет); ДокументРезультат.Очистить(); ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВыводаОСКД.УстановитьДокумент(ДокументРезультат); ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД); КУменьшения = 1/2; РисунокПервый = Истина; КонецПредыдущегоРисунка = 0; Для Каждого Рисунок Из ДокументРезультат.Рисунки Цикл Если Рисунок.ТипРисунка = ТипРисункаТабличногоДокумента.Диаграмма Тогда Рисунок.Высота = Рисунок.Высота * КУменьшения; КонецЕсли; Если РисунокПервый Тогда РисунокПервый = Ложь; КонецПредыдущегоРисунка = Рисунок.Верх + Рисунок.Высота + 10; Продолжить; КонецЕсли; Рисунок.Верх = КонецПредыдущегоРисунка; КонецПредыдущегоРисунка = Рисунок.Верх + Рисунок.Высота + 10; КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |