Содержание:
1. Как установить текущую строку обычные формы в конфигурации программы 1С?
2. Как установить текущую строку управляемые формы в системе конфигурации 1С?
1. Как установить текущую строку обычные формы в конфигурации программы 1С?
Выбор активной строки может потребоваться для разных задач, но в основном сводится к базовым приемам работы с таблицами значений. Для этих целей во всех системах конфигураций 1С предусмотрены встроенные свойства и методы.
Говоря о таблицах, мы можем подразумевать табличную часть обычных или управляемых форм. Новые формы вошли в жизнь разработчиков и пользователей не так давно, но в скором времени они станут единственным инструментом взаимодействия с пользователем.
Чтобы понять принципы работы с табличными полями значений в управляемых формах, нужно освоить классические методы работы с таблицей значений (ТЗ).
ТЗ представляют собой двумерный массив, где:
· первое измерение – колонки (поля);
· второе измерение – строки (записи).
Индексация колонок и строк начинается с 0. Программист вручную формирует структуру и внешний вид табличной части обычной формы.
Главная цель введения управляемых форм – стандартизация разработки. Теперь платформа самостоятельно определяет структуру и отображение элементов формы, в том числе таблиц.
Любая управляемая форма состоит из блоков:
· Список элементов интерфейса формы;
· Реквизиты формы (сами данные);
· Модуль формы (используемые процедуры и функции);
· Превью формы.
Работа с табличными данными здесь осуществляется через реквизиты.
Создадим таблицу при помощи конструктора, и на её примере рассмотрим, как сделать выбранную строку активной:
// Создаем новый объект - ТЗ
ТестТаблица = Новый ТаблицаЗначений;
// Добавим колонки в таблицу
ТестТаблица.Колонки.Добавить("Журнал", Новый ОписаниеТипов("Строка"));
ТестТаблица.Колонки.Добавить("Издательство", Новый ОписаниеТипов("Строка"));
ТестТаблица.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
// Добавим в таблицу 2 записи:
НоваяСтрока = ТестТаблица.Добавить();
НоваяСтрока.Журнал = "Вокруг света";
НоваяСтрока.Издательство = "ООО ИЗДАТЕЛЬСТВО ВОКРУГ СВЕТА";
НоваяСтрока.Цена = 200;
НоваяСтрока = ТестТаблица.Добавить();
НоваяСтрока.Журнал = "Discovery";
НоваяСтрока.Издательство = " ИД ДИСКАВЕРИ";
НоваяСтрока.Цена = 250;
// Возьмем, например, первую строку таблицы (индексация с 0)
НужнаяСтрока = ТестТаблица[0];
Можно выбрать строку, используя любые доступные настройки поиска по таблице:
// Возьмем строку со значением «Вокруг света». Это снова первая запись таблицы
НужнаяСтрока = ТестТаблица.Найти("Вокруг света");
Когда мы определили, какая строка будет назначена текущей, используем свойство «ТекущаяСтрока», присущее табличным полям:
// Пусть табличное поле называется ТестПоле
ЭлементыФормы.ТестПоле.Текущаястрока = НужнаяСтрока;
По умолчанию, обычные формы 1С используются для толстого (обычного) клиента 1С.
2. Как установить текущую строку управляемые формы в системе конфигурации 1С?
Реквизиты управляемой формы имеют дело с типом данных в 1С ДанныеФормыКоллекция. Этот тип данных в 1С легко конвертируются в ТЗ и обратно при помощи идентификаторов.
Пусть у табличных данных будет та же структура, что и в прошлом примере. Точно так же, выберем строку для назначения:
// Возьмем, например, первую строку таблицы (индексация с 0)
НужнаяСтрока = ТестТаблица [0];
// Или возьмем строку таблицы со значением «Вокруг света». Это снова первая запись таблицы
НужнаяСтрока = ТестТаблица.Найти("Вокруг света");
У ДанныеФормыКоллекция нет текущей строки, но есть идентификатор, гарантирующий корректное преобразование типов.
Получим идентификатор ТЗ:
ИдентификаторСтроки = НужнаяСтрока.ПолучитьИдентификатор();
Далее, установим в табличном поле текущую строку:
// Пусть табличное поле называется ТестПоле
ЭлементыФормы.ТестПоле.Текущаястрока = ИдентификаторСтроки;
По умолчанию, управляемые формы используются для тонкого и веб клиента 1С.
Специалист компании "Кодерлайн"
Марина Анапольская