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