Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 21:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: объединение ячеек в табличном документе  (Прочитано 13895 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gmax007

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-11
  • Сайт: 
  • Профессия: Разработчик 1С
Доброго времени. возник один вопрос, надеюсь поможете. в общем сейчас накидаю схему печатной формы и тот вид к которрому нужно ее привести, насколько я понимаю нужно писать циклы на этапе выведение данных в ТабДок и напишу кусок кода который как раз нужно модифицировать чтобы привести таблицу в нужный вид
 собственно вот схемы печатных форм
 
 это есть:
 -------------------------------------------------------------------------------------
 | Парам1        |  Парам2   | Парам3
 -----------------------------------------------------------------------------------
 | Знач1          |   вацаац  | ывыыыыыыыыа
 -------------------------------------------------------------------------------------
 |  Знач1         |  увцуасу  |ааааааааааааааааыца
 -------------------------------------------------------------------------------
 |  Знач1         | rfgergcee  |куаукаукаукаук
 ---------------------------------------------------------------------------------
 |  Знач2         | cergecger  |уаааааааааааааука
 ------------------------------------------------------------------------------------
 | Знач2          |  vbmk,ui,   |аукаукауауаука
 -----------------------------------------------------------------------------
 | Знач2          |   oilioioioo  |ипарпарпарапрапр
 -------------------------------------------------------------------------------------
 |  Знач3         |  wewwer   |кенкенекнекнекнкн
 --------------------------------------------------------------------------------------
 | Знач3          |  bnmum    |екненкенкенкенкенкен
 ----------------------------------------------------------------------------------------
 
 а нужно получить это:
 
 -------------------------------------------------------------------------------------
 | Парам1        |  Парам2   | Парам3
 -----------------|------------ |------------------------------------------------------
 |                    |   вацаац  | ывыыыыыыыыа
 |                    |------------  |-------------------------------------------- 
 |     Знач1      |  увцуасу |ааааааааааааааааыца
 |                    |   ---------- |-----------------------------------------------------
 |                    | rfgergcee  |куаукаукаукаук
 -----------------|------------- |---------------------------------------------------
 |                    | cergecger  |уаааааааааааааука
 |                    |  ----------- |-----------------------------------------------------------
 |  Знач2         |  vbmk,ui,   |аукаукауауаука
 |                    | -------------|--------------------------------------------------------------
 |                    |   oilioioioo  |ипарпарпарапрапр
 -----------------|------------- | ----------------------------------------------------
 |                    |  wewwer   |кенкенекнекнекнкн
 |  Знач3         |-------------|------------------------------------------------------------------------------
 |                    |  bnmum    |екненкенкенкенкенкен
 ----------------------------------------------------------------------------------------
 
 то есть в самом левом столбце объединить ячейки с одинаковыми значениями. ну и в них написать это значение, которое одинаково в объединяемых ячейках
 
 
 
 Вот код образования таблицы 
 ///////////////////////////////////////////////////////////////////////////////////////////
 Процедура Печать(ТабДок, Ссылка) Экспорт
     //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
     Макет = Документы.ЗаказПоставщику.ПолучитьМакет("Печать");
     Запрос = Новый Запрос;
     Запрос.Текст =
     "ВЫБРАТЬ
     |    парам1
     |    парам2
     |    парам3
 
     |ИЗ
     |    Документ.ЗаказПоставщику КАК ЗаказПоставщику
     |ГДЕ
     |    ЗаказПоставщику.Ссылка В (&Ссылка)";
     Запрос.Параметры.Вставить("Ссылка", Ссылка);
     Выборка = Запрос.Выполнить().Выбрать();
 
     Шапка = Макет.ПолучитьОбласть("Шапка");
     ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
     ОбластьТовары = Макет.ПолучитьОбласть("Товары"); // парам1 в области "товары"
     ТабДок.Очистить();
 
     ВставлятьРазделительСтраниц = Ложь;
     Пока Выборка.Следующий() Цикл
         Если ВставлятьРазделительСтраниц Тогда
             ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
         КонецЕсли;
 
         Шапка.Параметры.Заполнить(Выборка);
         Шапка.Параметры.Дата = Формат(Шапка.Параметры.Дата, "ДФ=dd.MM.yyyy");
         ТабДок.Вывести(Шапка, Выборка.Уровень());
 
         ТабДок.Вывести(ОбластьТоварыШапка);
         ВыборкаТовары = Выборка.Товары.Выбрать();
         Пока ВыборкаТовары.Следующий() Цикл
             ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
             ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
             
         КонецЦикла;
 
         ВставлятьРазделительСтраниц = Истина;
     КонецЦикла;
     
 КонецПроцедуры
 
 /////////////////////////////////////////////////////
 подскажите пожалуйста
 
насколько я понимаю нужно писать объединение ячеек если у них одинаковое значение в цикле Пока Выборка.Следующий() Цикл , ну не могу реализовать, только начинаю разбираться с программированием в 1с


Оффлайн dmitry29

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-09
  • Сайт: 
  • Профессия: Программист 1С
Предлагаю вам научиться делать печатные формы

Оффлайн pmdav

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-12-06
  • Сайт: 
  • Профессия: Программист 1С
Можно "присоединить" ячейку к полю которое было выведено ранее.

Синтаксис:

Присоединить(<Таблица>, <Уровень>, <ИмяГруппы>, <Открыта>)
Параметры:

<Таблица> (обязательный)

Тип: ТабличныйДокумент; ПолеТабличногоДокумента.
Выводимая таблица.
<Уровень> (необязательный)

Тип: Число.
Уровень используется для автоматической группировки колонок табличного документа. Соседние колонки с одинаковым уровнем будут отнесены к одной группе. Строки с минимальным уровнем в группу не объединяются.
<ИмяГруппы> (необязательный)

Тип: Строка.
Название группы, к которой относятся выводимые колонки.
<Открыта> (необязательный)

Тип: Булево.
Истина - выведенная группа будет открыта,
Ложь - группа будет выведена в свернутом виде.
Возвращаемое значение:

Тип: ОбластьЯчеекТабличногоДокумента.
Область, в которую был осуществлен вывод.
Описание:

Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

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


Теги:
 

заполнение закладки "Материалы" в документе "Поступление из переработки"

Автор Sasa1CРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3604
Последний ответ 10 Июн 2013, 22:34
от Sasa1C
Заполнение табличной части при выборе реквизита другой табличной части в документе.

Автор Vlad-93Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 338
Последний ответ 25 Окт 2017, 14:15
от Vlad-93
УТ 11.В документе "Заявка на расходование денежных средств" нет кнопки "Печать"!

Автор Valery3103Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3775
Последний ответ 29 Июн 2012, 18:37
от LexaK
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2058
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Не активно поле ПОЛУЧАТЕЛЬ в документе "выдача наличных" и в "кассовых документах"

Автор Masik777Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 928
Последний ответ 31 Авг 2016, 16:02
от Masik777

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 330
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal