Адрес этой странички :
http://doc-prg.narod.ru/art_00011/art_00011.htm
Дата обновления : 24.08.2007
© 24.08.2007 Сергей Попов
Здесь следует отметить, что приведенная ниже статья носит чисто
иллюстративный характер и не претендует на бОльшее.
Для серьезной и углубленной проработки специальных вопросов информационного
обмена крайне рекомендуется использовать фирменное техническое описание системы
1Cv8.
1Cv8.
Возможный вариант эмуляции метода
EvalExpr
(системы 1Cv7).
Статью в виде файла (387 кб) можно скачать здесь: art_00011.zip
Система 1С:Предприятие версии 7.7 предоставляла прикладному
программисту возможность использования метода
EvalExpr, который позволял вычислить какое-либо
выражение и был доступен из внешних приложений через механизм OLE
Automation, что было крайне удобно при решении многих задач
информационного обмена с системой 1С:Предприятие.
В версии 1Cv8 этот метод отсутствует.
Здесь рассмотрен возможный вариант эмуляции этого метода в контексте системы
1Cv8.
Доработаем нашу конфигурацию HomeLib (38 кб) : homelib_05.zip следующим образом.
Добавим новый общий модуль (рис.1) :
Рис.1. Свойства
нового общего модуля конфигурации HomeLib.
В тексте модуля создадим две функции :
Рис.2. Содержание нового общего модуля
конфигурации HomeLib.
Назначение и синтаксис функции "Выполнить" :
Здесь
следует отметить : входной параметр не обязательно должен иметь тип "Строка" -
что очень важно и полезно (как мы увидим в след.статьях) ...
Для проверки функции
EvalExprStr_OLE (рис.2)
создадим внешнюю обработку.
Для этого выберем пункт меню "Файл -> Новый" и в
открывшемся окне диалога соответствующую строку (рис. 3) :
Рис.3 Создание внешней обработки
Затем, укажем имя обработки :
и сохраним ее в файл :
Создадим форму обработки :
Рис.4 Форма обработки, созданная конфигуратором по
умолчанию
Удалим из формы кнопку "Выполнить" и добавим 3 новых кнопки :
Рис.5 Наша доработка формы
Создадим обработчики событий для каждой кнопки (нажатие на
кнопку) :
Рис.6 Обработчики событий: нажатие на кнопки
Здесь можно взять готовую внешнюю обработку (3.5 кб) : splibole_test.zip
Теперь проверим, как все это работает.
Запустим программу 1С:Предприятие (версия 8) и откроем нашу форму (в контексте
информационной базы homelib_05.zip).
Затем, поочередно понажимаем на кнопки ...
Результат представлен на рис. 7.
Рис.7 Результат тестирования функции EvalExprStr_OLE
Здесь комментарии излишни ...
В дальнейшем эта функция (EvalExprStr_OLE) пригодится нам при использовании механизма
OLE
Automation для доступа к информации в базе данных 1Cv8.
© 24.08.2007 Сергей Попов