Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Изменение ТЧ документа

Изменение ТЧ документа
Я
   Varyag712
 
14.02.20 - 10:20
По БП документы "закрыты" и нужно сделать отдельную форму для редактирования определенных показателей.
Создал табличный документ на форме и кнопку "Обновить", пробегаюсь циклом по ТЧ документа и обнвляю данные

ТабДок = ЭтаФорма.ТаблицаДанных;
СтрокаКонца = ТабДок.ВысотаТаблицы;    

Для Строка = 2 по СтрокаКонца Цикл

    КлючСтроки = ТабДок.Область("R"+Формат(Строка, "ЧГ=0")+"C1").Текст;
    СкидкаВнакладной = ТабДок.Область("R"+Формат(Строка, "ЧГ=0")+"C2").Текст;

            Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
                           |    ЗаявкаПоставщикаСодержание.Ссылка КАК Ссылка,
                           |    ЗаявкаПоставщикаСодержание.КлючСтроки КАК КлючСтроки,
                           |    ЗаявкаПоставщикаСодержание.НомерСтроки КАК НомерСтроки
                           |ИЗ
                           |    Документ.ЗаявкаПоставщика.Содержание КАК ЗаявкаПоставщикаСодержание
                           |ГДЕ
                           |    ЗаявкаПоставщикаСодержание.КлючСтроки = &КлючСтроки";
            Запрос.УстановитьПараметр("КлючСтроки",КлючСтроки);
                
            Выборка = Запрос.Выполнить().Выбрать();
            Выборка.Следующий();
            ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
                
Если СкидкаВнакладной <> "" Тогда ДокументОбъект.Содержание[Выборка.НомерСтроки - 1].СкидкаВСчетеВНакладной = СкидкаВнакладной КонецЕсли;

            ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); // вариант 1 - внутри цикла
            
        КонецЦикла;
        
        //ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); // вариант 2 - после цикла

Понятно, что если несколько документов, сделаю обход по документам и т.д.
Вопрос в том, что при сохранении каждой записи - раздувается история документа и делать сравнение версий становится проблемой
При сохранении документа после цикла - записывается только последняя запись
Как мне и рыбку съесть и в Кремль сесть ? т.е. сохранять документ 1 раз после всех изменений в ТЧ по нужным строкам
   bolobol
 
1 - 14.02.20 - 10:47
"Как ... сохранять документ 1 раз после всех изменений в ТЧ по нужным строкам" - ответ в самом вопросе, если убрать Кремль и рыбку
   catena
 
2 - 14.02.20 - 10:51
Получать объект тоже надо вне цикла. Если это один и тот же документ, конечно.
   Varyag712
 
3 - 14.02.20 - 12:07
(2) Спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.