БП 3.0.169.18 Как перечитать документ после заполнения программно?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
(1) о том, как именно вы выполняете заполнение документа, мы должны догадаться?
Вот такая обработка
&НаСервере
Процедура ЗаполнитьРасшифровкуНаСервере()
ТЗ = Док.Товары.Выгрузить();
Для Каждого СтрРез Из ТЗ Цикл
СтрРез.Сумма = СтрРез.Сумма*Процент/100;
КонецЦикла;
ЗаполнитьТЧ(Док,ТЗ)
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьТЧ(Док,ТЗ) Экспорт
Докум = Док.ПолучитьОбъект();
ТЧ = Докум.Товары;
ТЧ.Загрузить(ТЗ);
Если Док.Проведен Тогда
Докум.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Докум.Записать();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьРасшифровку(Команда)
ЗаполнитьРасшифровкуНаСервере();
Закрыть();
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Док = Параметры.ОбъектыНазначения[0];
КонецПроцедуры
Показать
(5) Я правильно понимаю, что на форме нужного документа есть кнопка, по которой открывается форма внешней обработки, выполняется её код:
и открывается форма внешней обработки заполнения, в которой есть кнопка, вызывающая
?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
и открывается форма внешней обработки заполнения, в которой есть кнопка, вызывающая
&НаКлиенте
Процедура ЗаполнитьРасшифровку(Команда)
?
(8) Чтобы можно было перечитать документ после заполнения, нужно передать форму документа в виде владельца для открываемой формы, через один из параметров открытия формы.
Далее, сделать так:
Далее, сделать так:
&НаКлиенте
Процедура ЗаполнитьРасшифровку(Команда)
ЗаполнитьРасшифровкуНаСервере();
// Владелец.Обновить(); - вся форма целиком
//ИЛИ
//Владелец.ОбновитьОтображениеДанных(Владелец.Элементы.<ИмяТабличнойЧастиНаФорме>);
Закрыть();
КонецПроцедуры
(14) Ваша обработка со сведениями о себе, значит ничего дополнительно делать не нужно, владелец формы задан.
Не нужно заполнять через ссылку, достаточно сделать:
Не нужно заполнять через ссылку, достаточно сделать:
&НаКлиенте
Процедура ЗаполнитьРасшифровку(Команда)
ДокОбъект = ВладелецФормы.Объект;
Для Каждого СтрРез Из ДокОбъект.Товары Цикл
СтрРез.Сумма = СтрРез.Сумма * Процент / 100;
КонецЦикла;
Закрыть();
КонецПроцедуры
Прикрепленные файлы:
Пример_Заполнение.epf
(19)
Вообще-то мне нужно сделать обработку для документа "Поступление на расчетный счет".
(16) Чтобы в цикле по строкам пересчитать сумму - не нужно тч выгружать в таблицу значений, все прекрасно считается на клиенте.
Оказывается упрощенную обработку показывать нельзя:(
Вообще-то мне нужно сделать обработку для документа "Поступление на расчетный счет".
если конфигурация на поддержке, то лучше через заполнение табличной части сделать, вот пример: https://infostart.ru/1c/articles/825702/
(9)
если конфигурация на поддержке, то лучше через заполнение табличной части сделать, вот пример: https://infostart.ru/1c/articles/825702/
Я просто написал пример обработки. Настоящая обработка гораздо сложнее.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот