Доброе утро! Возник такой вроде бы простенький вопрос, но который решить никак не удается. Вообщем перейдем к сути: В форме списка документа я добавил кнопку которая вызывает форму изменения комментария, я получаю нужное мне значения, но записать этот документ я никак не могу, программа ругается: "Редактирование данных этого периода запрещено. Изменения не могут быть записаны...". как обойти эту ошибку?
---
Дарю рабочий код:

```1c
    Границы = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных;

    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));

    ДокументОб = Документ.ПолучитьОбъект();
    ДокументОб.Комментарий = "Обошли запрет";
    ДокументОб.Записать(РежимЗаписиДокумента.Запись);

    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Границы;
```
---
УстановитьПривилегированныйРежим(истина); вот решение проблемы и границы все как надо устанавливаются!
---
Вот сам код:
ТекСтрока = ЭтаФорма.ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
ТекОбъект = ТекСтрока.ПолучитьОбъект();
ТекОбъект.ОбменДанными.Загрузка = Истина;
ТекОбъект.Записать(РежимЗаписиДокумента.Запись);
---
А почему это ошибка: вы пытаетесь изменить документ в закрытом периоде, программа не дает.
---
Я пишу:

```1c
    ТекОбъект.ОбменДанными.Загрузка = Истина;
    ТекОбъект.Записать(РежимЗаписиДокумента.Запись);
```

В других программах это прокатывает и дает записывать!
---
Необходимо правильно режим записи подобрать
---
там режимов записи только 3. Запись, проведение и отмена проведения.
---
Режим ОбменДанными.Загрузка ничего не даст, так как проверка вынесена в подписку на событие "ПриЗаписи" и в процедуре подписки режим обмена данными не проверяется.

Как вариант решения: перед записью документа сдвигать дату запрета для текущего пользователя , а потом возвращать обратно. Для текущего пользователя границы даты запрета лежат в параметрах сеанса.
---
Это точно так происходит?? Потому что я в бухгалтерии 3.0 так делал у меня прокатило!
А вот в УТ 10.3 нифига!
---
Механизмы в конфигурация на УФ отличаются от старых конфигураций.
---
10.3 это обычные формы, разве нет? У меня да :)
---
Да обычные
---
10.3 обычные, а Бух 3.0 уф. Поэтому то что канает в БУХ 3.0 не канает в УТ 10.
---
А как тогда сделать чтобы не обращало внимание на дату запрета редактирования??
---
а, извините, вы УФ имели ввиду БП 3.0. Я запарилась
---
Да!
---
Я ж написал, убери даты запрета из параметра сеанса, потом верни обратно.
---
Дарю рабочий код:

```1c
    Границы = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных;

    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));

    ДокументОб = Документ.ПолучитьОбъект();
    ДокументОб.Комментарий = "Обошли запрет";
    ДокументОб.Записать(РежимЗаписиДокумента.Запись);

    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Границы;
```
---
неа, так тоже не прокатывает!
---
Да ладно, покажи свой код.
---
Г
```1c
    раницы = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));
    ТекСтрока = ЭтаФорма.ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
    ТекОбъект = ТекСтрока.ПолучитьОбъект();
    Форма=Документы.ПоступлениеТоваровУслуг.ПолучитьФорму("Форма");
    Форма.Комментарий=ТекОбъект.Комментарий;
    Форма.ОткрытьМодально();
    ТекОбъект.Записать(РежимЗаписиДокумента.Запись);
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Границы;
    ЭтаФорма.Обновить();
```
---
```1c
    Границы = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных;
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));
    ТекСтрока = ЭтаФорма.ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
    ТекОбъект = ТекСтрока.ПолучитьОбъект();
    //!!!
    ТекОбъект.комментарий = ТвойКомментарий;
    ТекОбъект.Записать(РежимЗаписиДокумента.Запись);
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Границы;
    //!! а потом уже:

    Форма=Документы.ПоступлениеТоваровУслуг.ПолучитьФорму("Форма");
    Форма.Комментарий=ТекОбъект.Комментарий;
    Форма.ОткрытьМодально();

    ЭтаФорма.Обновить();
```
---
"Не прокатывает" означает, что комментарий не меняется у документа или что по-прежнему ругается на период?
---
Ругается на права, хотя права полные.
---
Говорили, что ругается на период, теперь про права говорите. Покажите, текст, который дает программа.
---
Добрый день!

Столкнулся с такой проблемой в УТ 10.3. платформа 8.1.

Привилегированный режим установить по "УстановитьПривилегированныйРежим(истина); " не получается. Не поддерживает платформа данный метод.

Привилегированный режим можно установить только на общем модуле конфигурации. Каким и является модуль "ПолныеПрава". Повторюсь, делаю на УТ 10.3 платформа 8.1.
Благодаря разработчикам этой конфигурации, они добавили пару строк в процедуру установки даты запрета, а именно:

```1c
    Если РольДоступна("ПолныеПрава") И НЕ Константы.ПрименятьДатуЗапретаДляПолныхПрав.Получить() Тогда
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));

    Возврат;
    КонецЕсли;
```

Написал обработку содержащую следующий код, который выполнил отмену проведения документа в закрытом периоде:

```1c
    ЗначениеКонстанты = Константы.ПрименятьДатуЗапретаДляПолныхПрав.Получить();
    Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(Ложь);

    ПолныеПрава.УстановитьПараметрГраницыЗапретаИзмененияДанных();

    ОбъектДокумента = ДокументРеализации.ПолучитьОбъект();

    ОбъектДокумента.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(ЗначениеКонстанты);

    ПолныеПрава.УстановитьПараметрГраницыЗапретаИзмененияДанных();
```

Суть алгоритма тот же. Скинуть дату запрета в параметре сеанса, после сделать манипуляции с документом и обратно восстановить дату запрета в параметре сеанса.
---
нет я из формы списка вызываю свою форму в которой изменяю комментарий и потом его присваиваю документу.
---
поэтому у меня все правильно
---
УстановитьПривилегированныйРежим(истина); вот решение проблемы и границы все как надо устанавливаются!
---
Код по очистке параметров сеанса вообще-то я дал.
---
Извини, ошибся!
---
спасибо большое, Ваш код помог))