Книга знаний

1С:Предприятие / Приемы программирования / Внешние компоненты

ТурбоМД: решение проблемы загрузки мокселей

С использованием 1С++Автор статьи:
Последняя редакция №1 от 12.05.06
URL: http://kb.mista.ru/article.php?id=222

Ключевые слова: ТурбоМД, TurboMD, Моксель, динамическая, загрузка


ВК ТурбоМД (Книга знаний: OpenConf: пишем скрипты для конфигуратора 1С 7.7 (статья)) позволяет работать с динамической загрузкой модулей и форм.
С выгруженными мокселями(шаблонами таблиц) он работать не умеет.

Для решения проблемы подгрузки шаблонов MXL, выгруженных с помощью скрипта TurboMD.vbs используйте
следующую технику.
Вам понадобится ВК 1С++ (www.1cpp.ru) версии 2.0.2:

Создайте класс-наследник от Таблица с методом

class ТаблицаТМБ = ТаблицаТМБ.ert: Таблица
{
Число ИсходнаяТаблица (Строка Имя, Строка Путь="");
}

Функция ИсходнаяТаблица(Имя, Путь) Экспорт
   ВнешняяФорма = Путь;
   Если (ПустаяСтрока(ВнешняяФорма) = 1) И (ФС.СуществуетФайл(Имя) = 0) Тогда
       Если ПустаяСтрока(глИмяТекущегоОбъекта) = 0 Тогда
           ВнешняяФорма = СокрЛП(КаталогИБ())+"unpack\" + СтрЗаменить(глИмяТекущегоОбъекта,".","\") + "\";
       КонецЕсли
   КонецЕсли;
   Сообщить(ВнешняяФорма + Имя + ".mxl");
   Рез = Этот().ПолучитьБазовыйКласс("Таблица").ИсходнаяТаблица(ВнешняяФорма + Имя + ".mxl");
   Возврат Рез;
КонецФункции // ИсходнаяТаблица()

В глобальном модуле добавьте:
Перем глИмяТекущегоОбъекта Экспорт;

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриЗагрузкеФормы(ИмяОбъекта)
   глИмяТекущегоОбъекта = ИмяОбъекта;
КонецПроцедуры

//******************************************************************************
// Предопределенная процедура
//
Процедура ПослеЗакрытия(Конт)
   глИмяТекущегоОбъекта = "";
КонецПроцедуры

Использование:
Таб = СоздатьОбъект("ТаблицаТМБ");
Таб.ИсходнаяТаблица("Печать");

Теперь метод ИсходнаяТаблица будет пытаться загрузить шаблон, выгруженный с помощью скрипта ТубоМД::UnloadCurrentWnd.

Что не сделано/не протестировано:
1) Обработка нескольких открытых форм
2) Сравнение дат МД-шика и выгруженного мокселя
3) Еще что-то :-)

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика