Имя: Пароль:
1C
1С v8
Объединение областей в табличном документе
0 buketovav
 
12.03.21
17:37
Всем добрый день, Дорогие Форумчане!
Делаю внешнюю ПФ, все сделал, работает норм, но есть один момент, в котором мне надо выполнить объединение, но не объединение ячеек, а объединение областей.

Подскажите как такое возможно сделать и возможно ли?
Например, есть координаты начальной области R42C7:R42C12 и координаты конечно области R45C7:R45C12.

Объединить ячейки не сложно, но у меня получается так что ячейка объединена в одну из шести горизонтально, а объединять ее надо с таким количеством ячеек вниз, сколько строк в прикрепляемом к ней табдоке.

вот так выглядит у меня сейчас таблица
https://prnt.sc/10jqz1q

а должна быть вот так
https://prnt.sc/10jqyl5
1 buketovav
 
12.03.21
17:42
у меня происходит присоединение таблицы к левой строке, блин, или как объяснить...

https://prnt.sc/10jr2ir
2 buketovav
 
12.03.21
21:42
мдэ... неужели ни кто не знает?
3 mikecool
 
12.03.21
21:51
считаешь, на сколько вниз должна объединяться, получаешь нужную область и Объединить()
4 Cthulhu
 
13.03.21
00:36
в совершенно аналогичных случаях предпочитаю не объединять, а правильно выводить.
первая строка (с неповторяющимся значением группировочного реквизита) - стандартный цвет шрифта и граница сверху, повторяющееся (не первое) - белый (как фон) цвет шрифта и без границы сверху. граница снизу - только(!) на самой последней строке отчета.
5 Cthulhu
 
13.03.21
00:37
ЗЫ: так и в екселе обрабатывать проще
6 buketovav
 
13.03.21
12:14
(3) так не работает, области не получается объединить. Если у Вас есть рабочий пример, то прошу поделиться
7 buketovav
 
13.03.21
12:15
(4) ни чего не понял ))
8 Cthulhu
 
13.03.21
14:08
(7): работай над собой "))"
9 mistеr
 
13.03.21
17:24
(6) Лучше ты покажи, как объединяешь
10 ДедМорроз
 
13.03.21
18:32
Если области уже объединены,то прежде чем их объединить в новую,нужно избавиться от старого объединения.
То есть,объединить можно только ячейки и в прямоугольной области.
11 buketovav
 
15.03.21
11:06
(10) вот это уже похоже на правду... то есть в моем случае, получается, объединение невозможно...
12 Ёпрст
 
15.03.21
11:10
(0) Проще сразу выводить как надо, чем заниматься объединением потом
13 buketovav
 
15.03.21
11:21
(12) дак я и не соображу ни как, как выводить сразу правильно
14 buketovav
 
15.03.21
11:23
делаю сейчас так:

    Если НЕ ПолучитьОсобыеОтметки.ПустаяВыборка Тогда
        
        ШапкаИндивидуальныеДостижения = Макет.ПолучитьОбласть("ИндивидуальныеДостижения|ШапкаИндивидДостиж");
        ТабДок.Вывести(ШапкаИндивидуальныеДостижения);
        
        ПриклепляемыйТабДок = Новый ТабличныйДокумент;
        Макет2 = ПолучитьМакет("Макет");
        
        СтрокаИндивидДостижения = Макет2.ПолучитьОбласть("R42C7:R42C12");
        НомерПП = 0;
        Пока ПолучитьОсобыеОтметки.Выборка.Следующий() Цикл
            НомерПП = НомерПП + 1;
            СтрокаИндивидДостижения.Параметры.НомерПП                  = НомерПП;
            СтрокаИндивидДостижения.Параметры.ИндивидуальноеДостижение = ПолучитьОсобыеОтметки.Выборка.ОтличительныйПризнак;
            ПриклепляемыйТабДок.Вывести(СтрокаИндивидДостижения);
        КонецЦикла;
        
        ТабДок.Присоединить(ПриклепляемыйТабДок,1, "ИндивидуальныеДостижения",Истина);
        
    КонецЕсли;
15 buketovav
 
15.03.21
11:29
и дальше мне надо каким-то образом, чтобы моя "ШапкаИндивидуальныеДостижения" объединилась с ячейками ниже. чтобы высота ее быра в итоге равна высоте прикрепляемого табдока...
может непонятно как-то объясняю, но выше, на скриншотах, я показывал, что хочу получить в итоге
16 buketovav
 
15.03.21
11:36
пока решение не нашел (
17 buketovav
 
15.03.21
12:04
(9) вот здесь показал, как делаю (14)
18 Kesim
 
15.03.21
13:07
Можно решить чисто рисованием: создаешь в макете 3 строки вместо одной и выводишь по необходимости:
1- для начала левой группы
2- для середины
3- для окончания

  ___________
1)      |____|

2)      ______
        |____|      

3)      _____
________|____|
19 Kesim
 
15.03.21
13:08
(18) ТакИЗналЧтоРасползется.РукаЛицо
20 buketovav
 
15.03.21
13:54
натулил костылей, сделал еще несколько областей с различным количеством строк и таким образом удалось вывести как надо, но понимаю, что это не универсально, буду думать дальше
21 mistеr
 
15.03.21
13:54
(14) 1. Если перед присоединением правой части в левой части объединить строки (в примере 3 строки), то должно присоединиться нормально.

2. Присоединить() работает, только если перед этим было Вывести(). Поэтому попробуй выводить в третий табдок сначала левую часть с объединением, потом правую часть.
22 buketovav
 
15.03.21
14:01
(21) сначала левую часть с объединением у меня строка объединенная из шести ячеек, а можно объединять только ячейки, а не области. в этом то и проблема
23 buketovav
 
15.03.21
14:02
то есть получается, что у меня есть область. состоящая из 6-ти объединенных ячеек и ее надо объединять вниз на высоту присоединяемой таблицы, а области объединять система не умеет, как я понял