Вход | Регистрация
 

Изменить реквизит документа в закрытом периоде

Изменить реквизит документа в закрытом периоде
Я
   Master5550
 
13.03.19 - 14:47
Бух 3.0
В документ Реализация добавлен новый реквизит "Примечание", теперь его надо редактировать в закрытом периоде.
Делаю рядом кнопку и вешаю на нее процедуру:
&НаКлиенте
Процедура ДобавитьПримечание(Команда)
    Оповещение = Новый ОписаниеОповещения("ПослеВводаСтроки",
        ЭтотОбъект);

    ПоказатьВводСтроки(Оповещение,,"Введите примечание",0, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПослеВводаСтроки(Результат, Параметры) Экспорт

    Если Не Результат = Неопределено Тогда
        Примечание = Результат;
    ЭтотОбъект.Записать();
    КонецЕсли;

КонецПроцедуры

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

Ошибка: Действие не может выполняться в режиме загрузки данных.
Как правильно сделать?

P.S. Через доп. сведения не предлагать, бухам не нравится лишнюю кнопочку нажимать, надо чтобы на форме реквизит был
 
 
   RomanYS
 
1 - 13.03.19 - 14:53
(0) Надо избежать проведения документа, тебе это не удалось.
А твоя "//Строчка добавлена" вроде тупо запрет ломает, его можно отключить штатными средствами
   Master5550
 
2 - 13.03.19 - 15:02
(1) Чего делать то?
   OldCondom
 
3 - 13.03.19 - 15:13
Я такое слепил. У нас некоторые документы ОС надо править задним числом.
&Перед("ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей")
Процедура тратата_ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей(Источник, Отказ, Замещение)

    // Параметры амортизации ОС(несолько документов) доработаны, их можно переносить в прошлые периоды.

    // Здесь проверяем, это документы параметров ОС или нет. 

    ДокРегистратор = ПолучитьДокументРегистратор(Источник);
    Если НЕ ДокРегистратор = Неопределено Тогда
        НаборНТ_ПериодПараметровОС = РегистрыСведений.НТ_ПериодПараметровОС.СоздатьНаборЗаписей();
        НаборНТ_ПериодПараметровОС.Отбор.Документ.Установить(ДокРегистратор);
        НаборНТ_ПериодПараметровОС.Прочитать();
        Для каждого ЗаписьНабор Из НаборНТ_ПериодПараметровОС Цикл
            //Если есть данные, дату запрета не проверять.

            Источник.ОбменДанными.Загрузка = Истина;
            Прервать;
        КонецЦикла;
    КонецЕсли;
    
КонецПроцедуры



То есть при нужном условии я указываю, что режим загрузки = Истина. А уже сам типовой код по этому режиму проверку не выполняет.
   RomanYS
 
4 - 13.03.19 - 15:25
(2) вроде очевидно: записывать без проведения,  ОбменДанными.Загрузка устанавливать в форме по условию
   RomanYS
 
5 - 13.03.19 - 15:26
Может помочь найти путь: ПриЗаписиПерепроводить, ПередЗаписьюНаСервере, РежимЗаписи

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.