Имя: Пароль:
1C
1С v8
В макете 2 области в одной строке
0 Faust21
 
21.04.23
15:41
Доброго дня.
Пытаюсь реализовать заполнение областей в макете. Подскажите как сделать так, чтобы в одной строке было 2 области, которые я мог заполнять по очереди.
Объясню на примере:
В макете 2 области в одной строке
Это то что у меня реализовано в excel, такого же я хочу добиться в 1с
https://ibb.co/JpNXRR3
Имею такую форму "Перепись" из которой беру все данные:
https://ibb.co/DrM58vr
В макете 2 области в одной строке

Таким кодом я пока умею выводить подряд, но не рядом, данные из таблицы "Перепись":

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


Имею такой макет, на котором нарисовал чего хочу добиться:
https://ibb.co/VxHpyCQ

В макете 2 области в одной строке

Прочитал что-то про присоединение, создал столбцы1 и 2, но это мне не помогло, тк не знаю как выводить по одному.
Подскажите, как реализовать задумку. Спасибо
1 Garykom
 
21.04.23
15:12
(0) Присоединить()
2 Garykom
 
21.04.23
15:15
1. Выводишь строки в ТабДок1
2. Выводишь строки в ТабДок2
3. Берешь нужную область из ТабДок1 и выводишь в ТабДок3
4. Берешь нужную область из ТабДо2 и присоединяешь в ТабДок3
5. Показать ТабДок3
3 mikecool
 
21.04.23
15:15
(0) ты поиском пользуешься?
4 mikecool
 
21.04.23
15:16
я такое делал, там нетривиально в один проход
5 mikecool
 
21.04.23
15:17
подготавливаешь данные в ТЗ в две колонки, потом выводишь
6 Волшебник
 
21.04.23
15:18
Рассчитайте, сколько вмещается на страницу через ПроверитьВывод() и выводите пересечение областей Строка1|Стобец1 или Строка1|Стобец2

ОбластиЯчейки = Макет.ПолучитьОбласть("Строки|Колонки");

здесь примеры
https://www.1s-up.ru/oblasti-tablichnogo-dokumenta-v-1s/
7 Faust21
 
22.04.23
19:11
(2) Расскажи подробней
Для начала, как правильней: Создать области пересечений
    ОбластьЛевая = Макет.ПолучитьОбласть("Строка1|Столбец1");
    ОбластьПравая = Макет.ПолучитьОбласть("Строка1|Столбец2");
Или именованные области ячеек
    ОбластьЛевая = Макет.ПолучитьОбласть("Левая");
    ОбластьПравая = Макет.ПолучитьОбласть("Правая");
https://ibb.co/VxHpyCQ

Для упрощения хочу вывести для начала ровно столько, сколько умещается:
    Для каждого ТекущаяСтрока из ДокСсылка.Перепись Цикл
        Номер = Номер +1;    
Если ТабДок1.ПроверитьВывод(ОбластьЛевая) тогда
        ОбластьЛевая.Параметры.Номер = Номер;
        ОбластьЛевая.Параметры.Название = ТекущаяСтрока.Название;
        ОбластьЛевая.Параметры.Вес = ТекущаяСтрока.Вес;
        ТабДок1.Вывести(ОбластьЛевая);
ИначеЕсли ТабДок2.ПроверитьВывод(ОбластьПравая) тогда
        ОбластьПравая.Параметры.Номер2 = Номер;
        ОбластьПравая.Параметры.Название2 = ТекущаяСтрока.Название;
        ОбластьПравая.Параметры.Вес2 = ТекущаяСтрока.Вес;
        ТабДок2.Вывести(ОбластьПравая);
КонецЕсли;

Как вывести и присоединить в "ТабДок"?
ТабДок.Вывести(ТабДок1.ПолучитьОбласть("Какой-то синтаксис"));
ТабДок.Присоединить(ТабДок2.ПолучитьОбласть("Какой-то синтаксис"));
Их надо обходить как-то или что?
8 Волшебник
 
22.04.23
22:50
(7) Прекратите генерить куски кода и начните думать.