Img/xRom.gif Главная О сайте Новости Статьи Программы OLAP Ссылки
на сайте на Народ.Ру на Яндексе


Пример использования функции Шаблон().

Это небольшой пример использования функции Шаблон() для доступа к контексту локального модуля. В данном примере в функции глобального модуля настраивается видимость колонок табличной части документа. Схема довольно проста. Из локального модуля вызывается глобальная функция, которой в качестве формального параметра передается контекст.

Переменная СписокКолонок - это список значений с пометками элементами которого являются идентификаторы колонок табличной части документа. В данном примере не буду рассматривать как наполнить этот список значениями, я думаю это прозрачно. Просто замечу, что между сеансами работы с документом происходит сохранение и восстановление значений массива СписокКолонок.

Локальный модуль, например документ "Счет"

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Предопределенная процедура
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Процедура ПриОткрытии()  
    // какие-то действия
    _ВосстановитьВидимостьКолонок (Контекст);
    // какие-то действия
КонецПроцедуры

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Предопределенная процедура
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Процедура ПриЗакрытии()
     // какие-то действия
     СохранитьЗначение(Вид()+".СписокКолонок",СписокКолонок);
     // какие-то действия
КонецПроцедуры

Глобальный модуль...
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Восстановление/установка видимости колонок
//===============================================
Процедура _ВосстановитьВидимостьКолонок (Конт ) Экспорт
    СписокКолонок="";
    ВосстановитьЗначение(Конт .Вид ()+".СписокКолонок" ,СписокКолонок );
     Для Индекс =1 По СписокКолонок. РазмерСписка() Цикл
         ЗначСписка= СписокКолонок. ПолучитьЗначение( Индекс);
        флПометки= СписокКолонок. Пометка( Индекс);
        _Вычислить( "Форма."+ ЗначСписка+ ".Видимость("+флПометки+")");
    КонецЦикла;
КонецПроцедуры



1C:TOP-100 КЛУБ ПРОФЕССИОНАЛОВ 1С
Hosted by uCoz