Группа колонок табличной части

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

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

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

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

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


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

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

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

Источник

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

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

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

Расшифровки

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

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

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

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

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

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

Группировки

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

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

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

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

Примечания

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

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

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

Источник

Управление настройкой колонок табличного поля

Существует два способа управления настройкой колонок :

Управление настройкой всех колонок табличного поля

Управлять настройкой сразу всех колонок табличного поля можно используя свойство табличного поля ИзменятьНастройкуКолонок . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то табличному полю запрещена настройка колонок. Всем колонкам табличного поля запрещено изменять размер и позицию ( т.е. запрещено перетаскивание колонок ) , а также все свойства колонок, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка становится доступной только закладка » Прочее » .

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

Управление настройкой отдельных колонок табличного поля

Управлять настройкой отдельных колонок табличного поля можно используя свойство колонки табличного поля ИзменятьНастройку . Данное свойство доступно из палитры свойств и из встроенного языка. Если данное свойство имеет значение Ложь , то колонке запрещено изменять размер и позицию, а также все свойства колонки, настраиваемые в диалоге настройки списка. Соответственно, в диалоге настройки списка данная колонка становится невидимой. Если всем колонкам табличного поля запрещено изменять настройку, то в диалоге настройки списка становится доступной только закладка » Прочее » . Также необходимо заметить, что если свойство ИзменятьНастройку имеет значение Истина , то существует возможность запретить изменение видимости или размера колонки используя для этого свойства колонки ИзменятьВидимость и ИзменениеРазмера соответственно.

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Читайте также:  Макбук не видит юсб наушники
Оцените статью