Вход | Регистрация
 

Фиксация слева не работает.

Фиксация слева не работает.
Я
   Zombi
 
15.01.21 - 13:11
Отчет на СКД. В модуле отчета ПриКомпоновкеРезультата пишу:

ДокументРезультат.ФиксацияСлева = 6;

Отчет формирую, фиксации нет. Что еще посмотреть?
   Ботаник Гарден Меран
 
1 - 15.01.21 - 13:17
Коллективный разум партнерки говорит, что это работает вместе с ФиксацияСверху из-за вывода параметров (а там количество колонок другое).
   Zombi
 
2 - 15.01.21 - 13:19
(1) Параметры как то не выводить можно?
   GANR
 
3 - 15.01.21 - 13:20
(0) Ну а если без СКД в какой-нибудь печатке указать, то работает? Если не работает - неправильно фиксируешь, если работает - значит в отчете срабатывает "платформенная" компоновка, выполняющая ненужные действия и её надо отключить. Кажется СтандартнаяОбработка = Ложь ну и результат конечно же кодом формировать.
   GANR
 
4 - 15.01.21 - 13:21
(2) В настройках компоновки данных свойство есть вроде.
   Zombi
 
5 - 15.01.21 - 13:34
Заголовок убрал так:

ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
    ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
    ЗначениеПараметра.Использование = Истина;
        
    ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
    ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
    ЗначениеПараметра.Использование = Истина;


Только фиксация слева так и не появилась.
   GANR
 
6 - 15.01.21 - 15:12
(5) модуль ПриКомпоновкеРезультата в студию
   Гений 1С
 
7 - 15.01.21 - 15:30
(0) поставь ее по таймеру через ОбработчикОжидания, йопта (тот еще костыль).
У тебя макет СКД сам фиксацию выставляет.
Или откажись от фонового формирования.
   Zombi
 
8 - 15.01.21 - 19:54
(6) Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;// отключаем стандартный вывод отчета - будем выводить программно         

    //Настройки = КомпоновщикНастроек.Настройки;// Получаем настройки отчета

    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
    ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
    ЗначениеПараметра.Использование = Истина;
        
    ЗначениеПараметра = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
    ЗначениеПараметра.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
    ЗначениеПараметра.Использование = Истина;
    
    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

    //у = 3/0;

    
    // Устанавливаем настройки отбора в соответствии с пользовательскими настройками

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

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;// Создаем компоновщик макета        

    // Инициализируем макет компоновки используя схему компоновки данных 

    // и созданные ранее настройки и данные расшифровки

    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    // Скомпонуем результат

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
    
    ДокументРезультат.Очистить();
    
    // Выводим результат в табличный документ

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);    
    //....

    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    
    //ПараметрВидЦены = Новый ПараметрКомпоновкиДанных("ВидЦены1");

    //ЗначениеПараметраВидЦены = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрВидЦены);

    //Если ЗначениеПараметраВидЦены <> Неопределено Тогда

    //    ЗначениеПараметраВидЦены.Значение = ВидЦены1;

    //    ЗначениеПараметраВидЦены.Использование = Истина;

    //КонецЕсли;


    // Заполняем рисунки для полей, в данных расшифровки которых находятся элементы справочника 

    // "НоменклатураПрисоединенныеФайлы"

    КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы;// Количество колонок в отчете

    КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы;     // Количество строк в отчете

    // Обходим все ячейки отчета

    Для Кл = 1 По КоличествоКолонокТаблицы Цикл 
    //Кл=1;

        Для Ст = 1 По КоличествоСтрокТаблицы Цикл              
            ТекОбласть = ДокументРезультат.Область(Ст, Кл);  
            // Если имеется расшифровка ячейки, то проверям наличие полей расшифровки

            Если ТекОбласть.Расшифровка <> Неопределено Тогда
                ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекОбласть.Расшифровка].ПолучитьПоля();
                Если ПоляРасшифровки.Количество() > 0 Тогда
                    // Если тип значения поля расшифровки соответствует справочнику прикрепленных файлов, то

                    // выводим связанную картинку

                    Если ТипЗнч(ПоляРасшифровки.Получить(0).Значение) = ТипЗнч(Справочники.НоменклатураПрисоединенныеФайлы.ПустаяСсылка()) тогда
                        
                    Попытка
                            
                        Рисунок = ПолучитьИзображение(ПоляРасшифровки.Получить(0).Значение);
                        
                    Исключение
                        
                        Рисунок = Неопределено;
                        
                    КонецПопытки;
                    
                    Если Рисунок <> Неопределено Тогда
                        
                        Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                        Рис.РазмерКартинки = РазмерКартинки.Пропорционально;
                        Рис.Картинка = Рисунок;                             
                        ТекОбласть.ВысотаСтроки = 80;
                        ТекОбласть.ШиринаКолонки = 20;
                        Рис.Расположить(ТекОбласть);    
                        //Рис.Расположить(ТекОбласть);    

                    КонецЕсли;    
                КонецЕсли;
                КонецЕсли;
            КонецЕсли;              
        КонецЦикла;          
    КонецЦикла;
    
    ДокументРезультат.ФиксацияСлева = 6;
    
КонецПроцедуры
   Гений 1С
 
9 - 15.01.21 - 20:40
(8) ты таймер пробовал?
   Zombi
 
10 - 15.01.21 - 21:10
(9) Нет, куда его? В модуль формы?
   Гений 1С
 
11 - 15.01.21 - 22:06
(10) куда же ещё
Плюс попробуй деструкцию. В конце Скомпоновать затирай пару ячеек.
Но мне кажется, количество зафиксенных в 6астройке скд указывается
   GANR
 
12 - 20.01.21 - 12:39
Точно! А если СкомпоноватьРезультат в форме попробовать (НЕ фоново) ну и получившийся ТабДок перелопатить. Кнопку Сформировать в отчете на свою заменить, чтобы платформенные обработки отрубить. Ну тогда (3) (8) не понадобится и всё упростится нехило должно.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.