Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Таблица значений в построителе отчета: поля отбора

Таблица значений в построителе отчета: поля отбора
Я
   OnePrg
 
16.12.20 - 00:51
ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(тб);

При этом все поля отбора в построителе не раскрываются. Где какое свойство нужно проставить, чтобы скажем поле "Номенклатура" раскрывалось по своим реквизитам?
   FIXXXL
 
1 - 16.12.20 - 08:11
(0) посмотри что там в Отборе у него
   OnePrg
 
2 - 16.12.20 - 09:10
(1) В отборе пусто. Отбор вывел на форму, с ним будет пользователь работать.
   OnePrg
 
3 - 16.12.20 - 09:11
(1) .... именно при добавлении в отбор вижу список доступных полей, но поля ссылочного типа не раскрываются по своим реквизитам
   FIXXXL
 
4 - 16.12.20 - 11:43
(3) видимо не типизированы...
   sapphire
 
5 - 16.12.20 - 12:28
(0) ТЗ не типизирована
   OnePrg
 
6 - 16.12.20 - 15:23
(5) типизирована
если поля не типизированы, они вообще в отбор не попадают
   TormozIT
 
7 - 16.12.20 - 15:54
Не поддерживает он это (обращение к реквизитам ссылок в клиентских источниках данных).
   OnePrg
 
8 - 16.12.20 - 16:37
(7) понятно

а через запрос ТЗ в построитель можно втянуть?
   youalex
 
9 - 16.12.20 - 16:57
(8) напрямую нет.
Но можно задать поля литералами, типа
Построитель.Текст = "ВЫБРАТЬ Значение(Справочник.Номенклатура.) КАК Номенклатура, 0 Как Сумма ПОМЕСТИТЬ вт"

Так у тебя все отборы будут работать. 

А чтобы получить результат, уже используешь Запрос
типа Запрос = Построитель.ПолучитьЗапрос();
У тебя будет Запрос со всеми отборами в "ГДЕ", в тексте меняешь первый запрос пакета (с литералами) - на помещение реальной ТЗ в вт.

Такое)
   OnePrg
 
10 - 16.12.20 - 21:02
(9) >Но можно задать поля литералами, типа
>Построитель.Текст = "ВЫБРАТЬ Значение(Справочник.Номенклатура.) КАК Номенклатура, 0 Как Сумма ПОМЕСТИТЬ вт"

>Так у тебя все отборы будут работать.

вообще нет доступных полей в отборе
   OnePrg
 
11 - 16.12.20 - 21:07
А стоп... кажется разобрался. Сделаю - отпишусь.
   OnePrg
 
12 - 16.12.20 - 21:47
(9) Не понял. Получаю запрос из построителя, в запросе меняю текст, а дальше? Засунуть запрос обратно в построитель? Как?
   youalex
 
13 - 17.12.20 - 00:46
(10) Да, там еще нужен второй запрос в пакете, где ты выбираешь поля из временной таблицы, выражения построителя тоже можно использовать.

(12) смотря что тебе нужно.
Если вывести данные в отчет - можно использовать второй построитель )), типа :
РезультатЗапроса = Запрос.Выполнить();
ОписаниеИсточника = Новый ОписаниеИсточникаДанных(РезультатЗапроса );
ПостроительДляВывода.ИсточникДанных = ОписаниеИсточника;
ПостроительДляВывода.Вывести(ТабДок);

СКД - не вариант?
   OnePrg
 
14 - 17.12.20 - 10:55
(13) >СКД - не вариант?

та вот буду пробовать СКД.

Только суть задачи в том, что Отбор вынесен на форму. Для этого таблица на форме должна ссылаться на поле Отбор реквизита формы Построитель. А с СКД как? Что вынести на форму? Сделать реквизит типа КомпоновщикНастроек?
   ДенисЧ
 
15 - 17.12.20 - 11:02
(14) КомпоновщикНастроек.Настройки.Отбор

Пользуйся.
   OnePrg
 
16 - 17.12.20 - 16:27
КомпоновщикНастроек у меня это реквизит формы

СКД - переменная в коде

Как компоновщик привязать к переменной?
   OnePrg
 
17 - 17.12.20 - 16:35
Кажется нашёл 

КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   OnePrg
 
18 - 17.12.20 - 17:06
Нет доступных полей для отбора. Что не так делаю?

КомпоновщикНастроек - реквизит формы


    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
    
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки(); 
 
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; 
 
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);    
    
    ВнешнийНаборДанных = Новый Структура("тб", тб); 
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; 
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);
   youalex
 
19 - 17.12.20 - 17:43
Попробуй через ВХ:
Пример 2:
// Поместим схему во временное хранилище


URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);
// Создадим источник


ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
   youalex
 
20 - 17.12.20 - 17:48
Схема уже должна быть с набором типа Объект и полями на момент инициализации компоновщика (вроде)
   OnePrg
 
21 - 18.12.20 - 10:50
(20) Вот вот и меня это смущает
Настройки = КомпоновщикНастроек.ПолучитьНастройки(); 

Ведь этот код взят из модуля отчёта СКД, там как я понимаю переменная КомпоновщикНастроек предопределена, в у меня КомпоновщикНастроек - реквизит формы, а СхемаКомпоновкиДанных просто переменная.
   youalex
 
22 - 18.12.20 - 11:17
нужно сначала Схему заполнить. Или в макете руками накликать поля (если у тебя ТЗ фиксированный набор колонок) и подтягивать из макета, или программно.
Если у тебя Отчет, то можно вообще сделать стандартно, указав эту схему как основную
   OnePrg
 
23 - 18.12.20 - 12:09
(19) Сначала хочу просто загнать в СКД таблицу, а потом уже буду прикручивать отборы на форме. Но и это не получается.

Ругается Неправильные параметры источника доступных настроек
    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;

    Настройки = КомпоновщикНастроек.ПолучитьНастройки(); 
 
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; 
 
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);    
    
    ВнешнийНаборДанных = Новый Структура("тб", тб); 
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; 
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);        
    
    URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы)));    
    
    ДокументРезультат=Новый ТабличныйДокумент;
    ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);        
    ДокументРезультат.Показать();
   youalex
 
24 - 18.12.20 - 13:03
(23) В СКД ты таблицу не загонишь, тебе нужно в СКД создать описание таблицы, точнее набора данных "Объект".
Сама таблица значений используется уже при компоновке результата.
   OnePrg
 
25 - 18.12.20 - 16:13
(24) Вот в инете нашёл пример для модуля СКД
Только вопрос вот в этом месте НастройкиКомпоновки = КомпоновщикНастроек.Настройки;

А у меня то СКД это переменная, как из неё получить компоновщик настроек?




Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
    
    ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
    ИсточникДанных.Имя = "ИсточникДанных1";
    ИсточникДанных.ТипИсточникаДанных = "Local";
    
    НаборДанныхОбъектСхемыКомпоновкиДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
    НаборДанныхОбъектСхемыКомпоновкиДанных.Имя = "НаборДанных1";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИмяОбъекта = "ТаблицаОстатков";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИсточникДанных = "ИсточникДанных1";
    
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле = "Номенклатура";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным = "Номенклатура";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок = "Номенклатура";
    
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле = "Склад";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным = "Склад";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок = "Склад";
    
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле = "ВНаличииОстаток";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным = "ВНаличииОстаток";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок = "В наличии остаток";
    
    Ресурс = СхемаКомпоновкиДанных.ПоляИтога.Добавить();
    Ресурс.ПутьКДанным = "ВНаличииОстаток";
    Ресурс.Выражение = "Сумма(ВНаличииОстаток)";
    
    НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
    
    Если НастройкиКомпоновки.Структура.Количество() = 0 Тогда
        
        ГруппировкаКомпоновкиДанных1 = НастройкиКомпоновки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
        ГруппировкаКомпоновкиДанных1.Использование = Истина;
        ПолеГруппировкиКомпоновкиДанных = ГруппировкаКомпоновкиДанных1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
        ПолеГруппировкиКомпоновкиДанных.Использование = Истина;
        ПолеГруппировкиКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Склад");
        
        АвтоВыбранноеПолеКомпоновкиДанных = ГруппировкаКомпоновкиДанных1.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
        АвтоВыбранноеПолеКомпоновкиДанных.Использование = Истина;
        
        ГруппировкаКомпоновкиДанных2 = ГруппировкаКомпоновкиДанных1.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
        ГруппировкаКомпоновкиДанных2.Использование = Истина;
        ПолеГруппировкиКомпоновкиДанных2 = ГруппировкаКомпоновкиДанных2.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
        ПолеГруппировкиКомпоновкиДанных2.Использование = Истина;
        ПолеГруппировкиКомпоновкиДанных2.Поле = Новый ПолеКомпоновкиДанных("Номенклатура"); 
        
        АвтоВыбранноеПолеКомпоновкиДанных = ГруппировкаКомпоновкиДанных2.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
        АвтоВыбранноеПолеКомпоновкиДанных.Использование = Истина;
        
        ВыбранноеПолеКомпоновкиДанных = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
        ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
        ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("ВНаличииОстаток");
        
        ЭлементОтбораКомпоновкиДанных = НастройкиКомпоновки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбораКомпоновкиДанных.Использование = Истина;
        ЭлементОтбораКомпоновкиДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВНаличииОстаток");
        ЭлементОтбораКомпоновкиДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
        ЭлементОтбораКомпоновкиДанных.ПравоеЗначение = 500;
        
        ЭлементПорядкаКомпоновкиДанных = НастройкиКомпоновки.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
        ЭлементПорядкаКомпоновкиДанных.Использование = Истина;
        ЭлементПорядкаКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
        ЭлементПорядкаКомпоновкиДанных.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
        
        УсловноеОформление = НастройкиКомпоновки.УсловноеОформление.Элементы.Добавить();
        УсловноеОформление.Использование = Истина;
        ВыбранноеПолеКомпоновкиДанных = УсловноеОформление.Поля.Элементы.Добавить();
        ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
        ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("ВНаличииОстаток");
        
        ВыбранноеПолеКомпоновкиДанных = УсловноеОформление.Поля.Элементы.Добавить();
        ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
        ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
        
        УсловноеОформление.ИспользоватьВЗаголовке         = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
        УсловноеОформление.ИспользоватьВЗаголовкеПолей  = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
        УсловноеОформление.ИспользоватьВОбщемИтоге         = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
        
        ЭлементОтбораКомпоновкиДанных = УсловноеОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбораКомпоновкиДанных.Использование = Истина;
        ЭлементОтбораКомпоновкиДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВНаличииОстаток");
        ЭлементОтбораКомпоновкиДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
        ЭлементОтбораКомпоновкиДанных.ПравоеЗначение = 1000;
        
        УсловноеОформление.Оформление.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ЦветФона"), WebЦвета.Желтый);
        
    КонецЕсли;    
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки);
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ТоварыНаСкладах.Номенклатура КАК Номенклатура,
    |    ТоварыНаСкладах.Склад,
    |    ТоварыНаСкладах.ВНаличииОстаток КАК ВНаличииОстаток
    |ИЗ
    |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладах";
    
    ТаблицаОстатков = Запрос.Выполнить().Выгрузить();
    
    ВнешниеНаборы = Новый Структура("ТаблицаОстатков", ТаблицаОстатков);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
КонецПроцедуры
   ДенисЧ
 
26 - 18.12.20 - 16:20
(25) В схеме нет компоновщика в явном виде
Создаёшь объект и ему .ЗагрузитьНастройки(схема.ПолучитьНастройкиПоУмолчанию)
   OnePrg
 
27 - 19.12.20 - 00:27
Таблицу значений в СКД загрузил, отбор на форме есть, но как теперь в полях отбора добавить реквизиты полей

http://imagizer.imageshack.com/img924/981/K75cjD.png

    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;

    ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
    ИсточникДанных.Имя                     = "ИсточникДанных1";
    ИсточникДанных.ТипИсточникаДанных     = "Local";

    НаборДанныхОбъектСхемыКомпоновкиДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
    НаборДанныхОбъектСхемыКомпоновкиДанных.Имя                 = "НаборДанных1";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИмяОбъекта         = "тб";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИсточникДанных     = "ИсточникДанных1";    
    
    Для каждого колонка из тб.Колонки Цикл
        ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
        ПолеНабораДанныхСхемыКомпоновкиДанных.Поле             = Колонка.Имя;
        ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным     = Колонка.Имя;
        ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок     = Колонка.Имя;
    КонецЦикла;
    
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
    
    ГруппировкаКомпоновкиДанных1 = НастройкиКомпоновки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ГруппировкаКомпоновкиДанных1.Использование         = Истина;
    ПолеГруппировкиКомпоновкиДанных                 = ГруппировкаКомпоновкиДанных1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиКомпоновкиДанных.Использование     = Истина;
    ПолеГруппировкиКомпоновкиДанных.Поле             = Новый ПолеКомпоновкиДанных(тб.Колонки[0].Имя);    
    
    АвтоВыбранноеПолеКомпоновкиДанных = ГруппировкаКомпоновкиДанных1.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    АвтоВыбранноеПолеКомпоновкиДанных.Использование = Истина;    
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки);
    
    ВнешниеНаборы = Новый Структура("тб", тб);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы);
    
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   OnePrg
 
28 - 19.12.20 - 00:30
Нашел.

    ПолеНабораДанныхСхемыКомпоновкиДанных.ТипЗначения    = Колонка.ТипЗначения;

Рабочий код прилагаю. Всем спасибо!

    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;

    ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
    ИсточникДанных.Имя                     = "ИсточникДанных1";
    ИсточникДанных.ТипИсточникаДанных     = "Local";

    НаборДанныхОбъектСхемыКомпоновкиДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
    НаборДанныхОбъектСхемыКомпоновкиДанных.Имя                 = "НаборДанных1";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИмяОбъекта         = "тб";
    НаборДанныхОбъектСхемыКомпоновкиДанных.ИсточникДанных     = "ИсточникДанных1";    
    
    Для каждого колонка из тб.Колонки Цикл
        ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
        ПолеНабораДанныхСхемыКомпоновкиДанных.Поле             = Колонка.Имя;
        ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным     = Колонка.Имя;
        ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок     = Колонка.Имя;
        ПолеНабораДанныхСхемыКомпоновкиДанных.ТипЗначения    = Колонка.ТипЗначения;
    КонецЦикла;
    
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
    
    ГруппировкаКомпоновкиДанных1 = НастройкиКомпоновки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ГруппировкаКомпоновкиДанных1.Использование         = Истина;
    ПолеГруппировкиКомпоновкиДанных                 = ГруппировкаКомпоновкиДанных1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиКомпоновкиДанных.Использование     = Истина;
    ПолеГруппировкиКомпоновкиДанных.Поле             = Новый ПолеКомпоновкиДанных(тб.Колонки[0].Имя);    
    
    АвтоВыбранноеПолеКомпоновкиДанных = ГруппировкаКомпоновкиДанных1.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    АвтоВыбранноеПолеКомпоновкиДанных.Использование = Истина;    
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки);
    
    ВнешниеНаборы = Новый Структура("тб", тб);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы);
    
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));


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