группировка группы формы 1с

Программирование в 1С для всех

В этой статье я покажу, как в табличных документах 1С реализовывать группировку строк и колонок.

Группировка строк в табличном документе 1С

Для демонстрации создадим у обработки простой макет табличного документа с одной областью и с одним параметром области.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

На основной форме обработки сделаем команду ВывестиГоризонтальнуюГруппировку, реквизит формы КоличествоЧисел (тип Число), и всё это разместим на форме.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

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

Получится такой код:

Подробно о формировании областей табличного документа читайте в статье:

Результат работы этого кода будет следующий:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Изменим этот макет: сделаем группировку целых чисел, а дробные числа будут с небольшим отступом.

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

Откроем палитру свойств ячейки, в которой выводится параметр НомерСтроки.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

В этой палитре нас интересует свойство АвтоОтступ. Установим в него значение.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

На этом с макетом закончим. Доработаем код.

В этом коде мы применили методы НачатьАвтогруппировкуСтрок() и ЗакончитьАвтогруппировкуСтрок() перед тем как начали заполнять табличный документе, и после того как закончили. Кроме того, мы дополнили параметры метода Вывести табличного документе. Если в первом параметре указывается область которая будет выводиться в табличном документе, то во втором параметре указываем уровень группировки, в третьем – название группировки, а четвертом – булево значение, которое определяет, будет ли сворачиваться группировка или нет, после того, как она будет выведена.

Результат работы этого кода:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Группировка колонок в табличном документе 1С

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

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

А также на основной форме обработки создадим команду формы, которую назовем «Вывести вертикальную группировку», и выведем её на форму.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

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

Смысл группировки вертикальных областей тот же, что и горизонтальных: используем методы НачатьАвтогруппировкуКолонок и ЗакончитьАвтогруппировкуКолонок перед выводом областей, а в методе Присоединить необходимо указать уровень группировки, название группы и признак того, будет развернута группа или нет, как и в методе Вывести.

Результат работы этого кода будет следующим:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Видео с бонусом! В этом бонусе я покажу, как сделать вывод иерархического справочника.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Другие статьи про табличные документы в 1С:

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Группировка элементов формы в 1С:Предприятие 8.2

Группировка элементов формы в 1С:Предприятие 8.2 — расположение элементов управляемой формы 1С:Предприятие по группам, чтобы более рационально занять площадь рабочего экрана (это особенно актуально, если реквизитов много). В этом примере мы поместим реквизиты Номер и Дата в одну группу, а реквизиты Контрагент и Договор — в другую группу.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Нажмем правой кнопкой мыши на элементе Номер и выберем из контекстного меню пункт Добавить.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Укажем тип элемента — обычная группа (по аналогии можно создавать и «необычные» группы — например, раскладывать реквизиты по страницам).

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Из контекстного меню перейдем в свойства группы:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Укажем группировку Горизонтальная:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Перетащим мышью (удерживая левую кнопку) элементы Номер и Дата в Группу 1 в верхней части рабочего окна (с деревом реквизитов формы). Соответственно, в нижней части элементы группы выстроятся по горизонтали.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Аналогично создадим группу Группа 2 и перетащим в нее реквизиты формы Контрагент и Договор:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Если элементы перетащились не туда, их порядок можно изменить при помощи синих стрелок «Вверх» и «Вниз»:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Таким образом, мы расположили элементы по группам по горизонтали.

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Аналогично (из этого же дерева и контекстного меню) можно группировать реквизиты табличной части, создавать страницы-закладки и другие элементы для упорядочения размещения элементов на форме, а также вкладывать одни группы реквизитов в другие.

Источник

УФ: Размещение элементов на форме 3 в 1С

Элементы в колонках (Горизонтальная и вертикальные группы)

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti →

Продолжаем рассматривать варианты размещения элементов на форме на примере вывода реквизитов документа на форму документа, состав документа представлен на рис. 1:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Рис. 1. Реквизиты документа

Разместим поля Организация, Подразделение, ТипПриходной, Склад в две колонки по два элемента. Для этого добавляем три группы (Группа – Обычная группа), одну горизонтальную и две вертикальные. У групп снимаем галочку у свойства ОтображатьЗаголовок, чтобы не выводилась пустая строка над элементами, или строка с заголовком, если он задан. Две вертикальные группы (Группа2 и Группа3) размещаем в горизонтальной (Группа1) (рис. 2):

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Рис. 2. Добавление групп

Далее перетаскиваем мышкой элементы в группы, Организация, Подразделение в Группа2, а ТипПриходной, Склад в Группа3. Получаем такую форму (рис.3):

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Рис. 3. Форма с элементами в колонках

В случае, когда в колонках оказывается разное количество элементов, для их выравнивания можно добавить на форму элемент Декорация, разместить его между полями ТипПриходной и Склад, указать у свойства РастягиватьПоВертикали значение Да (рис. 4):

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Рис. 4. Добавление Декорации для выравнивания

Тогда получим форму (рис. 5):

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Рис. 5. Добавленная декорация на форме в пользовательском режим

Источник

Интерактивные возможности табличного документа

Табличный документ 1С:Предприятия 8 служит не только для печати документов и отчетов. Он имеет расширенные возможности, которые превращают его в интерактивное средство взаимодействия с пользователем. К таким возможностям относятся:

Стоит заметить, что к интерактивным возможностям табличного документа можно также отнести сводные таблицы и элементы управления, располагающиеся в ячейках, но сейчас мы не будем на них останавливаться, а подробнее рассмотрим вышеперечисленные механизмы.

Расшифровки

Система «1С:Предприятие 8» поддерживает механизм расшифровок (drill-down, drill-through), когда пользователь щелкает на строке или ячейке отчета и получает более детальный отчет, если конечно это предусмотрено программистом.

Расшифровки делятся на стандартные и нестандартные. Стандартные расшифровки обрабатываются системой автоматически и не требуют дополнительных усилий от программиста, например, для документов будет открыта форма документа, а для элементов справочника будет открыта форма элемента. Если справочник редактируется в списке, то курсор будет установлен на текущем элементе в форме списка. Для выполнения нестандартной расшифровки предназначено событие ОбработкаРасшифровки.

Событие «ОбработкаРасшифровки» можно обработать, только если табличный документ помещен в форму как элемент управления, а не открывается в отдельном окне, поскольку это событие существует только у элемента управления «ПолеТабличногоДокумента». Ниже показаны категория свойств «События» элемента управления «ПолеТабличногоДокумента», где назначается процедура-обработчик расшифровки:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Сама процедура «РасшифроватьСтроку» может выглядеть следующим образом (как пример):

Примечание 1. В модуле приложения (аналог глобального модуля в версии 7.7) больше нет события ОбработкаЯчейкиТаблицы. Вся обработка расшифровок должна быть произведена в модуле формы, где располагается элемент управления «ПолеТабличногоДокумента».

Примечание 2. Событие «ОбработкаРасшифровки» возникает при щелчке на ячейке или рисунке, содержащих расшифровку. Не путайте его с событием «Выбор», возникающим для всех ячеек и рисунков при двойном щелчке мыши или нажатии клавиши Enter, причем, сначала возникает событие «Выбор», а потом «ОбработкаРасшифровки».

Группировки

В 1С:Предприятии 8 появилась возможность группировать данные в отчете. Группировки могут быть горизонтальные и вертикальные, тогда слева и сверху появляются специальные маркеры, позволяющие пользователю разворачивать и сворачивать группы, как показано на следующем рисунке:

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

Самый простой способ добавить группировки в отчет — доверить эту задачу системе, тогда от программиста потребуются минимальные усилия. Необходимо всего лишь применить методы НачатьАвтоГруппировкуСтрок/НачатьАвтоГруппировкуКолонок и ЗакончитьАвтоГруппировкуСтрок/ЗакончитьАвтоГруппировкуКолонок, которые включают режим автоматической группировки строк или колонок соответственно. В этом режиме при вызове методов Вывести (для строк) и Присоединить (для колонок) указываются дополнительные параметры для группировки:

При использовании группировок очень полезно установить свойство ячейки «АвтоОтступ» в какое-нибудь ненулевое значение, например, 5. Тогда система будет автоматически добавлять заданное количество пробелов слева текста ячейки, основываясь на текущем уровне группировки. В результате отчет приобретет удобный внешний вид для отображения иерархии данных.

Следующий пример выводит список товаров с группировками:

Примечания

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

группировка группы формы 1с. Смотреть фото группировка группы формы 1с. Смотреть картинку группировка группы формы 1с. Картинка про группировка группы формы 1с. Фото группировка группы формы 1с

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

Обратите внимание, что свойство «Примечание» у объекта «ОбластьЯчеекМакета» является объектом типа «Рисунок», а не простой строкой. Через этот объект можно редактировать внешний вид примечания, шрифт и цвет текста, фон, линии и т.д.

Источник

Программно создать группы конолок и колонки на форме

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

Суть дела: есть форма справочника, в ней есть таблица «ТаблицаРедактирования» нужно в эту таблицу программно добавить Колонки и разместить их в определённые группы колонок, которые также создаются программно.

Пишу следующий код

// создаём новые группы колонок
Сч = 1;
СоответствиеИменГруппировок = Новый Соответствие;
Для Каждого ТекЭлемент ИЗ ТаблицаГруппировок Цикл
Если Не ТекЭлемент.Группировка = «» Тогда
НовыйЭлемент = Элементы.Добавить(«ГруппировкаКол» + Формат(Сч, «ЧЦ=3; ЧВН=; ЧГ=»),
Тип(«ГруппаФормы»),Элементы.ТаблицаРедактирования);
НовыйЭлемент.Заголовок = ТекЭлемент.Группировка;
НовыйЭлемент.Вид = ВидГруппыФормы.ГруппаКнопок;
СоответствиеИменГруппировок.Вставить(ТекЭлемент.Группировка, НовыйЭлемент);
Сч = Сч + 1;
КонецЕсли;

// здесь всё отрабатывается правильно, в ТаблицаРедактирования добавляются новые ГруппыКолонок

// Добавляем реквизиты Формы

МассивРеквизитов = Новый Массив;

ТипыРеквизита = Новый Массив;
ТипыРеквизита.Добавить(Тип(«Число»));
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(«Число», Новый КвалификаторыЧисла(20, 4));

Сч = 1;
Для Каждого ТекНастройка из ТЗНастройкиКолонок Цикл

НовыйРеквизит = Новый РеквизитФормы(«Значение» + Формат(Сч, «ЧЦ=3; ЧВН=; ЧГ=»),
ОписаниеТиповДляРеквизита,
«ТаблицаРедактирования»,
«Значение» + Формат(Сч, «ЧЦ=3; ЧВН=; ЧГ=»),
Истина);

ИзменитьРеквизиты(МассивРеквизитов);
//Данный участок кода также отрабатывается без ошибок

// Добавляем колонки на форму

Для Сч = 1 по ВсегоРасчетов Цикл

НовыйЭлемент = Элементы.Добавить(«ТаблицаРедактированияЗначение» + Формат(Сч, «ЧЦ=3; ЧВН=; ЧГ=»),
Тип(«ПолеФормы»), РодительЭлемента); // на этой строчке система начинает ругаться (Не допустимое значение параметров)

При создании новых группировок колонок и реквизитов формы проблем не возникает. Ошибка выдаётся при попытке добавления в форму колонок
в строчке

НовыйЭлемент = Элементы.Добавить(«ТаблицаРедактированияЗначение» + Формат(Сч, «ЧЦ=3; ЧВН=; ЧГ=»),
Тип(«ПолеФормы»), РодительЭлемента); // на этой строчке система начинает ругаться (Не допустимое значение параметров)

При чём если в качестве РодительЭлемента указан путь Элементы.ТаблицаРедактирования, то всё отлично добавляется, но при этом естественно колонки добавляются непосредственно в таблицу, а нужно чтобы добавлялись в нужную группировку колонки.

Не совсем ясно в чём ошибка: в описании метода Добавить видим что третий параметр может быть
(необязательный)

Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма.
Родитель для добавляемого элемента.
Если не указан, то добавляется на верхний уровень.
При этом РодительЭлемента является именно ГруппойФормы, т.е. по типу абсолютно подходит. А в чём ошибке не ясно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *