Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

Глава 29 Работа с Таблицей Значений

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

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

Одним из примеров использования данного объекта может служить органи­зация выбора конкретного товара из таблицы возможных товаров, сформиро­ванной по сложному алгоритму.

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

Контекст работы с Таблицей Значений

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

Чтобы вызвать метод объекта, имя метода (с указанием необходимых пара­метров) пишется через точку после имени объекта.

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

Англоязычный синоним ключевого слова ТаблицаЗначений — ValueTable.

Пример:

МояТаблицаЗначений = СоздатьОбъект("ТаблицаЗначений");

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]