Запрет редактирования одного из отборов в Отчетах УТ 10.3 (как сделать?)

1. Андрей Стручалин (dikd) 4 25.11.11 15:32 Сейчас в теме
Доброго времени суток всем. Есть конфигурация УТ, в ней есть куча отчетов, в каждый руками можно добавить дополнительный отбор, например "Контрагент.ОсновнойМенеджерПокупателя" - нужно что бы менеджеры в отчетах видели только сових контрагентов.

Так вот, программно отбор добавляю, но вот как сделать его недоступным для редактирования чет никак не пойму. В модуле отчета добавлена строчка:

УниверсальныйОтчет.ДобавитьОтбор("Контрагент.ОсновнойМенеджерПокупателя", Истина, ВидСравнения.Равно,глЗначениеПеременной("глТекущийПользователь"), , , ложь); НО ВОТ КАК этот отбор либо скрыть, либо запретить редактировать. Может кто сталкивался?
Ответы
2. Еlen Jatsenko (alenakrr) 25.11.11 16:30 Сейчас в теме
типа так:

УниверсальныйОтчет.ДобавитьОтбор("ОсновнойМенеджерПокупателя", истина, ВидСравнения.Равно,глЗначениеПеременной("глТекущийПользователь"), , , ложь);

УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент);
УниверсальныйОтчет.ПостроительОтчета.Отбор.Удалить(УниверсальныйОтчет.ПостроительОтчета
.Отбор.Индекс(УниверсальныйОтчет.ПостроительОтчета.Отбор["ОсновнойМенеджерПокупателя"]));

УниверсальныйОтчет.ПостроительОтчета.ДоступныеПоля.ОсновнойМенеджерПокупателя.Отбор = Ложь;
3. Андрей Стручалин (dikd) 4 25.11.11 17:06 Сейчас в теме
Вышел из ситуации малость подругому... а именно:

В модуле объекта "Универсальный отчет" в процедуру СформироватьОтчет() в начало добавлены строки:

Если УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"),"ОткрыватьФормуВыбораСправочникаКонтрагентыСОтборомПоТекущем­уПользователю") Тогда
ДобавитьОтбор("Контрагент.ОсновнойМенеджерПокупателя", Истина, ВидСравнения.Равно,глЗначениеПеременной("глТекущийПользователь"), , , ложь, истина);
КонецЕсли;


Последний параметр (истина) добавлен в параметры функции ДобавитьОтбор(). Вот польностью код Функции ДобавитьОтбор():

Функция ДобавитьОтбор(ПутьКДанным, Использование = Неопределено, ВидСравнения = Неопределено, Значение = Неопределено, ЗначениеС = Неопределено, ЗначениеПо = Неопределено, ИспользоватьВБыстрыхОтборах = Истина,ВсегдаИспользовать=Истина) Экспорт

ДобавляемыйЭлементОтбора = Неопределено;

Для каждого ЭлементОтбора из ПостроительОтчета.Отбор Цикл

Если ЭлементОтбора.ПутьКДанным = ПутьКДанным Тогда

ДобавляемыйЭлементОтбора = ЭлементОтбора;
Если ВсегдаИспользовать тогда //reg-soft
ДобавляемыйЭлементОтбора.Использование = ИСТИНА;
КонецЕсли;
Прервать;

КонецЕсли;

КонецЦикла;

Если ДобавляемыйЭлементОтбора = Неопределено Тогда

Попытка

ДобавляемыйЭлементОтбора = ПостроительОтчета.Отбор.Добавить(ПутьКДанным);
Исключение

Возврат Ложь;

КонецПопытки;

КонецЕсли;

Если ИспользоватьВБыстрыхОтборах Тогда

Если мМассивБыстрыеОтборы = Неопределено Тогда

мМассивБыстрыеОтборы = Новый Массив;

КонецЕсли;

Если мМассивБыстрыеОтборы.Найти(ДобавляемыйЭлементОтбора) = Неопределено Тогда

мМассивБыстрыеОтборы.Добавить(ДобавляемыйЭлементОтбора);

КонецЕсли;

КонецЕсли;

Если Использование <> Неопределено Тогда

ДобавляемыйЭлементОтбора.Использование = Использование;

КонецЕсли;

Если ВидСравнения <> Неопределено Тогда

ДобавляемыйЭлементОтбора.ВидСравнения = ВидСравнения;

КонецЕсли;

Если Значение <> Неопределено Тогда

ДобавляемыйЭлементОтбора.Значение = Значение;

КонецЕсли;

Если ЗначениеС <> Неопределено Тогда

ДобавляемыйЭлементОтбора.ЗначениеС = ЗначениеС;

КонецЕсли;

Если ЗначениеПо <> Неопределено Тогда

ДобавляемыйЭлементОтбора.ЗначениеПо = ЗначениеПо;

КонецЕсли;

Возврат Истина;

КонецФункции // ДобавитьОтбор()


Вообщем вот, вдруг кому пригодится!
4. дмитрий иконников (dimon2008) 21.04.17 20:08 Сейчас в теме
Оставьте свое сообщение