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

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

В файловом варианте данное условие работает. В клиент серверном нет. Подскажите пожалуйста, как правильно сделать? Где что изменить? Я догадываюсь что где то надо
```1c
    &НаКлиенте
```
 , но где не знаю.
---
Если не портить форму, то можно создать подписку на событие перед записью и туда прописать
---
Либо в модуле объекта, либо отдельной подпиской на событие.
Документ можно изменить групповой обработкой, провести повторно из формы списка,....(масса других вариантов)
---
В модуле объекта нет директив, все обрабатывается всегда на сервере. То что вы написали не должно зависеть от варианта запуска
---
ну вот не работает
(4) вечером попробую, раньше никак, отпишусь
(5) конфигурация снята
(7) спасибо, посмотрю
(8) Документ можно изменить групповой обработкой, провести повторно из формы списка,....(масса других вариантов) так то оно так, но пользователи продавцы девушки, которые не знают что это такое. Все это затевается потому, что они в "пылу" работы начинают делать новую продажу в проведенном документе и перепроводят
(9) в файловом варианте как раз все устраивает
---
ну тут хз. Сделай красную кнопку "Завершить сделку"
Сам запиши, проведи, закрой документ. Можешь даже чистую форму им открыть.
Просто это задача больше дисциплины сотрудника.
В "пылу" можно и забыть провести документ и дальше продажи набивать в него
---
Событие ПередЗаписьюНаСервере если интерактивно
---
Если не портить форму, то можно создать подписку на событие перед записью и туда прописать
---
Советую использовать расширение, для подписки на событие нужно снимать конфигурации с поддержки
---
Конфигурация изменена с сохранением поддержки.

Так что здесь не имеет особой разницы выбора решения. Расширения штука хорошая только в том случае, если конфигурация не изменена, для сломанной без разницы.
---
Поищите в модуле инструкции #Если Клиент...
---
Вывод сообщения с сервера немного сложнее, чем Сообщить()
В остальном все правильно, так и надо делать, в модуле объекта ПередЗаписью().
Еще надо учесть возможность сначала отменить проведение, потом поменять и потом провести обратно, приведенный вариант это не запрещает.
---
Вообщем, попробовал через создать подписку на событие ПередЗаписью и понял что пока маловато знаний. В общем модуле в свойствах поставил галочку "клиент" и вставил свой код. И 1С заругалось:

```1c
    {ОбщийМодуль.РеализацияПередЗаписью.Модуль(4,40)}: Переменная не определена (ЭтотОбъект)
    Если НЕ РольДоступна("ПолныеПрава") И <<?>>ЭтотОбъект.Проведен Тогда (Проверка: Сервер)
    {ОбщийМодуль.РеализацияПередЗаписью.Модуль(4,10)}: Процедура или функция с указанным именем не определена (РольДоступна)
    Если НЕ <<?>>РольДоступна("ПолныеПрава") И ЭтотОбъект.Проведен Тогда (Проверка: Тонкий клиент)
```

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