Адрес этой странички : http://doc-prg.narod.ru/art_00011/art_00011.htm 
Дата обновления : 24.08.2007
 

(c) Sergey Popov, Usinsk, Komi, 2007

© 24.08.2007 Сергей Попов

Здесь следует отметить, что приведенная ниже статья носит чисто иллюстративный характер и не претендует на бОльшее.
Для серьезной и углубленной проработки специальных вопросов информационного обмена крайне рекомендуется использовать фирменное техническое описание системы 1Cv8.

1Cv8.
Возможный вариант эмуляции метода
EvalExpr
(системы
1Cv7).
 

Статью в виде файла (387 кб) можно скачать здесь: art_00011.zip

Система 1С:Предприятие версии 7.7 предоставляла прикладному программисту возможность использования метода EvalExpr, который позволял вычислить какое-либо выражение и был доступен из внешних приложений через механизм OLE Automation, что было крайне удобно при решении многих задач информационного обмена с системой 1С:Предприятие.
В версии 1
Cv8 этот метод отсутствует.
Здесь рассмотрен возможный вариант эмуляции этого метода в контексте системы
1Cv8.

Доработаем нашу конфигурацию HomeLib (38 кб) : homelib_05.zip  следующим образом.

Добавим новый общий модуль (рис.1) :


Рис.1.
Свойства нового общего модуля конфигурации HomeLib.

В тексте модуля создадим две функции :


Рис.2. Содержание  нового общего модуля конфигурации HomeLib.

Назначение и синтаксис функции "Выполнить" :

Выполнить (Execute)
Синтаксис:
Выполнить(<Строка>)
Параметры:
<Строка>
Строка, содержащая текст исполняемого кода.
Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.

Здесь следует отметить : входной параметр не обязательно должен иметь тип "Строка" - что очень важно и полезно (как мы увидим в след.статьях) ...
 

Для проверки функции 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 Сергей Попов

 


Hosted by uCoz