1С Таблица умножения |
Автор: А.Волос |
Задача1. Создать в конфигураторе таблицу значений Таблица1 с одной колонкой Таблица.2. Программно в созданной таблице значений создать матрицу таблицы умножения.
РешениеАнализ решенияПоскольку колонки в ТЗ являются реквизитами формы, то программно они добавляется так:
РеквизТЗ = Новый РеквизитФормы("Число" + Счетчик, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный)), "Таблица1", Строка(Счетчик));
Инструкция:
Новый РеквизитФормы()
Означает, что будет вызван стандартный конструктор для реквизита формы.
Синтаксис конструктора и параметры конструктора:
Новый РеквизитФормы(<Имя>, <Тип>, <Путь>, <Заголовок>, <СохраняемыеДанные>)
Имя (реквизита): "Число" + СчетчикТип: Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный)) Путь: "Таблица1" Заголовок: Строка(Счетчик) Сохраняемые данные: Пусто (не обязательный параметр) Как видим, для типа реквизита так же использован вызов конструктора: Новый ОписаниеТипов(). Тип: Число, и опять же с помощью конструктора Новый Квалификаторы() указан квалификатор числа. Для типа Строка тут было бы что-то другое. Поскольку добавление колонок в массив у нас происходит в цикле: То видим, что у колонок будут отличаться только Имя колонки и Заголовок. Тип и Путь для всех колонок одинаковы. После того, как колонки созданы и добавлены в массив, вызывается функция: ИзменитьРеквизиты():
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
Синтаксис этой функции:
УправляемаяФорма.ИзменитьРеквизиты (ManagedForm.ChangeAttributes) УправляемаяФорма (ManagedForm) ИзменитьРеквизиты (ChangeAttributes) Синтаксис: ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>) Параметры: <ДобавляемыеРеквизиты> (необязательный) Тип: Массив. Массив, содержащий объекты типа РеквизитФормы. Добавлять можно реквизиты верхнего уровня и вложенные реквизиты, являющиеся колонками. К добавленным реквизитам верхнего уровня из модуля можно обращаться только с помощью конструкции ЭтаФорма.<Имя реквизита>. <УдаляемыеРеквизиты> (необязательный) Тип: Массив. Массив, содержащий строки, описывающие пути к удаляемым реквизитам. Удалять можно только ранее программно добавленные реквизиты. Описание: Изменяет структуру реквизитов формы. Сначала выполняется удаление реквизитов. Таким образом массивы добавляемых и удаляемых реквизитов могут содержать реквизиты с одинаковым путём. Доступность: Сервер. В общем эта функция получает массив реквизитов и добавляет реквизиты в объект (не на форму). Далее добавим реквизиты на форму и свяжем их с реквизитами объекта: Здесь Таблица1 - это элемент формы, соответственно Таблица1Число1, Таблица1Число2, Таблица1Число3 и тд - это дочерний элемент элемента формы Таблица1. То есть проще говоря это колонки таблицы Таблица1. Для каждой колонки на форме указывается путь к данным! В данном случае это одноименные реквизиты Таблица1Число1, Таблица1Число2, Таблица1Число3 и тд. Ну и далее инициализация созданной таблицы значений: В статье использован материал: http://novichok1c.ru/forum/zadachka Скачать внешнюю обработку: 1С Таблица умножения
|
Обновлено 23.09.2014 15:42 |