Имя: Пароль:
1C
 
расположение строк ТЧ на печать
,
0 Okulist
 
11.06.21
21:55
Помогите с печатной формой, пожалуйста. Проблема следующая: на макете две области расположены рядом друг с другом. Вторая область выводится с помощью метода Присоединить и состоит из ТЧ. Делаю цикл, обходя строки ТЧ, но выводятся они не в виде таблицы (строки одна под другой), а каждая строка ТЧ присоединяется справа к предыдущей.
Ниже в макете выводится еще одна ТЧ, там все отлично. Думаю, что проблема возникает из-за метода Присоединить, но если делать Вывести, то эта область появляется ниже первой, а мне нужно, чтобы они были именно рядом.

Добавляю код вывода на печать проблемной области.

ОбластьШапкаВторая    = Макет.ПолучитьОбласть("Шапка|Область2");

    Пока ВыборкаШапка.Следующий() Цикл
        ОбластьШапкаВторая.Параметры.Исполнитель                 = ВыборкаШапка.Исполнитель;
        ТабДок.Вывести(ОбластьШапкаВторая);
        ОбластьШапкаВторая.Параметры.КоэффициентУчастия                 = ВыборкаШапка.КоэффициентУчастия;

    ТабДок.Вывести(ОбластьШапкаВторая);
          ТабДок.Присоединить(ОбластьШапкаВторая);
1 Ёпрст
 
11.06.21
22:16
(0) Так что ле надо ?

   ТабДок.Вывести(ОбластьШапкаВторая);
  Пока ВыборкаШапка.Следующий() Цикл
        ОбластьШапкаВторая.Параметры.Исполнитель                 = ВыборкаШапка.Исполнитель;
        ОбластьШапкаВторая.Параметры.КоэффициентУчастия                 = ВыборкаШапка.КоэффициентУчастия;
        ТабДок.Присоединить(ОбластьШапкаВторая);
  КонецЦикла
2 Okulist
 
11.06.21
22:26
нет, так данные задваиваются: и в нужной области Присоединяются, и еще выводятся ниже то, что слева (по методу Вывести до цикла)
3 Ёпрст
 
11.06.21
22:27
Нарисуй сам как надо и скриншот сюда.
4 Ёпрст
 
11.06.21
22:27
http://pics.rsh.ru/ в помощь
5 Okulist
 
11.06.21
22:29
6 Okulist
 
11.06.21
22:31
7 Okulist
 
11.06.21
22:32
http://pics.rsh.ru/img/14_jw2ecwy9.png   - это макет
8 Ёпрст
 
11.06.21
22:50
(7) тип того должно быть:


ТабДок.Вывести(ОбластьЗаголовок);//ОбластьЗаголовок= Макет.ПолучитьОбласть("Заголовок");  если нужен заголовок над всеми исполнителями, то цикл выборки нужно обойти и сформировать его, потом выборку сбросить для последующего обхода для заполнения исполнителй

ТабДок.Вывести(Область_Шапка_Область1);//Область_Шапка_Область1 = Макет.ПолучитьОбласть("Шапка|Область1");
ТабДок.Присоединить(Область_Шапка_Область3);//Область_Шапка_Область3 = Макет.ПолучитьОбласть("Шапка|Область3");

Пока ВыборкаШапка.Следующий() Цикл
        ОбластьШапкаВторая.Параметры.Исполнитель                 = ВыборкаШапка.Исполнитель;
        ОбластьШапкаВторая.Параметры.КоэффициентУчастия                 = ВыборкаШапка.КоэффициентУчастия;
        ТабДок.Присоединить(ОбластьШапкаВторая);
КонецИкла;
9 Ёпрст
 
11.06.21
22:53
Или всё же надо выводить Серёню под мишаней ? :)
10 Ёпрст
 
11.06.21
22:54
Если да, то выводишь в отдельный табдок мишаню и серёню, получаешь там выведенную область целиком, и её вставляешь в результирующий табДок.
11 Ёпрст
 
11.06.21
22:55
+ со сдвигом ячеей вниз.
12 Ёпрст
 
11.06.21
23:28
Тип того:



ТабДок.Вывести(ОбластьЗаголовок);
Высота = ТабДок.ВысотаТаблицы+1;


ТабДок.Вывести(Область_Шапка_Область1);

ТабДок.Присоединить(Область_Шапка_Область3);

НовыйТабДок = Новый ТабличныйДокумент;
Пока ВыборкаШапка.Следующий() Цикл
        ОбластьШапкаВторая.Параметры.Исполнитель                 = ВыборкаШапка.Исполнитель;
        ОбластьШапкаВторая.Параметры.КоэффициентУчастия                 = ВыборкаШапка.КоэффициентУчастия;
        НовыйТабДок.Вывести(ОбластьШапкаВторая);
КонецИкла;
    ТабДок.ВставитьОбласть(НовыйТабДок.Область(1,1,НовыйТабДок.ВысотаТаблицы,НовыйТабДок.ШиринаТаблицы),ТабДок.Область(Высота,Область_Шапка_Область1.ШиринаТаблицы+Область_Шапка_Область3.ШиринаТаблицы+1),ТипСмещенияТабличногоДокумента.БезСмещения);
13 Okulist
 
12.06.21
19:41
(12) Все круто, но при таком варианте Сереня вообще "ушел". Отображается только первая строка (Мишаня).
14 Мимохожий Однако
 
13.06.21
07:33
(7) Я бы в этом макете вертикальную Область2 не стал бы пересекать с горизонтальной группой Шапка, а добавил бы горизонтальную ШапкаИсполнителей.
При формировании горизонтальной области с Шапка надо учитывать высоту в зависимости от количества исполнителей, и только после этого присоединять готовую область справа
...
Но без твоего кода сложно угадать, где ошибаешься
15 Ёпрст
 
13.06.21
23:26
(13)
Да блин..
вот тут выводи не ОбластьШапкаВторая, а НоваяОбласть, котораая будет "Шапка2|СТрокаИзОднойСтрокиУнутриОбастиСтрока"
16 Ёпрст
 
13.06.21
23:31
http://pics.rsh.ru/img/_3lxmlq3s.png



ОбластьШапкаВторая = МакетПолучитьОбласть("НоваяОбласть|Область2");//вот так исправь и всё полетит.
НовыйТабДок = Новый ТабличныйДокумент;
Пока ВыборкаШапка.Следующий() Цикл
        ОбластьШапкаВторая.Параметры.Исполнитель                 = ВыборкаШапка.Исполнитель;
        ОбластьШапкаВторая.Параметры.КоэффициентУчастия                 = ВыборкаШапка.КоэффициентУчастия;
        НовыйТабДок.Вывести(ОбластьШапкаВторая);
КонецЦикла;

17 Okulist
 
14.06.21
17:27
(16) Спасибо большое! все сработало
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.