Имя: Пароль:
1C
1С v8
Добавление 2х независимых таблиц в ряд без СКД
0 JuixyJes
 
09.04.24
16:06
Добрый день, господа. Подскажите, хочется вывести 2 таблицы разного содержания, разного заполнения в 1 табличный документ. Подскажите, как это сделать?
1 АгентБезопасной Нацио
 
09.04.24
16:09
"Спроси у мужика в кепке!"© (Синтакс-помощник читать не пробовали?)
2 JuixyJes
 
09.04.24
16:10
(1) Что конкретно я должна прочитать в Синтакс-помощнике?)
3 JuixyJes
 
09.04.24
16:11
Если вы имеете ввиду Присоединить(), то хочется понимать, что в итоге я получу
4 Лирик
 
09.04.24
17:11
Дарю:

Функция ДвеТаблицыВОдинДокументБезСКД(ПерваяТаблица, ВтораяТаблица)

    ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("МакетРабочейТаблицы");
    
    ОбластьШапкаПервойТаблицы     = Макет.ПолучитьОбласть("ШапкаПервая");
    ОбластьШапкаВторойТаблицы     = Макет.ПолучитьОбласть("ШапкаВторая");
    ОбластьСтрокиПервойТаблицы     = Макет.ПолучитьОбласть("СтрокаПервая");
    ОбластьСтрокиВторойТаблицы     = Макет.ПолучитьОбласть("СтрокаВторая");
    
    ТабДок.Вывести(ОбластьШапкаПервойТаблицы);
    Для каждого Строка Из ПерваяТаблица Цикл
            
        ОбластьСтрокиПервойТаблицы.Параметры.Заполнить(Строка);    
        ТабДок.Вывести(ОбластьСтрокиПервойТаблицы);
    
    КонецЦикла;
    
    ТабДок.Вывести(ОбластьШапкаВторойТаблицы);
    Для каждого Строка Из ВтораяТаблица Цикл
            
        ОбластьСтрокиВторойТаблицы.Параметры.Заполнить(Строка);    
        ТабДок.Вывести(ОбластьСтрокиВторойТаблицы);
    
    КонецЦикла;
    
    Возврат ТабДок;

КонецФункции // ДвеТаблицыВОдинДокументБезСКД()
5 lodger
 
09.04.24
17:16
(4) так ты в столбик сложил, автору надо в ряд!
6 Лирик
 
09.04.24
17:31
Опять дарю:

Функция ДвеТаблицыВОдинДокументБезСКДВРяд(ПерваяТаблица, ВтораяТаблица)

    ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("МакетРабочейТаблицы");
    
    ОбластьШапкаПервойТаблицы     = Макет.ПолучитьОбласть("ШапкаПервая");
    ОбластьШапкаВторойТаблицы     = Макет.ПолучитьОбласть("ШапкаВторая");
    
    ТабДок.Вывести(ОбластьШапкаПервойТаблицы);
    ТабДок.Присоединить(ОбластьШапкаВторойТаблицы);
    
    КоличествоВПервой = ПерваяТаблица.Количество();
    КоличествоВоВторой = ВтораяТаблица.Количество();
    
    МакcимальноСтрок = Макс(КоличествоВПервой, КоличествоВоВторой);
    
    Для Сч = 1 По МакcимальноСтрок Цикл
        
        ОбластьСтрокиПервойТаблицы     = Макет.ПолучитьОбласть("СтрокаПервая");
        ОбластьСтрокиВторойТаблицы     = Макет.ПолучитьОбласть("СтрокаВторая");
        
        Если Сч <= КоличествоВПервой Тогда
            ОбластьСтрокиПервойТаблицы.Параметры.Заполнить(ПерваяТаблица[Сч-1]);    
        КонецЕсли;
        Если Сч <= КоличествоВоВторой Тогда
            ОбластьСтрокиВторойТаблицы.Параметры.Заполнить(ВтораяТаблица[Сч-1]);    
        КонецЕсли;

        ТабДок.Вывести(ОбластьСтрокиПервойТаблицы);
        ТабДок.Присоединить(ОбластьСтрокиВторойТаблицы);
        
    КонецЦикла;
    
    Возврат ТабДок;

КонецФункции // ДвеТаблицыВОдинДокументБезСКДВРяд()

Вопрос из разряда как приготовить два разных блюда на одной кухне из разных продуктов.
7 АгентБезопасной Нацио
 
09.04.24
18:10
(2) Судя по вопросу - весь раздел про ТабличныйДокумент.
(3) Вы получите ровно то, что присоедините (вообще всё, что сделаете. Ибо в отличие от СКД - Табличный документ не "умничает", а делает ровно то, что написано - не больше и не меньше).
Если непонятно - попросите вашего программиста вам объяснить.
8 youalex
 
09.04.24
20:37
(0) если в ряд, то есть метод ВставитьОбласть() например, но с ним нужно аккуратно. Или (6)
9 JuixyJes
 
12.04.24
15:53
В общем и целом, я сделала через Присоединить() и 3 ТабДока, 1 - тот что реквизит и 2 - созданные программно. Вопрос новый. Если я формирую этот документ, потом снова формирую, почему-то вся таблица смещается, предполагаю, что присоединение остается, можно как то очистить полностью ТабДок?
10 JuixyJes
 
12.04.24
16:04
Всё,решила, добавила ещё 1 табдок :D