| 
    
 | 
        Вывести сумму ИтогоПоДокументу в Заголовок печатной формы         | 
☑ | 
    
        | 
    0
    
        TrAN    
       
    
    06.10.21 
            ✎
    12:04 
 | 
         
        Коллеги, доброго времени суток!
 
 В первый раз столкнулась с такой задачей.
 Есть печатная форма - 2 области: Шапка и СтрокаТЧ.
 В СтрокеТЧ параметры: Номенклатура (из ТЧ документа), Количество (из ТЧ документа), СуммаПоСтроке (кол-во * на цену из РегистраСведений на дату документа).
 В Шапке различные надписи и параметр ИтогоПоДокументу.
 Проблемма в том что сначало выводится Шапка, потом построчно СтрокаТЧ и сумма итого считается во время вывода, так как заранее запросы к РС не делаются.
 
 Как вариант написать функцию, которая считает СуммуПоДокументу и выводит её вместе с шапкой, но не хочется два раза запросы в цикле делать (один для Итого, второй для СуммыСтроки)
 
 Может что подскажите, буду благодарна!
 
 Спасибо!     
         | 
 | 
    
    
        | 
    1
    
        polosov    
       
    
    06.10.21 
            ✎
    12:15 
 | 
         
        (0) Не выводить сразу области, а сначала их сохранять в массив (Вместо ТабДок.Вывести(ОбластьШапка) сделать МойМассив.Добавить(ОбластьШапка))
 После получения итоговой суммы сделать МойМассив[0].Параметры.СуммаИтого = СуммаИтого;
 Потом вывести последовательно все области.     
         | 
 | 
    
    
        | 
    2
    
        Ёпрст    
       
    гуру 
    06.10.21 
            ✎
    12:23 
 | 
         
        (0) запоминай выведенную область шапка в результирующем табличном документе в переменную, потом установи текст в нужную ячейку этой области.     
         | 
 | 
    
    
        | 
    3
    
        Ёпрст    
       
    гуру 
    06.10.21 
            ✎
    12:27 
 | 
         
        Если что, вывести/присоеденить возвращает эту областт...     
         | 
 | 
    
    
        | 
    4
    
        TrAN    
       
    
    06.10.21 
            ✎
    12:32 
 | 
         
        (1) А как быть со Строкой?
 Я пыталась её в массив писать, но записывавется одна и таже строка 10 раз     
         | 
 | 
    
    
        | 
    5
    
        polosov    
       
    
    06.10.21 
            ✎
    13:05 
 | 
         
        (4) Да, область одна и та же. Тогда (2) попробуй. Ячейку можно перебором поискать по имени параметра или просто хардкодом прописать координаты, но это не совсем тру.     
         | 
 | 
    
    
        | 
    6
    
        Kassern    
       
    
    06.10.21 
            ✎
    13:09 
 | 
         
        (0) А нельзя использовать для шапки реквизит СуммаДокумента?     
         | 
 | 
    
    
        | 
    7
    
        TrAN    
       
    
    06.10.21 
            ✎
    13:11 
 | 
         
        (5) Если често, я не очень поняла способ из 3-го комментария     
         | 
 | 
    
    
        | 
    8
    
        polosov    
       
    
    06.10.21 
            ✎
    13:17 
 | 
         
        (7) Тогда в цикле перед добавлением строки каждый раз заново получай область строки. Это про метод (1)     
         | 
 | 
    
    
        | 
    9
    
        polosov    
       
    
    06.10.21 
            ✎
    13:19 
 | 
         
        +(8) 
     
     ТабДок = Новый ТабличныйДокумент;
     Масс = Новый Массив;
     Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
     Масс.Добавить(Макет.ПолучитьОбласть("Шапка"));
     
     Для Инд = 1 По 10 Цикл
         Обл = Макет.ПолучитьОбласть("Строка");
         Обл.Параметры.СтрокаПарам = Инд;
         Масс.Добавить(Обл);
     КонецЦикла;
     
     Для Инд = 0 По 10 Цикл
         ТабДок.Вывести(Масс[Инд]);
     КонецЦикла;     
         | 
 | 
    
    
        | 
    10
    
        TrAN    
       
    
    06.10.21 
            ✎
    13:23 
 | 
         
        (8) По этому методу получилось! Спасибо!
 Сейчас для практики буду пробывать метот из 9-го вашего комментатрия     
         | 
 | 
    
    
        | 
    11
    
        Ёпрст    
       
    гуру 
    06.10.21 
            ✎
    14:03 
 | 
         
        (7) 
 
 
 Вася = ТабДок.Вывести(ОбластьШапка);
 Цикл
 .................
    ТабДок.Вывести(ОбластьСтрока);
 КонецЦикла;
 Вася.Область(1,1,1,1).Текст = ИтогиПоЦиклу;
      
         | 
 |