Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

Плагин FdSubst для платформы OpenConf

Назначение и установка

Замена стандартных диалогов открытия/сохранения файла в Конфигураторе 1С:Предприятия. Плагин "превращает" все стандартные диалоги открытия/сохранения файлов 1С:Предприятия в диалоги в стиле Проводника, с удобной панелью слева, содержащей значки для быстрого перехода к различным папкам, и некоторыми другими возможностями, которых нет в стандартных диалогах.

Ник автора плагина: MetaEditor.

Возможности:

Установка: скопируйте файл fdsubst.dll в подкаталог \BIN\Config\ каталога установки 1С:Предприятия. Если 1С:Предприятие было запущено, перезапустите его.

Вы можете скачать плагин в Клубе Профессионалов 1С или здесь (версия 2.0.1.2, 24 369 байт).

Настройка

Настройка двух дополнительных кнопок для быстрого перехода на панели слева:

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\CustomPlaces\

В вышеуказанной ветви реестра создайте два строковых параметра с именами CustomPlace1 и CustomPlace2 со значениями в формате <Заголовок кнопки>#<Путь к папке>, например, Projects#D:\1C\Projects. Если значения в реестре не заданы, то по умолчанию создаются кнопки "Каталог ИБ" и "Каталог 1С". В путях допускаются символы макроподстановки и переменные окружения, подробнее описанные ниже. После настройки потребуется перезапуск 1С:Предприятия.

Настройка пяти кнопок для быстрого перехода, стандартных для Проводника, будет касаться всех приложений и описана здесь: Настройка стандартных диалоговых окон открытия и сохранения файла в Windows-программах.

Настройка кнопки "Избранное" в верхней панели инструментов диалога:

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\MRUList\

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

В названии параметра (пункта меню избранного) может быть указан символ "|" для группировки в подменю (только один уровень вложенности). Например, параметры
Каталог 1С|Intell
Каталог 1С|Каталог 1С
Каталог 1С|Скрипты
будут сгруппированы в подменю "Каталог 1С".

Настройка путей к папкам в реестре: в строке пути могут быть указаны значения переменных окружения, например, %windir%, %userprofile%, %programfiles%, и т.п. Также в качестве "переменных окружения" можно указывать %ibdir% и %bindir% - каталог информационной базы и каталог программных файлов 1С:Предприятия соответственно. Кроме того, перед значениями переменных окружения допускаются символы "-", количество которых обозначает переход на нужное количество уровней вверх. Примеры возможных путей:

Предпросмотр картинок в диалоге выбора изображения, к сожалению, работать не будет (при вызове диалога открытия файла из библиотеки картинок конфигурации флажок "Просмотр" не произведёт эффекта). Однако, в Windows XP для этого случая возможно автоматическое переключение в режим "просмотр эскизов". Для этого в реестре необходимо создать нижеуказанный строковый параметр со значением 1:

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\fdsubst\Options\AutoThumbnailsView

Версия 3.0.1.0

Вы можете скачать плагин на инфостарте или здесь (версия 3.0.1.0 от 25.08.2006, 73 224 байт). Теперь к плагину прилагается внешняя компонента для 1С:Предприятия, а также отдельное независимое приложение, позволяющее заменить диалоги открытия/сохранения файлов в любых программах.


Новое в плагине:


Диалог настройки параметров вызывается кнопкой избранного (пиктограмма звёздочки в верхней части справа в окне диалога выбора файла). Пункты меню "Добавить в список..." и "Настройка..." вызывают один и тот же диалог настроек, но в первом случае в диалоге автоматически предлагается добавить в избранное текущую папку.

Список "Меню избранного" в диалоге позволяет добавить, удалить и рассортировать дополнительные (пользовательские) пункты меню избранного, которые появятся выше пунктов "Добавить в список..." и "Настройка...". Список служит для управления параметрами ветки реестра HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\MRUList\ (см. выше описание предыдущей версии плагина). Для вставки разделителя в меню достаточно создать пункт меню с названием "-".

Группа "Дополнительные кнопки в PlacesBar" - "1С:Предприятие 7.7/8.x" в диалоге позволяет задать имена и пути к нужным папкам для двух дополнительных кнопок быстрого перехода на панели слева. Группа управляет параметрами ветки реестра HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\CustomPlaces\ (см. выше описание предыдущей версии плагина).

Флажок "увеличивать диалоги" в левом нижнем углу диалога настройки позволяет автоматически несколько увеличить размер диалога выбора файла при его последующих вызовах. Для вступления изменений в силу нужно перезапустить Конфигуратор.

Остальные элементы управления диалога настройки работают только для дополнительного независимого приложения, позволяющего заменить диалоги открытия/сохранения файлов в любых программах (об этом ниже).


Внешняя компонента:


Позволяет загрузить и использовать плагин в режиме предприятия. Реализует один метод:

ЗагрузитьБиблиотеку(<ИмяФайла>)
LoadLibrary(<FileName>)

Метод возвращает: 1 - если библиотека загружена, 0 - если не загружена.

Хотя внешняя компонента писалась непосредственно для плагина к конфигуратору fdsubst.dll, чтобы использовать его функционал в режиме предприятия, её можно использовать и для произвольных DLL. Эта внешняя компонента просто реализует обертку над API функцией LoadLibrary, т.е. если найдется какая-нибудь DLL, не являющаяся ни COM-вервером, ни внешней компонентой для 1С:Предприятия, а являющаяся "обычной" DLL, которая делает что-то полезное при её загрузке (собственно, чем и является плагин FdSubst), то её можно будет загрузить таким способом.

Пример использования:

Если ЗагрузитьВнешнююКомпоненту("SimpleDllLoader.dll") = 1 Тогда
    Загрузчик = СоздатьОбъект("AddIn.SimpleDllLoader");
    Если Загрузчик.ЗагрузитьБиблиотеку(КаталогПрограммы() + "fdsubst.dll") = 0 Тогда
        Сообщить("Библиотека fdsubst.dll не загружена");
    КонецЕсли;
КонецЕсли;

Внешняя компонента предоставляет возможность закрыть доступ ко всем диалогам открытия/сохранения файла в режиме предприятия, а также вставки картинок и OLE-объектов в таблицы. Для этого необходимо создать в реестре по адресу

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\Options

строковый параметр BlockEnterpriseDialogs со значением 1.

Кроме того, внешняя компонента исправляет баг диалога выбора файла (ФС.ВыбратьФайл), который обрезает имя выбранного файла до 63-х символов.


Внешнее приложение:


Позволяет заменить диалоги открытия/сохранения файлов в 1С:Предприятии 7.7 и 8.х (файловый вариант) без специальной загрузки в конфигуратор или предприятие, работает для всех запущенных программ 1С. Кроме того, при установке соответствующей опции позволяет заменить диалоги открытия/сохранения файлов в любых программах.

Программа запускается из любой папки. В папке с программой должен быть файл fdsubst.dll. При запуске в трее появится иконка программы.

Программа тестировалась с различными приложениями, работает стабильно. Однако, в случае конфликтов имеется возможность исключить указанные приложения из обработки. Для этого в диалоге настроек необходимо добавить нужные программы в список "Программы-исключения". Например, CorelDraw, Photo-Paint и некоторые другие программы с их "специфическими" диалогами могут конфликтовать с FdSubst.

Для настройки двух дополнительных кнопок быстрого перехода на панели слева (имён и путей к нужным папкам) используйте группу "Дополнительные кнопки в PlacesBar" - "Остальные программы" в диалоге настроек.

Контекстное меню иконки программы в трее позволяет вызвать диалог настроек, поместить программу в автозагрузку, установить опцию применения "Для всех программ", вызвать диалог "О программе", завершить работу программы. Двойной щелчок по иконке программы в трее вызывает диалог настроек программы.

Версия 3.0.1.1

Вы можете скачать плагин на инфостарте или здесь (версия 3.0.1.1 от 30.08.2006, 73 425 байт).

Исправлены небольшие ошибки:

Версия 3.0.1.3

Вы можете скачать плагин на инфостарте или здесь (версия 3.0.1.3 от 20.09.2006, 74 464 байт).

Исправлены небольшие ошибки:

Добавлен строковый параметр BlockAllDialogs в разделе реестра:

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\Options

Если этот параметр равен "1", программа блокирует в системе все файловые диалоги "открыть" и "сохранить". Это можно использовать, например, для настройки безопасности при работе в терминале. В этом случае можно запускать 1С и FDSubst, например, в стартовом скрипте:

Set Shell = CreateObject("WScript.Shell")
' опция "Для всех программ"
Shell.RegWrite "HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\Options\ModifyAllDialogs", "1"
' запрет всех диалогов
Shell.RegWrite "HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\Options\BlockAllDialogs", "1"
Set Proc = Shell.Exec("FDSubst1C.exe")
Shell.Run "<1C>", 1, true
Proc.Terminate
'или Shell.Run "logoff"

Добавлен строковый параметр DisableExplorerFunction в разделе реестра:

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\OpenConf\Plugins\FDsubst\Options

Если этот параметр равен "1", программа "отключает" в файловых диалогах контекстное меню в списке файлов, то есть через диалог нельзя скопировать, удалить, открыть другой файл, и т.д. Таким образом, в 1С остаётся возможность сохранять печатные формы отчетов, но при этом файловые операции будут недоступны. Параметры BlockAllDialogs и BlockEnterpriseDialogs при этом должны быть отключены.

Пример загрузки внешней компоненты SimpleDllLoader.dll без регистрации в реестре с помощью vkloader.dll (эту компоненту см. здесь: http://openconf.1cpp.ru/vk/vkloader/index.html):

ЗагрузитьВнешнююКомпоненту("vkloader.dll");
ЗагрузчикВК = СоздатьОбъект("ЗагрузчикВК"); 
ЗагрузчикВК.ЗагрузитьВК("SimpleDllLoader.dll","Addin.SimpleDllLoader=0062aee4-ace8-473f-b384-f544af1e7974");
ЗагрузчикДЛЛ = СоздатьОбъект("AddIn.SimpleDllLoader");
ЗагрузчикДЛЛ.ЗагрузитьБиблиотеку(КаталогИБ()+"fdsubst.dll");

Версия 3.0.1.6

Вы можете скачать плагин на инфостарте или здесь (версия 3.0.1.6 от 23.10.2007, 57 793 байт).

Людоговский Александр

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.