Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрет на отмену проводки.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
l2d808
1с8.3 Самописная. Клиент-сервер.
Добрый день, Уважаемое сообщество.
Столкнулся с вопросом. Как запретить пользователю отменять проводку (програмно), не используя роли?
podcast
l2d808 @ Сегодня, 12:10 необходимо зарегистрироваться для просмотра ссылки ,
Если всем пользователем то ПередЗаписью проверять РежимЗаписи если ОтменаПроведения то Отказ, а если нужны условия то нужо выкручивваться с них.
l2d808
Вышел с ситуации так:

в модуле документа прописал:
Процедура ОбработкаУдаленияПроведения(Отказ)
    Сообщить("Відміна проведення ЗАБОРОНЕНА! Зверніться до Адміністратора!");
    Отказ = Истина;
КонецПроцедуры


Если кому интересно, дальше можно ставить любое условие.
l2d808
Есть продолжение данной темы.
Как запретить програмно обычное и интерактисное удаление справочников и документов?
sava1
Трудно добавить роль?
Или "делаем ректально" - это наше второе Я ?
l2d808
sava1 @ Сегодня, 11:10 необходимо зарегистрироваться для просмотра ссылки ,
Суть в том что, роли раздаются направо и налево, а вот некоторые объекты должны быть стабильно не изменяемые.
А вот на счет "ректально" пожалуйста поподробнее...
Vladal
Цитата(l2d808 @ 14.08.18, 11:06) необходимо зарегистрироваться для просмотра ссылки
Как запретить програмно обычное и интерактисное удаление справочников и документов?

В модуле объекта обработчик ПередУдалением()

Процедура ПередУдалением(Отказ)
    Если Не РольДоступна ("СуперПуперАдминистратор") Тогда
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры


То же добавить и в приведенный выше код:
Процедура ОбработкаУдаленияПроведения(Отказ)
    Если Не РольДоступна ("СуперПуперАдминистратор") Тогда
        Сообщить("Відміна проведення ЗАБОРОНЕНА! Зверніться до Адміністратора!");
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры


Ответственным пользователям, которым разрешено помечать на удаление указанные объекты добавить роль "СуперПуперАдминистратор".
А вот что делать с обработкой удаления объектов с ИТС или из меню Операции - Удаление помеченных объектов - отобрать право "интерактивное удаление объектов".
l2d808
Цитата(Vladal @ 14.08.18, 13:52) необходимо зарегистрироваться для просмотра ссылки
В модуле объекта обработчик ПередУдалением()

Процедура ПередУдалением(Отказ)
    Если Не РольДоступна ("СуперПуперАдминистратор") Тогда
        Отказ = Истина;
    КонецЕсли;
КонецПроцедуры



К сожалению при попытке пометить на удаление, реакции никакой. эту процедуру при удалении 1с-ка не замечает.
sava1
Цитата(l2d808 @ 14.08.18, 14:06) необходимо зарегистрироваться для просмотра ссылки
при попытке пометить на удаление, реакции никакой


Пометка на удаление - это не удаление, а просто запись документа с доп. реквизитом IsMarked.
Анализироват надо перед записью - сравнивать объект и объектВбазе. И в случае пометки - отказываться от записи.
ed.kharkov
l2d808 @ Вчера, 14:06 необходимо зарегистрироваться для просмотра ссылки ,

В модуле объекта
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
      Если ПометкаУдаления
        И Не Ссылка.ПометкаУдаления
        И Не РольДоступна ("СуперПуперАдминистратор") Тогда
        
        Отказ = Истина;
      КонецЕсли;
КонецПроцедуры
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.