Запрет на изменение и перенос в другую группу номенлатуры

1. medved577 1 11.01.17 19:51 Сейчас в теме
Имеется КА 2.2.1, хотелось бы разрешить редактирование номенклатуры одному человеку - тут все понятно, другим только на просмотр - тут тоже более менее, а вот как можно запретить перенос элементов справочника в другую группу? Кто делал подобное? Может есть у кого пример реализации?
По теме из базы знаний
Найденные решения
13. YNik 12.01.17 21:29 Сейчас в теме
(12), В конфигураторе, в конфигурации, Общие, Подписки на события.
Перед этим в Общих модулях создаешь свой общий модуль (если еще нет своего), например МойОбщийМодуль, в нем создаешь процедуру, например:
Процедура ОбработкаЗаписиСправочникаНоменклатура (Источник, Отказ) Экспорт
   Если Не Источник.ЭтоНовый() И (Источник.Родитель <> Источник.Ссылка.Родитель) Тогда
        НельзяМенятьРодителя = ...; //условие, определяющее, кому нельзя менять родителя
        Если НельзяМенятьРодителя Тогда
            Отказ = Истина;
            Сообщить("Нет прав на изменение группы номенклатуры!");
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
Показать

Потом в Подписках на события добавляешь свою подписку, в источнике указываешь СправочникОбъект.Номенклатура, в событии - ПередЗаписью, в обработчике - свою процедуру МойОбщийМодуль.ОбработкаЗаписиСправочникаНоменклатура.

vitaminich; AlexeyPapanov; Intercititude; +3 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. YNik 12.01.17 05:01 Сейчас в теме
(1), делал такое в УТ 10.3, добавлял в подписку на события перед записью в справочник обработчик, в котором делал проверку:
	Если (ТипЗнч(Источник) = Тип("СправочникОбъект.Номенклатура")) И 
			Не Источник.ЭтоНовый() И (Источник.Родитель <> Источник.Ссылка.Родитель) Тогда
		НельзяМенятьРодителя = ...; //условие, определяющее, кому нельзя менять родителя
		Если НельзяМенятьРодителя Тогда
			Отказ = Истина;
			Сообщить("Нет прав на изменение группы номенклатуры!");
			Возврат;
		КонецЕсли;
	КонецЕсли;
Показать
3. medved577 1 12.01.17 14:25 Сейчас в теме
(2) Т.е. в процедуру ПриЗаписи добавить обработчик?
4. tailer2 12.01.17 14:27 Сейчас в теме
(3) перед записью
и не "в процедуру", а в подписку
6. medved577 1 12.01.17 14:43 Сейчас в теме
(4) не совсем понял - что такое "подписка" ?
8. tailer2 12.01.17 14:49 Сейчас в теме
10. medved577 1 12.01.17 15:48 Сейчас в теме
(8)А что такое "подписка" ? Это где?
11. Hallon 12.01.17 16:00 Сейчас в теме
(10) Подписка на событие имеется ввиду.
12. medved577 1 12.01.17 17:19 Сейчас в теме
(11)Я просто не очень силен еще в 8, это где находится
13. YNik 12.01.17 21:29 Сейчас в теме
(12), В конфигураторе, в конфигурации, Общие, Подписки на события.
Перед этим в Общих модулях создаешь свой общий модуль (если еще нет своего), например МойОбщийМодуль, в нем создаешь процедуру, например:
Процедура ОбработкаЗаписиСправочникаНоменклатура (Источник, Отказ) Экспорт
   Если Не Источник.ЭтоНовый() И (Источник.Родитель <> Источник.Ссылка.Родитель) Тогда
        НельзяМенятьРодителя = ...; //условие, определяющее, кому нельзя менять родителя
        Если НельзяМенятьРодителя Тогда
            Отказ = Истина;
            Сообщить("Нет прав на изменение группы номенклатуры!");
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
Показать

Потом в Подписках на события добавляешь свою подписку, в источнике указываешь СправочникОбъект.Номенклатура, в событии - ПередЗаписью, в обработчике - свою процедуру МойОбщийМодуль.ОбработкаЗаписиСправочникаНоменклатура.

vitaminich; AlexeyPapanov; Intercititude; +3 Ответить
7. spacecraft 12.01.17 14:46 Сейчас в теме
(1) если всем, кроме одного, только просмотр... зачем еще что-то городить?
Или даже для этого одного тоже запрет на перенос в другую группу?
9. medved577 1 12.01.17 15:47 Сейчас в теме
(7) задача стоит ограничить доступ до уровня - посмотри, добавь в документ
5. DrBlack 23 12.01.17 14:32 Сейчас в теме
На УПП можно решить с помощью RLS, указав права доступа на конкретные группы, на КА не помню уже, есть RLS или нет...
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день