Табличное поле 1с в форме как создать
Перейти к содержимому

Табличное поле 1с в форме как создать

  • автор:

Табличное поле

Рассмотрим пример, когда это может действительно пригодиться. Допустим у нас есть свойства объекта в виде отдельного иерархического справочника. Нам необходимо в форме самого объекта выводить эти данные, но не просто списком а с разбивкой по группам — сколько групп, столько и закладок с таблицами. Проблема в том что мы не знаем сколько будт закладок с таблицами заранее. Чтобы это реализовать мы должны динамически создавать необходимые таблицы. Сделать это несложно. Разберемся как:
Код 1C v 8.х

Распечатать

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором?  21
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом » ДинамическийСписок» В поле » Основная табли Как установить параметр динамического списка?  17
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  13
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  11
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Табличное поле 1с в форме как создать

Программное создание табличного поля на форме и связь его с табличной частью

НовыйЭлемент.Верх = 6;
НовыйЭлемент.Высота = 19;
НовыйЭлемент.Лево = 6;
НовыйЭлемент.Ширина = 800;
НовыйЭлемент.Данные = "NEW__Перечисление";
НовыйЭлемент.ТолькоПросмотр = Ложь;
//НовыйЭлемент.ИзменятьПорядокСтрок = Истина;
НовыйЭлемент.ИзменятьСоставСтрок = Истина;

НовоеПоле= НовыйЭлемент.Колонки.Вставить(0, "Ведомость");
//НовоеПоле.Имя = "Ведомость";
НовоеПоле.УстановитьЭлементУправления(Тип("ПолеВвода"));
НовоеПоле.Данные = "Ведомость";

Пробовал просто через НовыйЭлемент.СоздатьКолонки() . В примерах, которые я нашел, там так и было написано.

ЧЯДНТ? Не ужели нужно добавлять все колонки табличной части в табличное поле руками?

появились новые вопросы:

1) как к добавленным колонкам назначит события? ведь у самой колонки нет никаких событий, а есть только у полей ввода.

2) как обратиться к полю ввода табличного поля через форму?

в документе "Платежное поручение исходящее" есть панель "ПанельПлатежи", у нее есть страницы " — Перечисление ЗП, Выдача подотчетнику и т.д.

Следовательно, никак нельзя связать новые элементы с страницей?

Как временное решение сделал свою новую панель поверх "ПанельПлатежи".

(8) нельзя трогать форму.

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

пробовал через ДобавитьОбработчик
и
ДобавитьОбработчик ЭтотОбъект.ПриЗаписи, TEST

Программное создание таблицы формы

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

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

Реквизит НомерТаблицы поочередно принимает значение нуля или единицы и нужен лишь для того, чтобы каждый раз получать другую таблицу значений.

Работаем с таблицей значений программно

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

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

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

Таблица значений является полностью динамическим объектом, т.е. Вы можете манипулировать не только строками таблицы, добавляя и удаляя их, но и колонками.

Таблица значений может использоваться явно при создании в коде необходимого количества переменных типа ТаблицаЗначений , либо неявно: при добавлении элемента управления ТабличноеПоле на обычную форму, и ТаблицаФормы — на управляемую. Здесь мы рассмотрим только программную работу с таблицей значений.

Создание таблицы значений

Как и большинство объектов встроенного языка, новая таблица значений может быть создана с помощью оператора Новый :

Колонки таблицы значений

Прежде чем начать работу с таблицей значений, необходимо создать структуру колонок. Каждая колонка характеризуется следующими свойствами:

  1. Имя — идентификатор колонки (может содержать только алфавитные символы, цифры и знаки подчеркивания. Причем, начинаться имя колонки может только с буквы или символа подчеркивания);
  2. Заголовок — представление колонки в диалогах (может содержать произвольные символы);
  3. ТипЗначения — тип значения содержимого ячеек в этой колонке. Если тип не задан, в ячейке можно хранить значения произвольного типа;
  4. Ширина — ширина колонки в диалогах;

Доступ к колонкам производится через свойство Колонки объекта ТаблицаЗначений . Для добавления новой колонки используется метод Добавить():

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

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

Для удаления колонки используется метод Удалить():

Свойства колонки таблицы значений
Имя Тип Описание
Имя Строка символьный идентификатор колонки, по которому к ней можно обращаться из кода
Заголовок Строка строковое представление колонки на форме
ТипЗначения ОписаниеТипов свойство органичивает пространство доступных значений, которые можно указать в данной колонке
Ширина Число ширина колонки на форме (выражается в количестве символов)
Методы коллекции колонок таблицы значений
Вставить() Вставляет новую колонку в указанную позицию коллекции
Добавить() Добавляет новую колонку в конец коллекции
Количество() Возвращает количество колонок в коллекции
Найти() Ищет колонку в коллекции по имени
Очистить() Удаляет все колонки из коллекции
Сдвинуть() Сдвигает колонку влево или вправо
Удалить() Удаляет колонку из коллекции

Строки таблицы значений

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

Добавление и удаление строк

Для добавления новой строки используется метод Добавить() объекта ТаблицаЗначений . Метод возвращает объект СтрокаТаблицыЗначений , с которым доступны дальнейшие манипуляции:

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

Обратите внимание, что каждая СтрокаТаблицыЗначений ссылается на таблицу значений с помощью метода Владелец():

Для удаления строки используется метод Удалить() объекта ТаблицаЗначений . Строку можно удалить либо передав методу непосредственно строку, либо ее индекс:

Перебор строк таблицы значений

Для перебора строк удобнее всего использовать оператор цикла Для Каждого . В редких случаях оправдано применение цикла Для :

Поиск строк

В отличие от платформы 1С:Предприятие 7.7 в 8-ке расширен функционал работы с таблицей значений. Поиск можно выполнять не только по значению в колонке (в этом случае будет возвращена первая найденная строка), но и по набору свойств (в этом случае возвращается массив строк):

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

Иерархию свойств и типов значений, связанных с таблицей значений, схематически можно представить в виде дерева:

Табличное поле 1с в форме как создать

  • Вы здесь:  
  • Программное создание элементов управляемых форм 1C

Конфигурация

Программное создание элементов управляемых форм 1C

  •  Печать 
  • E-mail

В чем удобство использования программного создания элементов формы:

  1. более удобно находить изменения между конфигурациями
  2. Изменять форму «на лету» в процессе работы
  3. Минимизировать изменения типовой конфигурации (в некоторых конфигурациях для этого созданы Переопределяемые модули/процедуры)

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

Связь формы и элементов управления с данными

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

На эту ситуацию можно посмотреть с двух сторон:

Объект конфигурации (данные):

<= Связь =>

Экранная форма и элементы управления:

Необходимо понимать, что если форма принадлежит конкретному объекту конфигурации (т.е. отображается в списке «Формы» объекта), то этого недостаточно для реализации связи между элементами управления и данными. Более того, это даже необязательно. Вполне возможно создать общую форму, не принадлежащую ни одному из объектов конфигурации, которая будет отображать список элементов справочника или позволять редактировать конкретный документ. Другое дело, что такую форму нельзя будет назначить в качестве «основной» для определенных действий, но свою функцию она выполнять будет.

Чтобы какое-нибудь табличное поле в любой экранной форме отображало (и позволяло с ним работать) список элементов справочника, оно должно быть связано определенным образом с объектом типа «СправочникСписок.ИмяСправочника». В этой статье рассматривается, как настроить такую связь между формой с ее элементами управления и объектами конфигурации с их реквизитами и табличными частями.

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

Создание формы списка

Создаем новую форму, принадлежащую справочнику «Номенклатура». При этом запускается конструктор и предлагает выбрать тип формы.

Выберем тип формы «Произвольная», в этом случае создается независимая форма, не связанная с данными. Заметьте, что у нее нет ни одного реквизита формы.

Внимание. Не путайте реквизиты формы и реквизиты объекта конфигурации , например, справочника или документа. Это разные понятия.

Создадим реквизит формы с именем «СпрСписок» и назначим ему тип «СправочникСписок.Номенклатура»:

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

Заметьте, что при указании свойства «Данные» автоматически изменилось и свойство «Тип значения». Если его сейчас изменить, то изменится тип основного реквизита формы. Мы этого делать не будем.

Если вы перейдете обратно на закладку «Реквизиты» формы, то увидите, что этот реквизит стал «основным» (выделен жирным шрифтом):

Теперь поведение формы изменилось в нужную нам сторону. Наличие основного реквизита именно такого типа («СправочникСписок.Номенклатура») позволяет форме служить формой списка. В зависимости от типа основного реквизита у формы могут появиться новые события, описываемые «расширениями формы», а также это влияет на возможный состав кнопок командных панелей формы.

Например, у нашей формы списка справочника появились новые свойства, доступные из встроенного языка:

Перейдем теперь в диалог формы и разместим в рабочей области формы элемент управления «Табличное поле»:

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

На этом этапе лучше сразу изменить имя элемента управления на что-нибудь более читабельное, например, «тпСписок». Но имя элемента управления в принципе ни на что не влияет, кроме случая, когда происходит обращение к элементу управления из модуля формы.

Заметьте, что свойство «Тип значения» для табличного поля стало недоступным. Это означает, что через свойства элемента управления нельзя изменить тип значения реквизита формы. Также заметьте, что в после установки свойства «Данные» произошли некоторые изменения с формой и ее реквизитами:

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

Теперь можно запустить «1С:Предприятие» и проверить работу формы:

Создание формы элемента

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

Создайте новую форму, принадлежащую справочнику. При создании формы укажите тип формы «Произвольная», затем можно задать для нее имя «ФормаЭлементаНовая». Будет создана следующая экранная форма:

Перейдите на закладку «Реквизиты» и создайте новый реквизит формы с именем «СпрОбъект» и типом «СправочникОбъект.Номенклатура».

Этот реквизит пока не является основным реквизитом формы, потому что он не указан в свойстве «Данные» самой формы. Сделаем это. Откройте свойства формы и заполните свойство «Данные» (тип значения будет заполнен автоматически):

Если в палитре свойств изменить «Тип значения», то изменится тип значения реквизита формы. Сейчас этого делать не нужно.

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

Внимание: не путайте события формы «ПередЗаписью» и «ПриЗаписи», а также одноименные события объекта типа «СправочникОбъект». События формы возникают только при интерактивных действиях из этой формы. Нужно иметь в виду, что элемент справочника может быть также записан программно с помощью метода Записать().

Теперь разместим диалоге формы элементы управления для редактирования элемента справочника. Поместите в форму поле ввода и рядом с ним надпись «Наименование»:

В свойствах поля для ввода наименования установите свойство «Данные», связав его с реквизитом «Наименование» объекта «СпрОбъект»:

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

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

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

Это окно содержит список реквизитов и табличных частей объекта конфигурации, который назначен в качестве основного реквизита формы. В колонке «Данные» установите пометку для тех реквизитов, которые необходимо разместить в форме. Если диалог вызывается повторно, то пометки установлены для элементов управления, уже расположенных в форме, и если снять пометку, то элемент управления будет удален. В колонке «Элементы формы» можно выбрать тип элемента управления, возможный для данного реквизита. Например, для реквизитов типа «булево» обычно выбирается флажок.

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

Осталось назначить эту форму в качестве основной формы элемента справочника и можно проверять ее работу:

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

Табличная часть объектов 1С 8.3

В этой статье мы научимся конфигурировать табличные части объектов метаданных в 1С 8.3 (справочники, документы и т.д.). Для чего вообще нужны табличные части? Очень часто бывает, что объект метаданных должен хранить некий список однотипной информации, размер которой изначально может быть не известен. Например, у справочника «Контрагенты» это может быть список ответственных лиц контрагента, а у документа «Приход товара» это список товаров, который поступили в организацию. Для того, чтобы осуществить учет однотипной информации и необходимы табличный части.

Табличная часть документа в 1С 8.3

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

Добавление табличной части документа 1С

Добавление табличной части документа 1С

Второй способ: непосредственно в окне редактирования метаданных. Для этого нужно мышкой выделить ветвь дерева документа, вызвать контекстное меню и выполнить единственную команду «Добавить»

Добавление табличной части документа 1СДобавление табличной части документа 1С

Табличная часть справочника 1С 8.3

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

Колонки табличной части 1С

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

Добавление колонки табличной части 1С

Добавление колонки табличной части 1С

Второй способ, посредством окна метаданных (нужно выделить мышкой табличную часть).

Добавление колонки табличной части 1С

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

Тип реквизита табличной части 1С

Количество колонок вы можете создавать практически неограниченное количество, в зависимости от вашей прикладной задачи.

Реквизиты табличной части 1С

Табличная часть 1С 8.3 на управляемой форме

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

Табличная часть в конструкторе формы документа

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

Перенос табличной части на форму

При переносе на вопрос «Добавить колонки», отвечаем «Да» (иначе придется добавлять колонки вручную, о чем мы поговорим ниже).

Добавление всех колонок табличной части на форму

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

Табличная часть на управляемой форме

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

Перенос колонок табличной части на форму

У ветки табличной части в дереве Объекты управляемой формы имеются также элементы, которые не соответствуют текущим реквизитам. Как привило, это итог по суммовым полям табличной части. Эти поля можно разместить на форме.

Итог по суммовым полям табличной части

Итог по суммовым полям табличной части

Также эти поля можно использовать в подвале таблицы на форме.

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

Включили использование подвала в таблице формы

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

Заполненное свойство путькданнымподвала

После этих настроек, в подвале нужной колонки будет сумма значений это колонки.

Заполненный подвал колонки

Остальные статьи по теме конфигурирования в 1С:

Более подробно и основательно конфигурирование в 1С дается в моей книге:

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

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

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

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

Табличное поле

Рассмотрим пример, когда это может действительно пригодиться. Допустим у нас есть свойства объекта в виде отдельного иерархического справочника. Нам необходимо в форме самого объекта выводить эти данные, но не просто списком а с разбивкой по группам — сколько групп, столько и закладок с таблицами. Проблема в том что мы не знаем сколько будт закладок с таблицами заранее. Чтобы это реализовать мы должны динамически создавать необходимые таблицы. Сделать это несложно. Разберемся как:
Код 1C v 8.х

Распечатать

Похожие FAQ
Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором?  19
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом » ДинамическийСписок» В поле » Основная табли Как установить параметр динамического списка?  17
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  13
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  11
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Примеры работы с табличным полем в 1С 8

Приветствую вас, уважаемые коллеги! Сегодня я продолжу тему о работе с табличным полем. Уже упоминалось о том, как открыть форму записи регистра сведений из строки табличного поля, которая показывает некоторые приемы работы с табличным полем. Но сейчас давайте поговорим об основных приемах работы с элементом управления табличное поле. Поехали!

Содержание

Как отобразить данные в элементе управления ТабличноеПоле?

Примеры реализации данного метода вы можете посмотреть здесь и тут.

Как при разворачивании формы на весь экран сделать, чтобы табличное поле изменяло свой размер?

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

Нажмём на табличном поле правой кнопкой мыши и выберем пункт меню «Установить привязки…». В открывшейся форме мы увидим настройки привязок табличного поля. Чтобы облегчить себе труд и быть уверенными в правильности привязок, создайте новую форму и скопируйте Ваше табличное поле со старой формы в новую. На новой форме, нажмём на табличном поле правой кнопкой мыши и выберем пункт меню «Установить привязки…»

Как видим на новой форме привязки автоматически настроились так, чтобы табличное поле масштабировалось или растягивалось по форме. Запомним эти привязки, чтобы использовать для нашего табличного поля на старой форме. Нажмём на табличном поле старой формы правой кнопкой мыши и выберем пункт меню «Установить привязки…». Установим привязки аналогично тому, что мы увидели на новой форме. Готово!

Как программно установить видимость колонки табличного поля?

Где, «Период» — колонка табличного поля «ЭлементыФормы.РегистрСведенийСписок».

Как программно активизировать строку табличного поля с типом значения РегистрСведенийСписок?

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

Например, для списка справочника это будет ссылка на элемент справочника, а для табличной части — строка табличной части. Если тип значения РегистрСведенийСписок, тогда свойству ТекущаяСтрока присваивается значение типа — РегистрСведенийКлючЗаписи. Пример:

Отбор должен однозначно идентифицировать запись в табличном поле. Чтобы узнать как в регистре сведений обеспечить уникальность каждой записи посмотрите тут.

Как создать контекстное меню для табличного поля?

  1. Создать на форме невидимую командную панель, т.е. убрать флажок «Видимость» в свойствах командной панели.
  2. В свойствах табличного поля убрать флажок «АвтоКонтекстноеМеню».
  3. Из выпадающего списка «КонтекстноеМеню» выбрать только что созданную командную панель.

Теперь можно добавлять разные команды в командную панель. Они будут отображаться в контекстном меню табличного поля.

Как в табличном поле с типом значения справочник, отображать только группы?

Откроем свойства табличного поля и найдем свойство «ПросмотрГруппИЭлементов». В выпадающем списке выберем «Группы». Готово!

Как изменить значение ячейки табличного поля?

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

Как сделать текущим значение колонки табличного поля и присвоить этой колонке тип?

Предположим, что колонке «СубконтоДоходовБУ3» нужно присвоить тип «СправочникСсылка.ПодразделенияОрганизаций».

Как в табличном поле установить флажок элементом управления для колонки?

Как программно создать колонку табличного поля с элементом управления «Флажок»?

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

Свойство «ЭлементУправления» содержит элемент управления в данном случае флажок, через это свойство можно «достучаться» к свойствам и событиям флажка.
Свойство «ПрозрачныйФон» является свойством элементом управления флажка.

Кроме того, чтобы отображался только флажок без текста ДаНет необходимо в обработчике события табличного поля «ПриВыводеСтроки» написать следующее:

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

Табличное поле имеет событие «Выбор». В обработчике этого события напишите:

Здесь можно посмотреть пример реализации данного метода.

Как узнать существует ли колонка табличного поля?

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

Как из табличного поля получить значение ячейки, если известно имя колонки?

В обработчике события «Выбор» доступно имя колонки табличного поля и текущая строка. Чтобы получить значение ячейки нужно воспользоваться функцией табличного поля «ОформлениеСтроки», как показано ниже:

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

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