|
Фиксация слева не работает. | ☑ | ||
---|---|---|---|---|
0
Zombi
15.01.21
✎
13:11
|
Отчет на СКД. В модуле отчета ПриКомпоновкеРезультата пишу:
ДокументРезультат.ФиксацияСлева = 6; Отчет формирую, фиксации нет. Что еще посмотреть? |
|||
1
Ботаник Гарден Меран
15.01.21
✎
13:17
|
Коллективный разум партнерки говорит, что это работает вместе с ФиксацияСверху из-за вывода параметров (а там количество колонок другое).
|
|||
2
Zombi
15.01.21
✎
13:19
|
(1) Параметры как то не выводить можно?
|
|||
3
GANR
15.01.21
✎
13:20
|
(0) Ну а если без СКД в какой-нибудь печатке указать, то работает? Если не работает - неправильно фиксируешь, если работает - значит в отчете срабатывает "платформенная" компоновка, выполняющая ненужные действия и её надо отключить. Кажется СтандартнаяОбработка = Ложь ну и результат конечно же кодом формировать.
|
|||
4
GANR
15.01.21
✎
13:21
|
(2) В настройках компоновки данных свойство есть вроде.
|
|||
5
Zombi
15.01.21
✎
13:34
|
Заголовок убрал так:
ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных")); ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить; ЗначениеПараметра.Использование = Истина; ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор")); ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить; ЗначениеПараметра.Использование = Истина; Только фиксация слева так и не появилась. |
|||
6
GANR
15.01.21
✎
15:12
|
(5) модуль ПриКомпоновкеРезультата в студию
|
|||
7
Гений 1С
гуру
15.01.21
✎
15:30
|
(0) поставь ее по таймеру через ОбработчикОжидания, йопта (тот еще костыль).
У тебя макет СКД сам фиксацию выставляет. Или откажись от фонового формирования. |
|||
8
Zombi
15.01.21
✎
19:54
|
(6) Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; // отключаем стандартный вывод отчета - будем выводить программно //Настройки = КомпоновщикНастроек.Настройки;// Получаем настройки отчета Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных")); ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить; ЗначениеПараметра.Использование = Истина; ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор")); ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить; ЗначениеПараметра.Использование = Истина; КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); //у = 3/0; // Устанавливаем настройки отбора в соответствии с пользовательскими настройками ТаблицаОтборов = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл НайденнаяПользовательскаяНастройка = ТаблицаОтборов.Найти(ЭлементОтбора.ИдентификаторПользовательскойНастройки); Если НайденнаяПользовательскаяНастройка <> Неопределено Тогда ЭлементОтбора.ВидСравнения = НайденнаяПользовательскаяНастройка.ВидСравнения; ЭлементОтбора.Использование = НайденнаяПользовательскаяНастройка.Использование; ЭлементОтбора.ПравоеЗначение = НайденнаяПользовательскаяНастройка.ПравоеЗначение; КонецЕсли; КонецЦикла; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета // Инициализируем макет компоновки используя схему компоновки данных // и созданные ранее настройки и данные расшифровки СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // Скомпонуем результат ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ДокументРезультат.Очистить(); // Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //.... ПроцессорВывода.Вывести(ПроцессорКомпоновки); //ПараметрВидЦены = Новый ПараметрКомпоновкиДанных("ВидЦены1"); //ЗначениеПараметраВидЦены = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрВидЦены); //Если ЗначениеПараметраВидЦены <> Неопределено Тогда // ЗначениеПараметраВидЦены.Значение = ВидЦены1; // ЗначениеПараметраВидЦены.Использование = Истина; //КонецЕсли; // Заполняем рисунки для полей, в данных расшифровки которых находятся элементы справочника // "НоменклатураПрисоединенныеФайлы" КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы; // Количество колонок в отчете КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы; // Количество строк в отчете // Обходим все ячейки отчета Для Кл = 1 По КоличествоКолонокТаблицы Цикл //Кл=1; Для Ст = 1 По КоличествоСтрокТаблицы Цикл ТекОбласть = ДокументРезультат.Область(Ст, Кл); // Если имеется расшифровка ячейки, то проверям наличие полей расшифровки Если ТекОбласть.Расшифровка <> Неопределено Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекОбласть.Расшифровка].ПолучитьПоля(); Если ПоляРасшифровки.Количество() > 0 Тогда // Если тип значения поля расшифровки соответствует справочнику прикрепленных файлов, то // выводим связанную картинку Если ТипЗнч(ПоляРасшифровки.Получить(0).Значение) = ТипЗнч(Справочники.НоменклатураПрисоединенныеФайлы.ПустаяСсылка()) тогда Попытка Рисунок = ПолучитьИзображение(ПоляРасшифровки.Получить(0).Значение); Исключение Рисунок = Неопределено; КонецПопытки; Если Рисунок <> Неопределено Тогда Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.РазмерКартинки = РазмерКартинки.Пропорционально; Рис.Картинка = Рисунок; ТекОбласть.ВысотаСтроки = 80; ТекОбласть.ШиринаКолонки = 20; Рис.Расположить(ТекОбласть); //Рис.Расположить(ТекОбласть); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; ДокументРезультат.ФиксацияСлева = 6; КонецПроцедуры |
|||
9
Гений 1С
гуру
15.01.21
✎
20:40
|
(8) ты таймер пробовал?
|
|||
10
Zombi
15.01.21
✎
21:10
|
(9) Нет, куда его? В модуль формы?
|
|||
11
Гений 1С
гуру
15.01.21
✎
22:06
|
(10) куда же ещё
Плюс попробуй деструкцию. В конце Скомпоновать затирай пару ячеек. Но мне кажется, количество зафиксенных в 6астройке скд указывается |
|||
12
GANR
20.01.21
✎
12:39
|
Точно! А если СкомпоноватьРезультат в форме попробовать (НЕ фоново) ну и получившийся ТабДок перелопатить. Кнопку Сформировать в отчете на свою заменить, чтобы платформенные обработки отрубить. Ну тогда (3) (8) не понадобится и всё упростится нехило должно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |