|
Ограничить редактирование/поиск в отборе отчета | ☑ | ||
---|---|---|---|---|
0
Mr_Boogie
26.03.24
✎
17:53
|
Всех приветствую. Подскажите пжлст, может сталкивался кто. 1с КА 2.4, платформа 8.3. Как в настройках отчета ограничить программно поле ввода для значения? чтобы не было возможности поиска/редактирования/создания, а чтоб пользователь мог только провалится получается в форму выбора. Два дня уже голову ломаю. https://ibb.co/j5yNYgD
|
|||
1
spiller26
26.03.24
✎
20:34
|
(0) Формируй свой список и передавай в СКД
|
|||
2
spiller26
27.03.24
✎
10:57
|
(0) Если хотите ограничить штатными, то делайте расширение.
В требуемом справочнике в модуле менеджера ограничивайте список. &После("ОбработкаПолученияДанныхВыбора") Процедура РасшОграничениеФизЛиц_ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Если НЕ РольДоступна("ПолныеПрава") Тогда ДанныеВыбора = Новый СписокЗначений; Если СтрДлина(Параметры.СтрокаПоиска) > 2 Тогда СписокФизЛиц = РасшОграничениеФизЛиц_ДополнительноНаСервере.РасшОграничениеФизЛиц_ДоступныеФизЛицаПользователяСписком(СокрЛП(Параметры.СтрокаПоиска)); Для Каждого ФизЛицо Из СписокФизЛиц Цикл Структура = Новый Структура("Значение", ФизЛицо.Значение); Элемент = ДанныеВыбора.Добавить(); Элемент.Значение = Структура; Элемент.Представление = ФизЛицо.Представление; КонецЦикла; Иначе СтандартнаяОбработка = Ложь; КонецЕсли; КонецЕсли; КонецПроцедуры А в самих формах выбора в расширении примерно так. &НаСервере Процедура РасшОграничениеФизЛиц_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) Если НЕ РольДоступна("ПолныеПрава") Тогда МассивФизЛиц = РасшОграничениеФизЛиц_ДополнительноНаСервере.РасшОграничениеФизЛиц_ДоступныеФизЛицаПользователя(); Если МассивФизЛиц.Количество() > 0 Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Ссылка", МассивФизЛиц, ВидСравненияКомпоновкиДанных.ВСписке, НСтр("ru = 'Физ.лица только организации'"), Истина, РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный, Неопределено); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
3
youalex
27.03.24
✎
11:12
|
(0) исходная задача в чем?
Если нужно ограничить список - можно использовать Параметры редактирования/Параметры выбора или Тип значения + Доступные значения (всё на закладке Наборы данных редактора СКД) |
|||
4
Mr_Boogie
27.03.24
✎
16:01
|
(2) Огромнейшее спасибо, почитал ещё оф документацию и доработал как нужно)
|
|||
5
Волшебник
27.03.24
✎
16:08
|
(4) Покажите, что получилось
|
|||
6
Mr_Boogie
27.03.24
✎
16:52
|
(5) &После("ОбработкаПолученияДанныхВыбора")
Процедура TSS_ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Если НЕ УправлениеДоступом.ЕстьРоль("ПолныеПрава") Тогда СтандартнаяОбработка = Ложь; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | TSS_ДоступКДДС.СтатьяДДС КАК СтатьяДДС |ИЗ | РегистрСведений.TSS_ДоступКДДС КАК TSS_ДоступКДДС |ГДЕ | TSS_ДоступКДДС.Пользователь = &Пользователь | И TSS_ДоступКДДС.СтатьяДДС.Наименование ПОДОБНО &СтрокаПоиска"; Запрос.УстановитьПараметр("Пользователь", ПользователиКлиентСервер.ТекущийПользователь()); Запрос.УстановитьПараметр("СтрокаПоиска", "%" + Параметры.СтрокаПоиска + "%"); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Список = Новый СписокЗначений; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Список.Добавить(ВыборкаДетальныеЗаписи.СтатьяДДС); КонецЦикла; ДанныеВыбора = Список; КонецЕсли; КонецПроцедуры |
|||
7
Волшебник
27.03.24
✎
16:57
|
(6) Ага, потом ждите заявок типа: "Не могу выбрать статью" и "Пропали статьи ДДС". И совершенно другой программист наткнётся на Ваш код, чертыхнётся... А потом будет муторное согласование доступа и наконец торжественное внесение данных в регистр сведений. И всё ради того, чтобы пользователь случайно не выбрал плохую статью
|
|||
8
Mr_Boogie
27.03.24
✎
17:05
|
(7) "Не могу выбрать статью" - По сути это и есть главное требование у начальства, чтобы "не нужные глаза" не видели/не могли выбрать, то что им не нужно. Сам регистр вынесен на форму элемента справочника "Статей ддс" отдельной вкладкой. Где по кнопке "добавить", у кого есть админ права, заносит запись в регистр, тем самым предоставляет доступ к нужной статьи и далее пользователь может её выбирать в документах/редактировать/просматривать в отчетах и тд..
|
|||
9
Волшебник
27.03.24
✎
17:06
|
(8) Админ же не будет это делать просто так, ему нужно основание в виде утверждённой карточки доступа сотрудника. Маршрут согласования доступа уже имеется?
|
|||
10
Mr_Boogie
27.03.24
✎
17:15
|
(9) Да, это будет делать более высокопоставленное руководство, наподобие ген. дира и гл. буха, у которых имеются админ права
|
|||
11
Волшебник
27.03.24
✎
18:54
|
(10) Заберите у них админские права, а то они вам базу испортят
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |