| 
    
            
         
         | 
    
    
  | 
Фиксация слева не работает. | ☑ | ||
|---|---|---|---|---|
| 
    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) не понадобится и всё упростится нехило должно.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |