|   |   | 
| 
 | Изменить реквизит документа в закрытом периоде | ☑ | ||
|---|---|---|---|---|
| 0
    
        Master5550 13.03.19✎ 14:47 | 
        Бух 3.0
 В документ Реализация добавлен новый реквизит "Примечание", теперь его надо редактировать в закрытом периоде. Делаю рядом кнопку и вешаю на нее процедуру: &НаКлиенте Процедура ДобавитьПримечание(Команда) Оповещение = Новый ОписаниеОповещения("ПослеВводаСтроки", ЭтотОбъект); ПоказатьВводСтроки(Оповещение,,"Введите примечание",0, Истина); КонецПроцедуры &НаКлиенте Процедура ПослеВводаСтроки(Результат, Параметры) Экспорт Если Не Результат = Неопределено Тогда Примечание = Результат; ЭтотОбъект.Записать(); КонецЕсли; КонецПроцедуры В общем модуле добавляю строчку Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Источник.ОбменДанными.Загрузка = истина; //Строчка добавлена Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; Источник.ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи); ПроверитьДатыЗапретаИзмененияДанных(Источник, Отказ); КонецПроцедуры Ошибка: Действие не может выполняться в режиме загрузки данных. Как правильно сделать? P.S. Через доп. сведения не предлагать, бухам не нравится лишнюю кнопочку нажимать, надо чтобы на форме реквизит был | |||
| 1
    
        RomanYS 13.03.19✎ 14:53 | 
        (0) Надо избежать проведения документа, тебе это не удалось.
 А твоя "//Строчка добавлена" вроде тупо запрет ломает, его можно отключить штатными средствами | |||
| 2
    
        Master5550 13.03.19✎ 15:02 | 
        (1) Чего делать то?     | |||
| 3
    
        OldCondom 13.03.19✎ 15:13 | 
        Я такое слепил. У нас некоторые документы ОС надо править задним числом.
 &Перед("ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей") Процедура тратата_ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей(Источник, Отказ, Замещение) // Параметры амортизации ОС(несолько документов) доработаны, их можно переносить в прошлые периоды. // Здесь проверяем, это документы параметров ОС или нет. ДокРегистратор = ПолучитьДокументРегистратор(Источник); Если НЕ ДокРегистратор = Неопределено Тогда НаборНТ_ПериодПараметровОС = РегистрыСведений.НТ_ПериодПараметровОС.СоздатьНаборЗаписей(); НаборНТ_ПериодПараметровОС.Отбор.Документ.Установить(ДокРегистратор); НаборНТ_ПериодПараметровОС.Прочитать(); Для каждого ЗаписьНабор Из НаборНТ_ПериодПараметровОС Цикл //Если есть данные, дату запрета не проверять. Источник.ОбменДанными.Загрузка = Истина; Прервать; КонецЦикла; КонецЕсли; КонецПроцедуры То есть при нужном условии я указываю, что режим загрузки = Истина. А уже сам типовой код по этому режиму проверку не выполняет. | |||
| 4
    
        RomanYS 13.03.19✎ 15:25 | 
        (2) вроде очевидно: записывать без проведения,  ОбменДанными.Загрузка устанавливать в форме по условию     | |||
| 5
    
        RomanYS 13.03.19✎ 15:26 | 
        Может помочь найти путь: ПриЗаписиПерепроводить, ПередЗаписьюНаСервере, РежимЗаписи     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |