Вход | Регистрация
 

расположение строк ТЧ на печать

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

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

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

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

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

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

   Okulist
 
13 - 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")//вот так исправь и всё полетит.

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


   Okulist
 
17 - 14.06.21 - 17:27
(16) Спасибо большое! все сработало

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.