Добавление "регистра сведений" на форму справочника
1. Есть справочник "Номенклатура". На его форму добавляю созданный мною Регистр сведений, как Табличное поле с типом "РегистрСведенийСписок" (для просмотра/добавления/редактирования записей данного регистра) Делаю отбор по владельцу = номенклатура и т.д.
2. Специально для нового регистра была создана отдельная роль.
Вопросы:
1. По ТЗ в регистре сведений есть реквизит "Пользователь", в который пишется текущий пользователь, который добавляет/изменяет значения записи регистра, выведенного на форму. Но в нашем случае идет ручное добавление/изменение записи в регистр в таб.поле на форме справочника "Номенклатура". Есть ли в таком случае возможность заполнять реквизит "Пользователь" регистра сведений програмно?
2. Для новой роли (созданной специально для нового регистра(по ТЗ)) должна быть возможность править записи регистра ТОЛЬКО из формы справочника "Номенклатура". А вот изменять/добавлять напрямую записи в регистре для новой роли запрещено. Как это реализовать? Ведь фактически для новой роли я даю доступ к редактированию записей регистра. И вообще возможно ли это - разграничить в моем случае добавление записей в новый регистр для пользаков с новой ролью через форму справочника "Номенклатура" и напрямую?
2. Специально для нового регистра была создана отдельная роль.
Вопросы:
1. По ТЗ в регистре сведений есть реквизит "Пользователь", в который пишется текущий пользователь, который добавляет/изменяет значения записи регистра, выведенного на форму. Но в нашем случае идет ручное добавление/изменение записи в регистр в таб.поле на форме справочника "Номенклатура". Есть ли в таком случае возможность заполнять реквизит "Пользователь" регистра сведений програмно?
2. Для новой роли (созданной специально для нового регистра(по ТЗ)) должна быть возможность править записи регистра ТОЛЬКО из формы справочника "Номенклатура". А вот изменять/добавлять напрямую записи в регистре для новой роли запрещено. Как это реализовать? Ведь фактически для новой роли я даю доступ к редактированию записей регистра. И вообще возможно ли это - разграничить в моем случае добавление записей в новый регистр для пользаков с новой ролью через форму справочника "Номенклатура" и напрямую?
По теме из базы знаний
Найденные решения
Как решил:
1. В модуле набора записей регистра сведений в процедуре "ПередЗаписью" заполнил текущего пользователя. (как тут и советовали)
2. Реализовал достаточно просто: для моего регистра создал "ФормуСписка", и в процедуре "ПередОткрытием" написал Отказ=Истина;
То есть, из справочника регистр редактируется/просматривается, а вот через Операции и т.д. его открыть нельзя.
1. В модуле набора записей регистра сведений в процедуре "ПередЗаписью" заполнил текущего пользователя. (как тут и советовали)
2. Реализовал достаточно просто: для моего регистра создал "ФормуСписка", и в процедуре "ПередОткрытием" написал Отказ=Истина;
То есть, из справочника регистр редактируется/просматривается, а вот через Операции и т.д. его открыть нельзя.
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. Можете в модуле набора записей регистра сведений прописать процедуру "ПередЗаписью" и там заполнять текущего пользователя
2. В форме списка и в форме записи регистра сведений при создании на сервере проверяйте наличие нужных прав и ограничивайте доступ там
1. Можете в модуле набора записей регистра сведений прописать процедуру "ПередЗаписью" и там заполнять текущего пользователя
2. В форме списка и в форме записи регистра сведений при создании на сервере проверяйте наличие нужных прав и ограничивайте доступ там
таблицузначений из справочника (преобразованной в массив, есть функции преобразования типовые) передаешь в общий модуль и при включенном привилегированом режиме корректируешь что нужно. пользователю права давать необязательно
Как вариант добавить подписку на событие при записи справочника и корректировку в общем модуле
Как вариант добавить подписку на событие при записи справочника и корректировку в общем модуле
1. В форме записи регистра
2.
2.1. В форме элемента номенклатуры
2.2. В форме записи регистра
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.ДатаИзменения=ТекущаяДата();
ТекущийОбъект.Изменил=ПараметрыСеанса.ТекущийПользователь;;
КонецПроцедуры
2.
2.1. В форме элемента номенклатуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ПараметрыФормы = Новый Структура("Ключ, ИзНоменклатуры", Элементы.Список.ТекущаяСтрока, Истина);
ОткрытьФорму("РегистрСведений.МойРегистр.ФормаЗаписи", ПараметрыФормы, , , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
2.2. В форме записи регистра
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не Параметры.Свойство("ИзНоменклатуры") ИЛИ Не Параметры.ИзНоменклатуры Тогда
Отказ=Истина;
Сообщить("Вводите данные в форме справочника ""Номенклатура"".");
КонецЕсли;
КонецПроцедуры
Показать
Как решил:
1. В модуле набора записей регистра сведений в процедуре "ПередЗаписью" заполнил текущего пользователя. (как тут и советовали)
2. Реализовал достаточно просто: для моего регистра создал "ФормуСписка", и в процедуре "ПередОткрытием" написал Отказ=Истина;
То есть, из справочника регистр редактируется/просматривается, а вот через Операции и т.д. его открыть нельзя.
1. В модуле набора записей регистра сведений в процедуре "ПередЗаписью" заполнил текущего пользователя. (как тут и советовали)
2. Реализовал достаточно просто: для моего регистра создал "ФормуСписка", и в процедуре "ПередОткрытием" написал Отказ=Истина;
То есть, из справочника регистр редактируется/просматривается, а вот через Операции и т.д. его открыть нельзя.