Отбор элементов справочника по доступу

1. pusal 29.03.23 15:32 Сейчас в теме
Всем привет!
Конфигурация ERP -> необходимо ограничить список статей ДДС для выбора из справочника статьей ДДС при заведении заявки на расходование ДС.
Ограничения доступа к статьям описаны по подразделению (ЦФО) в регистре сведений.

Написал в модуле формы процедуру по установке допустимых статей и функцию для их получения из регистра массивом:

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

КонецПроцедуры

&НаСервере
Функция псПолучитьСписокСтатейДДС(Режим)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	псДоступЦФО_ДДС.СтатьяДДС КАК СтатьяДДС
	|ПОМЕСТИТЬ СтатьиДанногоЦФО
	|ИЗ
	|	РегистрСведений.псДоступЦФО_ДДС КАК псДоступЦФО_ДДС
	|ГДЕ
	|	псДоступЦФО_ДДС.ЦФО = &ТекЦФО
	|	И НЕ псДоступЦФО_ДДС.СтатьяДДС.ПометкаУдаления
	|
	|СГРУППИРОВАТЬ ПО
	|	псДоступЦФО_ДДС.СтатьяДДС
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	СтатьиДанногоЦФО.СтатьяДДС КАК СтатьяДДС
	|ИЗ
	|	СтатьиДанногоЦФО КАК СтатьиДанногоЦФО
	|АВТОУПОРЯДОЧИВАНИЕ";
	
	Запрос.УстановитьПараметр("ТекЦФО", Объект.Подразделение);

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


Вызываю эту процедуру при изменении подразделения (для каждого подразделения - свой доступный список статьей ДДС) - не сработало.
Наведите на верный путь...
Нужно еще описывать обработчик НачалоВыбора у элемента? Попытался из него вызвать вышеописанную процедуру, но не помогло...
Или куда поковырять, чтобы было правильно?
Буду рад любым наводкам на решение, спасибо заранее.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 29.03.23 16:17 Сейчас в теме
а что конкретно и когда не работает?
3. pusal 29.03.23 16:30 Сейчас в теме
(2) при открытии формы выбора справочника пользователь видит все элементы справочника, а должен видеть только то, что в результате запроса, то есть только доступные по своему подразделению.
мне нужно ограничить список статей ДДС для пользователя, ограничить в разрезе подразделения пользователя. данные по доступным для подразделения (ЦФО) статьям ДДС хранятся в регистре сведений.
4. soft_wind 29.03.23 16:38 Сейчас в теме
какая форма выбора? уберите эту кнопку! оставьте только выбор из списка!
5. pusal 29.03.23 16:51 Сейчас в теме
(4) при нажатии "Показать все" все равно выходит форма выбора из справочника, и все статьи ДДС перед пользователем.
Здесь только запрос динамического списка формы выбора ковырять или существует способ передачи параметра отбора (массив объектов) в неё? Я, к сожалению, найти решения не смог(
Прикрепленные файлы:
6. soft_wind 29.03.23 17:07 Сейчас в теме
и это: Показать все - тоже уберите!
где-то там в настройках использовать ТОЛЬКО список выбора! (и/или ограничение списком)
7. pusal 29.03.23 17:46 Сейчас в теме
(6) не понимаю почему, но в расширении конфигурации изменения этих свойств никак не отражаются на результате.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот