Макет шаблона для выбора пользователем его наполнения , как скомпоновать динамические и статические области в макете

1. SvetaS2014 03.01.24 14:08 Сейчас в теме
Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием ", формы обычные (не управляемые)

вопрос

был отчет каталог номенклатуры, который работал, но пользователю не подходил , так как пользователь захотел сам выбирать перечень характеристик для отображения в каталоге, тем самым уменьшая или увеличивая размер секции -строки каталога (т.е. чем меньше характеристик отображается по номенклатуре с права от картинки номенклатуры, тем больше строк каталога (вместе с картинкой) вмещается на лист)

но такой макет не работает.

проблема не виден параметр ИмяДопПоля и ЗначениеДопПоля
ОбластьПараметр1.Параметры.ИмяДопПоля=свойства_мас.наименование;
               ОбластьПараметр1.Параметры.ЗначениеДопПоля=свойства_мас.значение;


Задача сделать "динамический макет, чтобы пользователь сам управлял наполняемостью характеристик и величиной строки секции каталога"
новый - не рабочий код

ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();

Макет = ЭтотОбъект.ПолучитьМакет("МакетКаталогПоЭлементам");

ОбластьШапка1= Макет.ПолучитьОбласть("ШапкаСтока|Шапка1");
ОбластьШапка2= Макет.ПолучитьОбласть("ШапкаСтока|Параметры1");
ОбластьШапка3= Макет.ПолучитьОбласть("ШапкаСтока|Шапка2");
ОбластьШапка4= Макет.ПолучитьОбласть("ШапкаСтока|Параметры2");


ОбластьКартинка11= Макет.ПолучитьОбласть("параметр|Шапка1");
ОбластьКартинка1= Макет.ПолучитьОбласть("СписокКартинка|Шапка1");

ОбластьПараметр1= Макет.ПолучитьОбласть("параметр|Параметры1");
ОбластьКартинка22= Макет.ПолучитьОбласть("параметр|Шапка2");

ОбластьКартинка2= Макет.ПолучитьОбласть("СписокКартинка|Шапка2");
ОбластьПараметр2= Макет.ПолучитьОбласть("параметр|Параметры2");

ОбластьШапка4.Параметры.Дата = ТекущаяДата();

ТабДок.Вывести(ОбластьШапка1);
ТабДок.Присоединить(ОбластьШапка2);
ТабДок.Присоединить(ОбластьШапка3);
ТабДок.Присоединить(ОбластьШапка4);


Для каждого строка из аа Цикл
    
    
    Для каждого свойства_мас из строка[0].свойства Цикл  //1 єлемент левый
        Если      свойства_мас.выбор=Истина  Тогда
               ОбластьПараметр1.Параметры.ИмяДопПоля=свойства_мас.наименование;
               ОбластьПараметр1.Параметры.ЗначениеДопПоля=свойства_мас.значение;
               ТабДок.Вывести(ОбластьПараметр1);
           КонецЕсли;    
        
    конеццикла;    

        
     Запрос = Новый Запрос;
     Запрос.Текст = 
        "ВЫБРАТЬ
    |ХранилищеДополнительнойИнформации.Ссылка КАК Ссылка,
    |ХранилищеДополнительнойИнформации.ВерсияДанных КАК ВерсияДанных,
    |ХранилищеДополнительнойИнформации.ПометкаУдаления КАК ПометкаУдаления,
    |ХранилищеДополнительнойИнформации.Наименование КАК Наименование,
    |ХранилищеДополнительнойИнформации.ВидДанных КАК ВидДанных,
    |ХранилищеДополнительнойИнформации.ИмяФайла КАК ИмяФайла,
    |ХранилищеДополнительнойИнформации.Объект КАК Объект,
    |ХранилищеДополнительнойИнформации.Хранилище КАК Хранилище,
    |ХранилищеДополнительнойИнформации.ТекстФайла КАК ТекстФайла,
    |ХранилищеДополнительнойИнформации.Предопределенный КАК Предопределенный,
    |ХранилищеДополнительнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
    |Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
|ГДЕ
    |ХранилищеДополнительнойИнформации.Ссылка = &ИмяФайла";
    
          
    Запрос.УстановитьПараметр("ИмяФайла", строка[0].сылка_картинка);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Изображение1 = Выборка.Хранилище.Получить();
    КонецЦикла;  
       
    ОбластьКартинка1.Рисунки.Картинка1.Картинка =  Изображение1;
           
    ТабДок.Присоединить(ОбластьКартинка1);
     
         
     Для каждого свойства_мас из строка[1].свойства Цикл  //1 єлемент правій
         Если      свойства_мас.выбор=Истина  Тогда
               ОбластьПараметр1.Параметры.ИмяДопПоля=свойства_мас.наименование;
               ОбластьПараметр1.Параметры.ЗначениеДопПоля=свойства_мас.значение;
               ТабДок.Присоединить(ОбластьПараметр2);
   
                     
        КонецЕсли;    
    конеццикла;    

    
      Запрос = Новый Запрос;
      Запрос.Текст = 
        "ВЫБРАТЬ
    |ХранилищеДополнительнойИнформации.Ссылка КАК Ссылка,
    |ХранилищеДополнительнойИнформации.ВерсияДанных КАК ВерсияДанных,
    |ХранилищеДополнительнойИнформации.ПометкаУдаления КАК ПометкаУдаления,
    |ХранилищеДополнительнойИнформации.Наименование КАК Наименование,
    |ХранилищеДополнительнойИнформации.ВидДанных КАК ВидДанных,
    |ХранилищеДополнительнойИнформации.ИмяФайла КАК ИмяФайла,
    |ХранилищеДополнительнойИнформации.Объект КАК Объект,
    |ХранилищеДополнительнойИнформации.Хранилище КАК Хранилище,
    |ХранилищеДополнительнойИнформации.ТекстФайла КАК ТекстФайла,
    |ХранилищеДополнительнойИнформации.Предопределенный КАК Предопределенный,
    |ХранилищеДополнительнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
    |Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
|ГДЕ
    |ХранилищеДополнительнойИнформации.Ссылка = &ИмяФайла";
    
          
       
    Запрос.УстановитьПараметр("ИмяФайла", строка[1].сылка_картинка);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Изображение2 = Выборка.Хранилище.Получить();
    КонецЦикла;  
       
    ОбластьКартинка2.Рисунки.Картинка2.Картинка =  Изображение2;
    ТабДок.Присоединить(ОбластьКартинка2);
        
     конеццикла;    

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Истина;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Вывести(ТабДок);
ТабДок.Показать();
Показать


прошу помощи, можете подсказать как такой макет заставить работать?
помогите пожалуйста.
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SvetaS2014 03.01.24 19:02 Сейчас в теме
ау хоть кто-то может подсказать в каком направлении нужно копать?
3. SvetaS2014 03.01.24 19:27 Сейчас в теме
не знаю как совместить в макете область картинки , которая содержит контейнер картинки, и построчный вывод параметров (число которых задаёт пользователь). я понимаю что макет на картинке 2 не верный, но как его можно было бы сделать рабочим?



проблемма не виден параметр ИмяДопПоля и ЗначениеДопПоля
4. SvetaS2014 07.01.24 11:15 Сейчас в теме
в принципе на другом форуме ответили
5. user1880116 07.01.24 11:55 Сейчас в теме
это на том желтеньком где на заглавной странице которого всё еще русский корабль куда-то посылают?
вот и отлично надеюсь там и остальное расскажут
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот