1. medved577 1 11.01.17 19:51 Сейчас в теме

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

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

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

Остальные ответы
Избранное Подписка Сортировка: Древо
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), В конфигураторе, в конфигурации, Общие, Подписки на события.
Перед этим в Общих модулях создаешь свой общий модуль (если еще нет своего), например МойОбщийМодуль, в нем создаешь процедуру, например:
Процедура ОбработкаЗаписиСправочникаНоменклатура (Источник, Отказ) Экспорт
   Если Не Источник.ЭтоНовый() И (Источник.Родитель <> Источник.Ссылка.Родитель) Тогда
        НельзяМенятьРодителя = ...; //условие, определяющее, кому нельзя менять родителя
        Если НельзяМенятьРодителя Тогда
            Отказ = Истина;
            Сообщить("Нет прав на изменение группы номенклатуры!");
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
Показать

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

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

Вакансии

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

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

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

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

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день