Применение
таблиц в режиме ввода данных используется в специальных случаях,
когда необходимо ввести большое количество данных.
8.1.
Свойства таблицы в режиме ввода данных
8.2. Выгрузка и загрузка значений таблицы с помощью
объекта "СписокЗначений"
8.3. Работа с "пустой" таблицей
8.4. План занятия
8.1.
Свойства таблицы в режиме ввода данных
Работать в режиме
ввода данных могут таблицы в отчетах и обработках. Данный режим
использования таблицы включается через свойства формы (вызов свойств
формы выполняется из меню «Действия» пунктом «Свойства формы»).
Режим
ввода данных позволяет совместить в одной форме отчета диалог формы
вместе с табличным документом или вообще заменить диалог табличным
документом. У ячеек таблицы в режиме ввода в свойствах появляется
дополнительная закладка, обозначающая тип данных. Для ячеек, в которые
предполагается вводить данные, требуется выключить флажок «защита».
Работа
в режиме ввода имеет несколько особенностей с точки зрения обращения
к таблице средствами встроенного языка. Во-первых, доступ к таблице
осуществляется с помощью ключевого слова «Таблица». Кроме того,
в модуле формы допустимо непосредственное обращение к значениям
именованных ячеек по их именам. При обращении к области таблицы
используется атрибут «Значение», который предоставляет доступ значению
ячеек. При этом тип значений определяется типом, выбранным в закладке
свойств ячейки «Данные».
В
свойствах ячеек можно задавать формулы. Формула выполняется непосредственно
после ввода значений в ячейку и используется обычно для вызова процедуры
обработки значений других ячеек. У ячеек, имеющих признак «защита»,
формула является обычным выражением и вычисляет собственно значение
ячейки как у элементов диалога типа «Текст».
8.2.
Выгрузка и загрузка значений таблицы с помощью объекта «СписокЗначений»
Для
выгрузки и загрузки большого числа переменных удобно использовать
объект типа «СписокЗначений». Объект этого типа создается функцией
«СоздатьОбъект». У каждого элемента списка значений есть «значение»
и «представление».
Добавление
нового элемента в список осуществляется функцией «ДобавитьЗначение(<Значение>,<Представление>)».
Для
загрузки элементов из списка значений используется функция «Загрузить(<Список>)»,
причем <Значение> элемента списка будет записано в ячейку
с именем <Представление>. Кроме имени можно использовать и
строковое выражение вида “R1C1”, обозначающее ряд и колонку ячейки.
После
ввода данных пользователем делается выгрузка данных из таблицы функцией
«Вырузить(<Список>)».
Пример.
Следующая программа осуществляет запись чисел от 1 до 30 в первую
колонку таблицы
Сп=СоздатьОбъект("СписокЗначений"); Для Н=1 по 30 Цикл Сп.ДобавитьЗначение(Строка(Н),"R"+Строка(Н)+"C1"); КонецЦикла; Таблица.Загрузить(Сп);
8.3.
Работа с «Пустой» таблицей
Кроме
режимов работы с таблицей в режиме «вывода» и «ввода» есть еще один
компромиссный вариант. В этом случае в свойствах формы нужно выбрать
вариант «Использовать таблицу «Пустую». Тогда в диалоге формы также
будет отображаться таблица, доступ к которой осуществляется по ключевому
слову «Таблица». Однако для этой таблицы, в отличие от таблицы для
ввода, доступны стандартные функции «ИсходнаяТаблица()», «ВывестиСекцию()»
и др. Для того, чтобы изменения в таблице стали видны, нужно выполнить
функцию Показать(). Чтобы прочитать или записать значение в ячейку
таблицы используется работа с объектом «Область».
Пример.
Следующая процедура считывает из ячеек таблицы значения и увеличивает
их в два раза.
//******************************************* Процедура Увеличить() Для Ном=1 По 10 Цикл Обл=Таблица.Область(Ном,1,Ном,1); Обл.Текст=Строка(Число(Обл.Текст)*2); КонецЦикла; Таблица.Показать(); КонецПроцедуры
8.4.
План занятия
- Реализовать
запись процентов в договор займа в отчете по задержке поступления
денежных средств из задания №1 из приложения 3.
- Реализовать
формирование корректирующих проводок по инвентаризационной ведомости
в задании №6 из приложения 3.
|