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

Нет полей для отбора в компоновщике настроек...

Нет полей для отбора в компоновщике настроек...
Я
   mikecool
 
07.07.19 - 15:50
Продолжаю ваять универсальную обработку
реквизит обработки: КомпоновщикНастроек, тип КомпоновщикНастроекКомпоновкиДанных
в ОФ на форме в поле лежит КомпоновщикНастроек.Настройки.Отбор
в УФ на форме в поле лежит Объект.КомпоновщикНастроек.Настройки.Отбор, т.е. он же
компоновщик инициализируется в ОФ перед открытием формы, в УФ - ПриСозданииНаСервере
в УФ смотрю настройки - в отборе доступные поля есть, при попытке в интерфейсе добавить новое поле отбора - доступных полей нет
чего я делаю не так?
 
 
   mikecool
 
1 - 07.07.19 - 15:54
гм... при добавлении нового отбора - действительно полей для выбора нет...
где то потерялись настройки, вот только где?
   mikecool
 
2 - 07.07.19 - 15:55
инициализирую так:
    пОбъект.ИнициализироватьКомпоновщикНастроекВыгрузки();
    ЗначениеВРеквизитФормы(пОбъект, "Объект");
на этом моменте компоновщик заполнен
а вот далее - нет ((
   mikecool
 
3 - 07.07.19 - 16:09
нашел ответ здесь v8: КомпоновщикНастроек на форме
и ведь помнил об этом, даже закоментаренные строки в модуле есть, но подумал - раз в модуле, значит должно быть на сервере, а значит и должно нормально работать для УФ ))
   mikecool
 
4 - 07.07.19 - 16:21
а вот проблема все равно есть, код в модуле объекта
    Если СхемаВыгрузки = Неопределено Тогда 
        ИнициализироватьСхемуВыгрузки();
    КонецЕсли;
    
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаВыгрузки, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
    Результат = Новый ТаблицаЗначений;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВывода.УстановитьОбъект(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    Если Результат.Количество() = 0 Тогда
        Возврат Новый Массив;
    Иначе
        Возврат Результат.ВыгрузитьКолонку("Ссылка");
    КонецЕсли;
при использовании ОФ возвращает результат, при УФ - нет
при УФ приходится еще раз вызывать ИнициализироватьСхемуВыгрузки(); - этот метод выполняется для ОФ один раз и сохраняется в переменную, в УФ значение переменной, ессно, затирается на сервере
однако разве это должно повлиять на результат? для УФ что-то надо изменить?
   mikecool
 
5 - 07.07.19 - 16:37
нашел это v8: СКД При компоновке результата
но метод ПолучитьНастройки() возвращает как раз все с учетом пользовательских настроек...
   mikecool
 
6 - 07.07.19 - 16:40
смотрю МакетКомпоновки - источник данных установлен, запрос верный, параметр запроса по отбору тоже установлен
   mikecool
 
7 - 07.07.19 - 16:41
непонятно же...
   mikecool
 
8 - 07.07.19 - 17:13
все нормально, все хорошо
упр интерфейс проверял в соседней базе ))) в которой не было данных по отборам )))

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