![]() |
|
Изменить реквизит документа в закрытом периоде | ☑ | ||
---|---|---|---|---|
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
|
Может помочь найти путь: ПриЗаписиПерепроводить, ПередЗаписьюНаСервере, РежимЗаписи
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |