![]() |
![]() |
![]() |
|
СКД вывод результата на форме | ☑ | ||
---|---|---|---|---|
0
vladimir80
16.06.16
✎
20:53
|
Добрый вечер! Задача достаточно простая, на неуправляемых формах все работает, но возник затык на УФ. Форма элемента справочника, на ней располагаю КомпоновщикНастроекКомпоновкиДанных, путь к данным Компоновщик.Настройки.Отбор
На кнопку хочу заполнять ТЧ по установленному отбору. Настройки сохраняются. При формировании всегда вылезает пустой результат. Если в виде настроек подсунуть НастройкиПоУмолчанию - все работает. Смотрел в отладчике - отбор заполнен как надо... Подскажите пож-ста, ЧЯДНТ? [CODE] &НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры &НаСервере Процедура ПриОткрытииНаСервере() КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; СхемаКомпоновки = Справочники._АльтернативнаяИерархияНоменклатурыДляСайтов.ПолучитьМакет("Макет"); АдресСКД = ПоместитьВоВременноеХранилище(СхемаКомпоновки, Новый УникальныйИдентификатор); ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД); Компоновщик.Инициализировать(ИсточникНастроек); НастройкиСКД = Объект.Ссылка.ХранилищеНастроек.Получить(); Если Не ПустаяСтрока(НастройкиСКД) Тогда Компоновщик.ЗагрузитьНастройки(НастройкиСКД); Иначе Компоновщик.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) НастройкиКомпоновкиДанных = Компоновщик.ПолучитьНастройки(); ТекущийОбъект.ХранилищеНастроек = Новый ХранилищеЗначения(НастройкиКомпоновкиДанных); КонецПроцедуры &НаСервере Процедура СформироватьСписокНоменклатурыНаСервере() Таблица = Новый ТаблицаЗначений; СхемаКомпоновки = Справочники._АльтернативнаяИерархияНоменклатурыДляСайтов.ПолучитьМакет("Макет"); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Компоновщик.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Таблица); ПроцессорВывода.Вывести(ПроцессорКомпоновки); Кол = Таблица.Количество(); КонецПроцедуры &НаКлиенте Процедура СформироватьСписокНоменклатуры(Команда) СформироватьСписокНоменклатурыНаСервере(); КонецПроцедуры [/CODE] |
|||
1
Cyberhawk
16.06.16
✎
21:10
|
Компоновщик.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию)
Может нужно брать не НастройкиПоУмолчанию, а результат метода ПолучитьНастройки()? |
|||
2
vladimir80
16.06.16
✎
21:14
|
При открытии все нормально - открываются и сохраненные настройки. Проблема именно в Процедура СформироватьСписокНоменклатурыНаСервере()
|
|||
3
Cyberhawk
16.06.16
✎
21:15
|
А, ясно. Так детальные записи-то добавь в настройки структуры и выбранные поля чтоб тоже там были
|
|||
4
Cyberhawk
16.06.16
✎
21:16
|
А то пади только запрос набора данных описал в схеме и ждешь, что у тебя будет ТЗ заполненная на выходе
|
|||
5
vladimir80
16.06.16
✎
21:17
|
Причем если заменить Компоновщик.ПолучитьНастройки() на СхемаКомпоновки.НастройкиПоУмолчанию - в ТЗ номенклатура выгружается, при всех остальных вариантах - в ТЗ 0 записей.
И детальные записи есть, и выбранные поля (в макете). |
|||
6
Cyberhawk
16.06.16
✎
21:19
|
Выведи не в ТЗ, а в табличный документ и посмотри его содержимое - что там будет?
Может, у тебя там группировки и надо выводить в дерево значений? |
|||
7
vladimir80
16.06.16
✎
21:25
|
Нет, запрос элементарный,
ВЫБРАТЬ РАЗЛИЧНЫЕ СправочникНоменклатура.Ссылка КАК Номенклатура {ВЫБРАТЬ Номенклатура.*} ИЗ Справочник.Номенклатура КАК СправочникНоменклатура {ГДЕ СправочникНоменклатура.Ссылка.* КАК ПараметрыОтбора} Да, похоже я нашел грабли. Тестировал на одной из сохраненных настроек, на момент первого сохранения в макете небыло выбранных полей. Потом добавил. В новом элементе справочника сразу все ок. Спасибо, не ожидал просто такой подставы ))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |