Отбор элементов справочника по доступу
Всем привет!
Конфигурация ERP -> необходимо ограничить список статей ДДС для выбора из справочника статьей ДДС при заведении заявки на расходование ДС.
Ограничения доступа к статьям описаны по подразделению (ЦФО) в регистре сведений.
Написал в модуле формы процедуру по установке допустимых статей и функцию для их получения из регистра массивом:
Вызываю эту процедуру при изменении подразделения (для каждого подразделения - свой доступный список статьей ДДС) - не сработало.
Наведите на верный путь...
Нужно еще описывать обработчик НачалоВыбора у элемента? Попытался из него вызвать вышеописанную процедуру, но не помогло...
Или куда поковырять, чтобы было правильно?
Буду рад любым наводкам на решение, спасибо заранее.
Конфигурация ERP -> необходимо ограничить список статей ДДС для выбора из справочника статьей ДДС при заведении заявки на расходование ДС.
Ограничения доступа к статьям описаны по подразделению (ЦФО) в регистре сведений.
Написал в модуле формы процедуру по установке допустимых статей и функцию для их получения из регистра массивом:
&НаСервере
Процедура псУстановитьСписокСДДС()
Элементы.СтатьяДвиженияДенежныхСредств.РежимВыбораИзСписка = Истина;
МассивОтбора = псПолучитьСписокСтатейДДС("Массив");
Элементы.СтатьяДвиженияДенежныхСредств.СписокВыбора.ЗагрузитьЗначения(МассивОтбора);
Элементы.РасшифровкаПлатежаСтатьяДвиженияДенежныхСредств.СписокВыбора.ЗагрузитьЗначения(МассивОтбора);
КонецПроцедуры
&НаСервере
Функция псПолучитьСписокСтатейДДС(Режим)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| псДоступЦФО_ДДС.СтатьяДДС КАК СтатьяДДС
|ПОМЕСТИТЬ СтатьиДанногоЦФО
|ИЗ
| РегистрСведений.псДоступЦФО_ДДС КАК псДоступЦФО_ДДС
|ГДЕ
| псДоступЦФО_ДДС.ЦФО = &ТекЦФО
| И НЕ псДоступЦФО_ДДС.СтатьяДДС.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| псДоступЦФО_ДДС.СтатьяДДС
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| СтатьиДанногоЦФО.СтатьяДДС КАК СтатьяДДС
|ИЗ
| СтатьиДанногоЦФО КАК СтатьиДанногоЦФО
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ТекЦФО", Объект.Подразделение);
Результат = Запрос.Выполнить().Выбрать();
Если Режим = "Список" Тогда
МассивОтбора = Новый СписокЗначений;
Пока Результат.Следующий() Цикл
МассивОтбора.Добавить(Результат.СтатьяДДС);
КонецЦикла;
ИначеЕсли Режим = "Массив" Тогда
МассивОтбора = Новый Массив;
Пока Результат.Следующий() Цикл
МассивОтбора.Добавить(Результат.СтатьяДДС);
КонецЦикла;
КонецЕсли;
Возврат МассивОтбора;
КонецФункции
ПоказатьВызываю эту процедуру при изменении подразделения (для каждого подразделения - свой доступный список статьей ДДС) - не сработало.
Наведите на верный путь...
Нужно еще описывать обработчик НачалоВыбора у элемента? Попытался из него вызвать вышеописанную процедуру, но не помогло...
Или куда поковырять, чтобы было правильно?
Буду рад любым наводкам на решение, спасибо заранее.
По теме из базы знаний
- Универсальный 1С++ класс Faval для организации часто используемых элементов справочников и быстрого интерактивного доступ к ним
- Банковские счета контрагентов, с отборами по группе или элементу справочника Контрагенты
- Архив элементов
- Блокировка элементов справочников от изменений
- Функция отбора элементов коллекции быстрым условием
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(2) при открытии формы выбора справочника пользователь видит все элементы справочника, а должен видеть только то, что в результате запроса, то есть только доступные по своему подразделению.
мне нужно ограничить список статей ДДС для пользователя, ограничить в разрезе подразделения пользователя. данные по доступным для подразделения (ЦФО) статьям ДДС хранятся в регистре сведений.
мне нужно ограничить список статей ДДС для пользователя, ограничить в разрезе подразделения пользователя. данные по доступным для подразделения (ЦФО) статьям ДДС хранятся в регистре сведений.
(4) при нажатии "Показать все" все равно выходит форма выбора из справочника, и все статьи ДДС перед пользователем.
Здесь только запрос динамического списка формы выбора ковырять или существует способ передачи параметра отбора (массив объектов) в неё? Я, к сожалению, найти решения не смог(
Здесь только запрос динамического списка формы выбора ковырять или существует способ передачи параметра отбора (массив объектов) в неё? Я, к сожалению, найти решения не смог(
Прикрепленные файлы: