1с розница 2.3. Запрет на отмену проведения документа Реализация товара для определенной роли
Подскажите или направьте.
Пытаюсь программно запретить отмену проведения документа Реализация товаров, но не могу понять, что не так. Документ можно распровести.
Пытаюсь программно запретить отмену проведения документа Реализация товаров, но не могу понять, что не так. Документ можно распровести.
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если (РежимЗаписиДокумента.ОтменаПроведения = Истина)
И ПроверкаРоли("Кассир")
Тогда
Отказ = Истина;
Сообщить("нельзя!", СтатусСообщения.Важное);
Иначе
Сообщить("Не паботает ((", СтатусСообщения.Важное);
КонецЕсли;
// &ЗамерПроизводительности
Замер = ОценкаПроизводительностиРТКлиент.НачатьЗамер(Ложь,
"Документ.РеализацияТоваров.ФормаДокумента.Запись",
Ложь);
ПараметрыЗаписи.Вставить("Замер", Замер);
СобытияФормРТКлиент.ПередЗаписью(ЭтотОбъект, Отказ, ПараметрыЗаписи);
ПередЗаписьюКлиент(Отказ, ПараметрыЗаписи.РежимЗаписи);
// проверка на роль для ограничения отмены проводки
КонецПроцедуры
&НаСервере
Функция ПроверкаРоли(Роль)
Возврат РольДоступна(Роль);
КонецФункции
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) На самом деле, неправильное обращение с РежимЗаписи - это полбеды.
Главная ошибка в том, что вы эту проверку пытаетесь делать на форме. Тогда как распровести документ можно не только с его непосредственной формы. Например, можно это сделать из формы списка... Или внешней обработкой...
Главная ошибка в том, что вы эту проверку пытаетесь делать на форме. Тогда как распровести документ можно не только с его непосредственной формы. Например, можно это сделать из формы списка... Или внешней обработкой...
(8) Это значит то, что проверку надо осуществлять непосредственно перед записью самого объекта. А не в тысяче различных мест (форм, обработок, обменов), откуда эта запись может осуществляться.
Проще один раз пристрелить свою жену, чем каждую неделю стрелять её любовников... (С) Анекдот.
Проще один раз пристрелить свою жену, чем каждую неделю стрелять её любовников... (С) Анекдот.
(12)
Недопустимое значение параметра (параметр номер '1')
{Документ.РеализацияТоваров.Форма.ФормаДокумента.Форма(752)}: Возврат РольДоступна(Роль);
{Документ.РеализацияТоваров.Форма.ФормаДокумента.Форма(725)}: Если ПроверкаРоли("Кассир") Тогда Сообщить("Кассир", СтатусСообщения.Важное)
по причине:
Недопустимое значение параметра (параметр номер '1')
Если ПроверкаРоли("Кассир") Тогда Сообщить("Кассир", СтатусСообщения.Важное)
Иначе Сообщить("Не Кассир", СтатусСообщения.Важное)
КонецЕсли;
Если (ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения)
И ПроверкаРоли("Кассир")
Тогда
Отказ = Истина;
Сообщить("Запрет!", СтатусСообщения.Важное);
Иначе
Сообщить("Разрешено", СтатусСообщения.Важное);
КонецЕсли;
ПоказатьНедопустимое значение параметра (параметр номер '1')
{Документ.РеализацияТоваров.Форма.ФормаДокумента.Форма(752)}: Возврат РольДоступна(Роль);
{Документ.РеализацияТоваров.Форма.ФормаДокумента.Форма(725)}: Если ПроверкаРоли("Кассир") Тогда Сообщить("Кассир", СтатусСообщения.Важное)
по причине:
Недопустимое значение параметра (параметр номер '1')
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот