Имя: Пароль:
1C
1C 7.7
v7: Программное объединение ячеек
0 zenon46
 
30.10.20
17:47
Доброго вечера, прошу подсказать как можно программно объединить ячейки в печатной форме таблицы, со структурой как на примере, грубо говоря нужно объеденить по кладовщику и складу, один и тот же кладовщик может быть на разных складах в случае если он к примеру пошел на подмогу) Уж больно я запутался в написании "правильного" алгоритма.

Склад | Кладовщик    | Товар | масса | примечание
............................................................
      |              | 1      | 1     | 1
                     .......................................
знач1 | имя1         | 2      | 2     | 2
                     .......................................
      |              | 3      | 3     | 3
............................................................
      | имя2         | 1      | 1     | 1
                     .......................................
знач2 |              | 2      | 2     | 2
............................................................
      | имя3         | 1      | 1     | 1
                     .......................................
знач3 |              | 2      | 2     | 2
............................................................
      | имя2         | 1      | 1     | 1
                     .......................................
знач3 |              | 2      | 2     | 2
............................................................
1 HawkEye
 
30.10.20
18:54
(0) объеденять ячейки надо с помощью метода:
Объединить()
Синтаксис:
Объединить()
Назначение:
Объединить ячейки области.
Замечание:
Данный метод нельзя использовать при работе с областью таблицы в режиме ввода данных.
2 zenon46
 
30.10.20
18:58
(1) ))) пасиб, с этим я справился, не получается алгоритм по двум полям реализовать, по одному полю работает, а вот что бы по двум сразу не особо выходит. Особенно когда :

      | имя2         | 1      | 1     | 1
                     .......................................
знач2 |              | 2      | 2     | 2
............................................................
      | имя2         | 1      | 1     | 1
                     .......................................
знач3 |              | 2      | 2     | 2
............................................................
3 HawkEye
 
30.10.20
19:01
(2) так вестимо дело не в объеденении, а в алгоритме, может стоит задуматься над заголовоком темы??)))
4 zenon46
 
30.10.20
19:01
(3) согласен тему назвал не правильно но в (1) "Уж больно я запутался в написании "правильного" алгоритма." и расписал.
5 HawkEye
 
30.10.20
19:05
(4) так задача то в чем?! ну пошел он на второй склад и что? как это в отчете то должно быть? при чем тут объединение?
6 zenon46
 
30.10.20
20:13
| имя2         | 1      | 1     | 1
                     .......................................
знач2 |              | 2      | 2     | 2
............................................................
      | имя2         | 1      | 1     | 1
                     .......................................
знач3 |              | 2      | 2     | 2
............................................................

(5) кажется я тут все наглядно показал, внимательней посмотрите. Сейчас делаю по одному полю вот так, но такой алгоритм сработает не правильно в случае когда идут одинаковые кладовщики по разным складам :

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