0
Varyag712
14.02.20
✎
10:20
|
По БП документы "закрыты" и нужно сделать отдельную форму для редактирования определенных показателей.
Создал табличный документ на форме и кнопку "Обновить", пробегаюсь циклом по ТЧ документа и обнвляю данные
ТабДок = ЭтаФорма.ТаблицаДанных;
СтрокаКонца = ТабДок.ВысотаТаблицы;
Для Строка = 2 по СтрокаКонца Цикл
КлючСтроки = ТабДок.Область("R"+Формат(Строка, "ЧГ=0")+"C1").Текст;
СкидкаВнакладной = ТабДок.Область("R"+Формат(Строка, "ЧГ=0")+"C2").Текст;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗаявкаПоставщикаСодержание.Ссылка КАК Ссылка,
| ЗаявкаПоставщикаСодержание.КлючСтроки КАК КлючСтроки,
| ЗаявкаПоставщикаСодержание.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.ЗаявкаПоставщика.Содержание КАК ЗаявкаПоставщикаСодержание
|ГДЕ
| ЗаявкаПоставщикаСодержание.КлючСтроки = &КлючСтроки";
Запрос.УстановитьПараметр("КлючСтроки",КлючСтроки);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
Если СкидкаВнакладной <> "" Тогда ДокументОбъект.Содержание[Выборка.НомерСтроки - 1].СкидкаВСчетеВНакладной = СкидкаВнакладной КонецЕсли;
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); // вариант 1 - внутри цикла
КонецЦикла;
//ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); // вариант 2 - после цикла
Понятно, что если несколько документов, сделаю обход по документам и т.д.
Вопрос в том, что при сохранении каждой записи - раздувается история документа и делать сравнение версий становится проблемой
При сохранении документа после цикла - записывается только последняя запись
Как мне и рыбку съесть и в Кремль сесть ? т.е. сохранять документ 1 раз после всех изменений в ТЧ по нужным строкам
|
|