Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:technical_manual:work_via_ole:script_work_via_ole [2018/02/05 14:50] admin |
ru:technical_manual:work_via_ole:script_work_via_ole [2019/09/13 09:35] (текущий) belkin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Сценарии работы с Business Studio через OLE ====== | ====== Сценарии работы с Business Studio через OLE ====== | ||
+ | |||
+ | В приведенных ниже примерах: | ||
+ | * <Имя_сервера_БД> - имя сервера базы данных, | ||
+ | * <Имя_базы> - название базы данных, | ||
+ | * <Редакция_продукта> - Enterprise, Professional или Cockpit. Редакция продукта должна соответствовать имеющейся лицензии, иначе запуск приложения не удастся. | ||
===== Пример синхронизации справочника сотрудников с внешним хранилищем ===== | ===== Пример синхронизации справочника сотрудников с внешним хранилищем ===== | ||
Строка 371: | Строка 376: | ||
</code> | </code> | ||
- | + | ===== Пример вывода сообщением всех потомков папок с первого уровня справочника Направления Деятельности ===== | |
- | Здесь <Имя_сервера_БД> - имя сервера базы данных, <Имя_базы> - название базы данных, <Редакция_продукта> - Enterprise, Professional или Cockpit. Редакция продукта должна соответствовать имеющейся лицензии, иначе запуск приложения не удастся. | + | <code> |
+ | |||
+ | Sub ВыводПотомковПапок() | ||
+ | |||
+ | ' Получение объекта приложения | ||
+ | |||
+ | Set oleapp = CreateObject("ByteEnterprise.OleApplication") | ||
+ | |||
+ | ' Инициализации приложения, в качестве параметров передаются имя сервера, название базы, версия продукта | ||
+ | |||
+ | Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("<Имя_сервера_БД>", "<Имя_базы>", "<Редакция_продукта>") | ||
+ | |||
+ | ' Получаем только папки в корне | ||
+ | |||
+ | Set Корень = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.НаправленияДеятельности") | ||
+ | |||
+ | Set Фильтр = Корень.СоздатьФильтр | ||
+ | |||
+ | Фильтр.ВключатьПодгруппы = False | ||
+ | |||
+ | Фильтр.РезультатВключает = 9 | ||
+ | |||
+ | Set Папки = Фильтр.Выполнить | ||
+ | |||
+ | 'Для каждой папки строим свой подфильтр | ||
+ | |||
+ | For Счётчик = 1to Папки.КоличествоЭлементов | ||
+ | |||
+ | Set Папка = Потомки.ПолучитьЭлемент(Счётчик) | ||
+ | |||
+ | Set Фильтр2 = Папка.СоздатьФильтр | ||
+ | |||
+ | Фильтр2.ВключатьПодгруппы = False | ||
+ | |||
+ | Set Потомки = Фильтр2.Выполнить | ||
+ | |||
+ | For Счётчик2 = 1 to Потомки | ||
+ | |||
+ | ' И выводим на экран | ||
+ | |||
+ | Set Потомок = Потомки.ПолучитьЭлемент(Счётчик) | ||
+ | |||
+ | MsgBox Потомок | ||
+ | |||
+ | Next Счётчик2 | ||
+ | |||
+ | Next Счётчик | ||
+ | |||
+ | End Sub | ||
+ | |||
+ | </code> | ||
====== Возможные сообщения об ошибках ====== | ====== Возможные сообщения об ошибках ====== |