Информационные системы
Таблица для ввода данных
 

1С:Предприятие

Курс лекций

1. Введение в 1С
2. Бухгалтерский учет
3. Встроенный язык

4. Справочники и документы
5. Запросы и отчеты
6. Компонента "Бух. учет"
7. Бухгалтерские итоги
8. Таблица для ввода данных
9. Экспорт / импорт данных

Приложения

1. Вопросы к экзамену
2. Обязательные навыки
3. Практические задания
4. Франчайзи Новосибирска

Об авторе курса


Учебник
Рассылка
Статьи
Программы
Ссылки

Информационные технологии

Интересное

Форум

mista.ru / 1С:Предприятие / Курс лекций / Таблица для ввода данных

Применение таблиц в режиме ввода данных используется в специальных случаях, когда необходимо ввести большое количество данных.

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. Реализовать запись процентов в договор займа в отчете по задержке поступления денежных средств из задания №1 из приложения 3.
  2. Реализовать формирование корректирующих проводок по инвентаризационной ведомости в задании №6 из приложения 3.
© Станислав Митичкин
www.mista.ru
, 1997-2003
1C:TOP-100
Волшебный форум