СКД: программно изменить отбор

04.10.13

Разработка - СКД

Меняем элементы отбора программно.

Видимо предыдущий вариант устарел, так как у меня не срабатывает, поэтому описываю свой вариант.

Мне нобходимо изменить поле отбора "Менеджер" в отборе отчета. Кроме того мне это поле надо закрыть, поэтому ПриОткрытии() запускаю следующую процедурку:

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

Кроме того, аналог надо будет вставить в модуле в ПриКомпоновкеРезультата.

Вступайте в нашу телеграмм-группу Инфостарт

Программно установить отбор в СКД Программно изменить отбор в СКД СКД изменить отбор

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    250801    1390    421    

1145

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5828    310    shapa_pro    25    

67

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    17358    ovetgana    112    

107

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    10109    krasnoshchekovpavel    5    

68

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    9391    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    16014    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    13660    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    10263    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2864 04.10.13 12:43 Сейчас в теме
2. KirealSmith 21 04.10.13 22:53 Сейчас в теме
(1) anig99, причем здесь новизна?
Данная публикация должна помочь тем, у кого возникнет вопрос как это делается.
Idris1204; +1 Ответить
3. Yashazz 4905 07.10.13 13:46 Сейчас в теме
(2) Вопрос, как это делается, имеет множество ответов в жёлтых книжках. RTFM, господа начинающие! В крайнем случае - велкам ту http://devtrainingforum.v8.1c.ru/forum/
4. help1Ckr 09.10.13 12:37 Сейчас в теме
" Если Строка(Стр.ЛевоеЗначение) = "Менеджер" Тогда" - это не по христиански. Правильнее, ИМХО,

Для Каждого Стр ИЗ Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если Строка(Стр.ЛевоеЗначение) = "Менеджер" Тогда

Заменить на
ПолеМенеджер = Новый ПолеКомпоновкиДанных("Менеджер");
Для Каждого Стр ИЗ Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если Стр.ЛевоеЗначение = ПолеМенеджер Тогда
. А так за публикацию плюс ибо сам в первый раз намучался )
Sintson; Merkalov; RSI8; +3 Ответить
8. mdSerg 25.08.15 15:06 Сейчас в теме
(4) help1Ckr,
надо ещё и тип проверять, для группы элементов отбора будет ошибка
5. CagoBHuK 32 09.10.13 14:34 Сейчас в теме
Такое ощущение, что программисты нынче мануалы не читают.
6. prohorp 34 06.11.14 10:48 Сейчас в теме
CagoBHuK
В Синтакс-помощнике найти не всегда удается.
А так что-бы что-то искать - нужно 100% знать как устроены отборы в СКД.(на что бывает нет времени заморачиваться)
7. sandybaev 206 27.02.15 12:09 Сейчас в теме
помогает когда нет времени искать варианты. плюсую
9. shumvlesu 24.08.17 15:46 Сейчас в теме
У меня ИД не получил, пришлось делать так:

ПолеМенеджер = Новый ПолеКомпоновкиДанных("ФИО"); 
		Для Каждого Стр ИЗ ЖурналДокументовКлиента.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
			Если  типзнч(Стр) = тип("ОтборКомпоновкиДанных") Тогда
				Для каждого Настройка Из Стр.Элементы Цикл //Тут может быть несколько настроек, поэтому еще один цикл. 
				    Если  Настройка.ЛевоеЗначение = ПолеМенеджер Тогда
					  	Настройка.РежимОтображения    = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
						Настройка.ПравоеЗначение        = Элемент.ТекущиеДанные.Клиент;
                                               // ну и так далее
				    КонецЕсли;
				КонецЦикла;				
			КонецЕсли;    
		КонецЦикла;  
Показать
10. brunhilda 18.10.18 07:40 Сейчас в теме
Спасибо. Мне помогло
Для отправки сообщения требуется регистрация/авторизация