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

Контекст работы с таблицами

Объект типа «Таблица» создается функцией СоздатьОбъект, ссылка на который присваивается переменной. Чтобы вызвать метод объекта, имя метода (с указанием необходимых параметров) пишется через точку после идентифи­катора переменной.

Для создания объекта типа «Таблица» в качестве параметра функции СоздатьОбъект передается ключевое слово "Таблица".

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

Пример:

// Подготовка к заполнению выходных форм

Таб = СоздатьОбъект("Таблица");

Пока Запрос.Группировка("Сотр") = 1 Цикл

// Заполнение полей Сотр

Таб, ВывестиСекцию("РЛ<");

Пока Запрос.Группировка("Расч") = 1 Цикл

// Заполнение полей Расч

Таб.ВывестиСекцию("ОТ");

КонецЦикла;

Таб.ВывестиСекцию("РЛ>");

КонецЦикла;

// Вывод заполненной формы

Таб.Опции(0, 0, 0, 0);

Таб.ТолькоПросмотр(1);

Таб.Показать("Результат");

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

Атрибуты таблиц ТекущийОбъект

Значение встроенного объекта таблицы.

Синтаксис:

ТекущийОбъект

Англоязычный синоним:

CurrentObj

Описание:

Атрибут (только для чтения) ТекущийОбъект содержит значение встроен­ного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект». Он доступен только в выражении (и в теле процедур, которые вызываются в вы­ражении), которое записывается в конфигураторе в свойствах встроенного объекта таблицы типа «Картинка», «Диаграмма» или «OLE объект» («Свойства» — «Дополнительныо» — «Текст»). Этот атрибут позволяет использовать в про­граммном модуле полученное значение объекта для манипуляции с ним. Например, для взаимодействия с внешним приложением через механизм OLE Automation.

Пример:

* Допустим, в таблицу для построения диаграммы внедрен OLE-объект «MicrosoftGraf97». В свойствах этого объекта («Свойства» — «Дополнительные» — «Текст») в конфигураторе записано выражение:

ПостроитьГрафик(Таб.ТекущийОбъект, Запрос)

в программном модуле, в процедуре ПостроитьГрафик, можно записать алгоритм построения графика, непосредственно управляя внешним приложени­ем MicrosoftGraf97.

Процедура ПостроитьГрафик(График, Запрос)

Datasheet = График.Application.Datasheet;

XCounter = 2;

YCounter = 2;

Пока Запрос.Группировка("Клиент") = 1 Цикл

Если Запрос.Клиент.ЭтоГруппа() = 1 Тогда

Продолжить;

КонецЕсли;

range = Datasheet.Cells(1, XCounter);

range.Value = Запрос.Клиент.Наименование;

Пока Запрос.Группировка("Товар") = 1 Цикл

range = Datasheet.Cells(YCounter, 1);

range.Value = Запрос.Товар.Наименование;

range = Datasheet.Cells(YCounter, XCounter);

range.Value = Запрос.ПродСум;

YCounter = YCounter+1;

КонецЦикла;

YCounter = 2;

XCounter = XCounter+l;

КонецЦикла;

КонецПроцедуры

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

См. также: «Работа с Диаграммами», «Связь с внешними приложениями по­средством механизмов OLE Automation»

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