Выполнение условия в серверном режиме

1. makskov 89 25.06.19 22:20 Сейчас в теме
Доброго времени суток. Конфигурация УТ 11.2. Клиент-серверный режим. Конфигурация изменена с сохранением поддержки. Стоит задача сделать, чтобы обычные пользователи не могли изменить документ реализации после проведения. Вариант с датой запрета не подходит, надо чтоб сразу после проведения. Вставил условие в модуле объекта в процедуру "ПередЗаписью":

   Если НЕ РольДоступна("ПолныеПрава") И ЭтотОбъект.Проведен Тогда
	Сообщить("Для проведения данного документа необходима роль Полные права");
	Отказ = Истина;
	КонецЕсли;


В файловом варианте данное условие работает. В клиент серверном нет. Подскажите пожалуйста, как правильно сделать? Где что изменить? Я догадываюсь что где то надо
&НаКлиенте
, но где не знаю.
По теме из базы знаний
Найденные решения
4. buganov 200 26.06.19 06:39 Сейчас в теме
Если не портить форму, то можно создать подписку на событие перед записью и туда прописать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. dandykry 10 26.06.19 07:36 Сейчас в теме
(1) Либо в модуле объекта, либо отдельной подпиской на событие.
Документ можно изменить групповой обработкой, провести повторно из формы списка,....(масса других вариантов)
2. coollerinc 189 25.06.19 23:10 Сейчас в теме
В модуле объекта нет директив, все обрабатывается всегда на сервере. То что вы написали не должно зависеть от варианта запуска
10. makskov 89 26.06.19 12:01 Сейчас в теме
(2) ну вот не работает
(4) вечером попробую, раньше никак, отпишусь
(5) конфигурация снята
(7) спасибо, посмотрю
(8)
Документ можно изменить групповой обработкой, провести повторно из формы списка,....(масса других вариантов)
так то оно так, но пользователи продавцы девушки, которые не знают что это такое. Все это затевается потому, что они в "пылу" работы начинают делать новую продажу в проведенном документе и перепроводят
(9) в файловом варианте как раз все устраивает
11. dandykry 10 26.06.19 16:24 Сейчас в теме
(10) ну тут хз. Сделай красную кнопку "Завершить сделку"
Сам запиши, проведи, закрой документ. Можешь даже чистую форму им открыть.
Просто это задача больше дисциплины сотрудника.
В "пылу" можно и забыть провести документ и дальше продажи набивать в него
3. buganov 200 26.06.19 06:38 Сейчас в теме
Событие ПередЗаписьюНаСервере если интерактивно
4. buganov 200 26.06.19 06:39 Сейчас в теме
Если не портить форму, то можно создать подписку на событие перед записью и туда прописать
5. Bene_Valete 188 26.06.19 06:42 Сейчас в теме
(4) Советую использовать расширение, для подписки на событие нужно снимать конфигурации с поддержки
6. buganov 200 26.06.19 06:47 Сейчас в теме
(5)
Конфигурация изменена с сохранением поддержки.


Так что здесь не имеет особой разницы выбора решения. Расширения штука хорошая только в том случае, если конфигурация не изменена, для сломанной без разницы.
Bene_Valete; +1 Ответить
7. catena 110 26.06.19 07:28 Сейчас в теме
Поищите в модуле инструкции #Если Клиент...
9. starjevschik 26.06.19 08:29 Сейчас в теме
Вывод сообщения с сервера немного сложнее, чем Сообщить()
В остальном все правильно, так и надо делать, в модуле объекта ПередЗаписью().
Еще надо учесть возможность сначала отменить проведение, потом поменять и потом провести обратно, приведенный вариант это не запрещает.
12. makskov 89 26.06.19 22:27 Сейчас в теме
Вообщем, попробовал через создать подписку на событие ПередЗаписью и понял что пока маловато знаний. В общем модуле в свойствах поставил галочку "клиент" и вставил свой код. И 1С заругалось:
{ОбщийМодуль.РеализацияПередЗаписью.Модуль(4,40)}: Переменная не определена (ЭтотОбъект)
	Если НЕ РольДоступна("ПолныеПрава") И <<?>>ЭтотОбъект.Проведен Тогда (Проверка: Сервер)
{ОбщийМодуль.РеализацияПередЗаписью.Модуль(4,10)}: Процедура или функция с указанным именем не определена (РольДоступна)
	Если НЕ <<?>>РольДоступна("ПолныеПрава") И ЭтотОбъект.Проведен Тогда (Проверка: Тонкий клиент)

Пока не могу найти способ как мне эти переменные вытянуть. Может кто подскажет? Через запрос пройдет?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот