Колонки таблицы значений в 1С 8.3 (8.2)

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

Создание таблицы значение в 1С 8.3

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

Программное создание колонок таблицы значений  в 1С

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

У объекта Коллекция колонок таблицы значений существует два метода по созданию новых колонок. Это Добавить и Вставить.

Метод Добавить – добавляет новую колонку в конец коллекции, а метод Вставить – вставляет колонку в нужное место по соответствующему индексу.

Метод  добавить:

ФИО = Новый ТаблицаЗначений;
ФИО.Колонки.Добавить(«Фамилия»);
ФИО.Колонки.Добавить(«Имя»);
ФИО.Колонки.Добавить(«Отчество»);

В этом примере я использовал самый простой вариант использование метода Добавить: мы указываем только название колонки и всё.

Рассмотрим синтаксис этого метода

Добавить(<Имя>, <Тип>, <Заголовок>, <Ширина>)

Как видно, у данного метода всего четыре параметра.

Параметр Имя  — это имя колонки таблицы значений, задается также как и имя переменной. Обязательный параметр.

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

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

Параметр Ширина имеет тип Число и задает длину колонки(количество символов).

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

ОписаниеТиповСтрока = Новый ОписаниеТипов(«Строка»);
ОписаниеТиповДата   = Новый ОписаниеТипов(«Дата»)


ФИО = Новый ТаблицаЗначений;
ФИО.Колонки.Добавить(«Фамилия»,ОписаниеТиповСтрока,«Фамилия»,50);
ФИО.Колонки.Добавить(«Имя»,ОписаниеТиповСтрока,«Имя»,50);
ФИО.Колонки.Добавить(«Отчество»,ОписаниеТиповСтрока,«Отчество»,50);
ФИО.Колонки.Добавить(«ДатаРождения»,ОписаниеТиповДата,«Дата рождения»,10);

Метод Вставить имеет следующий синтаксис:

Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)

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

Доработаем предыдущий код:

ФИО.Колонки.Вставить(3,«ФИО»,ОписаниеТиповСтрока,«ФИО»,50);

В нашем случае колонка ФИО встала точно между Отчеством и Датой рождения.

Создание колонок в таблице значений на форме

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

Кнопка Добавить колонку реквизита

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

Задаем свойства колонки таблицы на форме

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

Первый способ – перетащить колонку из реквизитов в элементы.

Перетаскиваем колонку из реквизитов формы в элементы

После этого, колонка появиться под таблицей, а сама таблица отобразиться на форме (таблица без колонок на форме не отображается).

Колонка в таблице на форме

Второй способ – создать новое поле «под» таблицей на форме и привязать к нему нужную колонку таблицы значений 1С.

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

Добавляем новый элемент управляемой формы

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

Свойство ПутьКДанным элемента поле управляемой формы

После этого колонка сразу же появиться в таблице на форме 1С.

Колонка в таблице на форме
О работе со строками в таблицах значений читайте в статье по ссылке:
Таблице значений 1С: работа со строками

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

Книга «Программировать в 1С за 11 шагов»

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

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

Книга «Основы разработки в 1С: Такси»

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

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

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


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

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

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

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

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

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