Текущая версия 1.0.1.1 Скачать
Что это История версий
ВК TurboMD
Автор: Александр Орефков

Назначение:
Динамическая загрузка любых модулей и форм во время работы 1С-Предприятия

Данная компонента предназначена для возможности динамической загрузки модулей и форм во-время работы 1С-Предприятия без необходимости сохранять конфигурацию.
Почему модулей? Чем не устраивает #ЗагрузитьИзФайла?
Не устраивает во-первых тем, что данная директива должна быть вставлена в конфигурацию, если загодя этого не сделать, возможности изменить модуль нет.
Во-вторых, 1С каждый раз при загрузке модуля считывает файл, и компилирует его, не глядя, менялся или нет файл с прошлой загрузки. Что сказывается на производительности работы, и как следствие, желание использовать #ЗагрузитьИзФайла как можно реже. (а далее см. во-первых).
TurboMD следит за временем последнего изменения файла, и без необходимости не производит лишних загрузок/компиляций.
Загрузки форм из файлов штатно в 1С вообще нет. Удалось это исправить. Для использования этой возможности вам необходимо уметь выгружать формы из файла метаданных во внешние файлы. Для выгрузки форм из файла метаданных можно воспользоваться как средствами самой TurboMD, так и такими продуктами, как GComp, Compaund, ActiveMD.

Порядок использования:

Компонента загружается в 1С с помощью метода
ЗагрузитьВнешнююКомпоненту(ПутьКдлл);
При загрузке компонента создает в каталоге ИБ файл turbomd.prm, (ключевой файл), в котором можно прописать те формы и модули, которые должны загружаться динамически из файлов.
Формат записи об объекте в ключевом файле:
ИмяФормыИлиМодуля=файл
Имя модуля легко посмотреть в конфигураторе, сделав в модуле синтаксическую ошибку, и запустив проверку.
Имя формы определяется как имя модуля, только вместо последнего слова "Модуль", пишется "Диалог".
Незначащие пробелы обрезаются.
Например:
Справочник.Проверка.Форма.Модуль		= спрПровМодуль.txt
Справочник.Проверка.Форма.Диалог		= спрформа.txt
Справочник.Проверка.Форма группы.Диалог	= спрфг.txt
Документ.Новый1.Модуль Документа		= новдокпров.txt
При указании неполного пути к файлу, он ищется относительно каталога ИБ.
В файл возможно вставлять комментарии. Строки, начинающиеся с символов "/", ";" или "=", считаются комментариями, и исключаются из обработки. Имя объекта и файла должны располагаться в одной строке.
Файл turbomd.prm можно редактировать прямо во время работы 1С-Предприятия, при необходимости добавляя/удаляя записи о загружаемых файлах.
Для програмного управления расположением ключевого файла с записями о загружаемых формах и модулях, а также базового каталога с файлами, применяется объект ТурбоМД (TurboMD)

Синтаксис
тмд=СоздатьОбъект("ТурбоМД");

Свойства объекта:

КлючевойФайл / KeyFile
Задает расположение ключевого файла.
Например
	тмд=СоздатьОбъект("ТурбоМД");
	Сообщить(тмд.КлючевойФайл);
	тмд.КлючевойФайл=КаталогИБ()+"формыдляоператоров.тмд";
Присвоение свойству КлючевойФайл пустой строки отключает работу компоненты.

БазовыйКаталог / BaseDir
Задает расположение базового каталога для поиска файлов, указанных с относительным путем.
Например
	тмд=СоздатьОбъект("ТурбоМД");
	Сообщить(тмд.БазовыйКаталог);
	тмд.БазовыйКаталог="unpack";
При указании неполного пути к новому базовому каталогу, он ищется относительно старого. Если каталог не существует, значение базового каталога не изменяется.

Методы объекта:
ОткрытьОкно() / OpenWindow()
Открывает форму, позволяющую просмотреть детальную информацию о настройках компоненты, а так же об объектах динамической загрузки.
Параметров нет.
Возвращает 0 - не удалось открыть окно, 1 - удалось.
Например
	тмд=СоздатьОбъект("ТурбоМД");
	тмд.ОткрытьОкно();
Визуальный интерфейс:

Компонента имеет встроенный визуальный интерфейс, вызываемый методом "ОткрытьОкно" объекта "ТурбоМД". В нем можно:
  • Задать расположение ключевого файла и базового каталога
  • Открыть для редактирования ключевой файл.
  • Получить информацию об объектах динамической загрузки:
    • Узнать, которые из них загружаются из файлов.
    • Дату/время последней модификации загружаемых файлов.
  • Просмотреть всю структуру модулей и форм метаданных.
  • Просмотреть текущее состояние объекта (конт.меню "Показать").
  • Открыть файл объекта динамической загрузки.
  • Выгрузить объект в файл.
Совместимость с 1С++, TurboBL, FormEx
ВК совместима с 1С++ и TurboBL при условии, что загружается ПОСЛЕ них.

Редактировать формы "на лету" удобнее всего, используя OpenConf (с версии 1.0.0.9) и прилагаемый скрипт TurboMD.vbs
TurboMD 1.0.1.2
  • Исправлен баг: при загрузке измененой формы иногда происходил "сдвиг" атрибутов контекста модуля. Например если в модуле написано Сообщить(Наименование), возвращался другой атрибут, например Код.
TurboMD 1.0.1.1
Косметические изменения в визуальном интерфейсе.
  • Сортировка в дереве метаданных по алфавиту.
  • Диалог выбора каталога при открытии устанавливается на текущем каталоге.
  • Устранил небольшую утечку памяти при выборе каталога.
  • Исправлена ошибка: при указании несуществующего каталога в качестве базового, в окне все-равно изменялось название каталога.
TurboMD 1.0.1.0
  • Оптимизировано обновление дерева метаданных при изменении ключевого файла.
  • Добавлены пункты меню.
  • Доработал контекстное меню.
  • Добавлены иконки для дерева метаданных.
  • Убрал Ctrl+Tab из переключателей страниц в окне TurboMD
  • Обновлена документация
TurboMD 1.0.0.4 (beta)
  • Исправлена ошибка, связанная с летним/зимним временем при получении времени модификации файла
  • Исправлены разные баги
  • Продолжается работа над визуальным интерфейсом
TurboMD 1.0.0.3 (beta)

  • Исправил ошибку незагрузки с сервера измененного файла при расхож дении в показании часов на сервере и локальной машине.
  • Исправлена ошибка при формировании имени объекта
  • Начал работу над визуальным интерфейсом компоненты
  • Добавлен метод "ОткрытьОкно"
  • Обновлена документация
TurboMD 1.0.0.2 (beta)

  • Исправлена работа с формами более 32 КБайт
  • Вроде добил совместную с #ЗагрузитьИзФайла работу
TurboMD 1.0.0.1 (beta)

  • Обновлена документация
  • Добавлен объект ТурбоМД/TurboMD со свойствами
    KeyFile/КлючевойФайл
    BaseDir/БазовыйКаталог
  • Изменен парсер ключевого файла.
    Возможно комментирование в нем.
  • Исправлено - при компиляции модуля, если он не указан в turbomd.prm, но в нем стоит #ЗагрузитьИзФайла, не производилось считывание из файла
  • Изменен диалог свойств компоненты.
  • Исправлены мелкие глюки
  • Изменен номер версии.

1C:TOP-100 Рейтинг ресурсов 1С