Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   СКД заполнить отбор программно (http://forums.kuban.ru/f1040/skd_zapolnit-_otbor_programmno-7442924.html)

Yupi 11.01.2016 12:02

СКД заполнить отбор программно
 
Здравствуйте! Нужна помощь зала.
Задача: при открытии отчета на СКД автоматически подставлять в пользовательские настройки отбор «Организация» = ТекущаяОрганизация.

Что-то типа такого
Орг=Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Найти("Организация");
Орг.Значение=ТекущаяОрганизация;
Орг.Использование=Истина;

Есть знающие люди как это сделать?

angro 11.01.2016 13:09

[url]http://1cskd.ru/2010/06/faq_otbor_programmno/[/url]

Yupi 12.01.2016 11:21

1-angro >Перебором то работает.
Орг=Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Организация").Поле;
Для Каждого ЭлементНастройки из Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Настройка = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ЭлементНастройки.ИдентификаторПользовательскойНастройки);
Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если ЭлементНастройки.ЛевоеЗначение=Орг тогда
Настройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Настройка.Использование = Истина;
Настройка.ПравоеЗначение = ПараметрыСеанса.ТекущаяОрганизация;

Но хотелось бы проще. Найти поле отбора "Организация" и вставить туда значение отбора. КАК это сделать?

roma n 12.01.2016 11:37

(2) [em]хотелось бы проще[/em]
что будешь делать, если пользователь в пользовательских настройках набьёт группу сложных условий? Типа
[{Организация = Орг1 И Контрагент = Контр1** ИЛИ {Организация = Орг2 И Контрагент = Контр2**]

roma n 12.01.2016 11:38

([Организация = Орг1 И Контрагент = Контр1] ИЛИ [Организация = Орг2 И Контрагент = Контр2])

Yupi 12.01.2016 12:01

3-roma n >а что будет? ТекущаяОрганизация должна подставиться в оба поля "Организация".

roma n 12.01.2016 12:49

(5) Крайне спорная логика. Однако, право на жизнь имеющая.
Вопрос в том, как такую логику организовать "попроще", без анализа всех элементов настройки? Вынести функциональность поиска в платформу? Выйди на 1С с предложением.
Только помни про другие задачи: тебе при поиске достаточно сравнить элемент настройки по типу и левому значению, но в общем случае задачи возникают очень разные.

Yupi 12.01.2016 13:00

6-roma n >Спасибо за ответ.
Сложно как-то все получается у меня с этими скд. По большей части методом научного тыка. Ну это так.. поплакаться ).


Текущее время: 05:54. Часовой пояс GMT +3.