Цитата(Bernet @ 20.07.17, 14:01) необходимо зарегистрироваться для просмотра ссылки
запрос в цикле это херово, тут возникнет вопрос производительности при большой нагрузке..
Согласен... вдруг в группе еще сделают группу...
Но как тогда Обработка Моби-С вытаскивает эти значения кнопкой с выводом в макет?
Это сама кнопка вывода:
РезультатЗапроса=СформироватьПостроительОтчетаКонтрагенты(
ТекАгент,
ЗапретитьИзменятьТипЦен,
ЗапретитьИзменятьСкидку,
ВыделятьЦветомКонтрагентов,
Ложь);
форма = ПолучитьФорму("ФормаВыводТаблДок", , "Контрагенты_" + ТекАгент);
макет = ПолучитьМакет("МакетКонтрагенты");
областьШапка = макет.ПолучитьОбласть("Шапка");
областьШапка.Параметры.Заголовок = "Контрагенты агента " + ТекАгент;
форма.Заголовок = "Контрагенты агента " + ТекАгент;
тдСоставСегмента = новый ТабличныйДокумент();
тдСоставСегмента.Вывести(областьШапка);
тзРезультат = РезультатЗапроса.Выгрузить();
для каждого стр из тзРезультат Цикл
область = макет.ПолучитьОбласть("Строка");
область.Параметры.Контрагент = стр.Контрагент;
тдСоставСегмента.Вывести(область);
КонецЦикла;
Это часть кода из
СформироватьПостроительОтчетаКонтрагенты ТаблСОтбором = ПрочитатьОтбор(ПарамАгент,"Контрагенты"); //прочитаем из регистра отбор
ЗаполнитьОтборПостроителя(ТаблСОтбором,Построитель,БланкПостроителяОтчетаКонтрагенты);
Построитель.Выполнить();
Если ТолькоСсылки Тогда
Возврат Построитель.Результат;
КонецЕсли;
Функция ПрочитатьОтбор(Агент,НазваниеОтбора) Экспорт
ТаблСОтбором = ПрочитатьИзРегистраСохраненныеНастройки(Агент,"Отбор."+НазваниеОтбора);
Если ТипЗнч(ТаблСОтбором) <> Тип("ТаблицаЗначений") Тогда //нет настройки
ТаблСОтбором = СоздатьТаблицуОтбор(); //создаем пустую
КонецЕсли;
возврат ТаблСОтбором;
КонецФункции
И почти как у Вас
Функция ПрочитатьИзРегистраСохраненныеНастройки(Агент,НаименованиеНастройки) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СохраненныеНастройки.СохраненнаяНастройка
|ИЗ
| РегистрСведений.СохраненныеНастройки КАК СохраненныеНастройки
|ГДЕ
| СохраненныеНастройки.Пользователь = &Агент
| И СохраненныеНастройки.ИмяОбъекта = &ИмяОбъекта
| И СохраненныеНастройки.НаименованиеНастройки = &НаименованиеНастройки";
Запрос.УстановитьПараметр("Агент" ,Агент);
Запрос.УстановитьПараметр("ИмяОбъекта" ,РССохраненныеНастройкиИмяОбъекта);
Запрос.УстановитьПараметр("НаименованиеНастройки",НаименованиеНастройки);
Результат = Запрос.Выполнить();
СохраненнаяНастройка = Неопределено;
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Попытка
СохраненнаяНастройка = Выборка.СохраненнаяНастройка.Получить();
Исключение
ДобавитьВЛогФайл(
"Не удалось загрузить настройку " + НаименованиеНастройки
+ " для объекта " + РССохраненныеНастройкиИмяОбъекта
+ " у агента " + Агент,
Агент, , СтатусСообщения.Важное);
КонецПопытки;
КонецЕсли;
возврат СохраненнаяНастройка;
Цитата(Bernet @ 20.07.17, 14:21) необходимо зарегистрироваться для просмотра ссылки
в ЭлементГруппа какой тип? Справочник.Контрагенты или что-то другое?
Скорее всего да, ибо другие данные не используются. Но нужно наверное учесть в каком типе эти данные храняться в Хранилище...