Это старая версия документа.
Список сотрудников будет находиться в файле MS Excel (Таблица 1). Пример приведен на языке программирования VBA.
Фамилия | Имя | Отчество | Дата рождения | р.тел | |
---|---|---|---|---|---|
Иванов | Иван | Иванович | 29.09.1969 | 202-19-00 | name@firma.ru |
Петров | Петр | Петрович | 04.05.1978 | 202-19-01 | name2@firma.ru |
Sub СинхронизацияФизЛиц() Set appEx = Application Dim i As Integer Dim Фамилия, Имя, Отчество, ДатаРождения, РабочийТелефон As String e.OleApplication") ' Иницита приложения Set oleapp = CreateObject("ByteEnterprise.OleApplication") Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("<Имя_сервера_БД>", "<Имя_базы>", "<Редакция_продтся имя сервера, название базы, версия продукта Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("<Имя_сервера_БД>", "<Имя_базы>", "<Редакция_продукта>") ' Получение корневой группы класса Типуппы класса Физлиц Set ОПУ_ФЛ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ФизЛица") (0) i = 2 While appEx.Cells(i, 1) <> ""ласса Контактов физлиц Set ОПУ_Контакты = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.КонтактыФизЛиц") , 5)) ЭлектроннаяПочта = CStr(appEx.Cells(класса Типов контактов Set списокТипов = oleapp.ПолучитьОбъекты("БизнесМодель.ТипыКонтактов", "Название", "Рабочий телефон") Set типРабочийТелефон = списокТипов.ПолучитьЭлемент(0) i = 2 While appEx.Cells(i, 1) <> "" Фамилия = CStr(appEx.Cells(i, 1)) Имя = CStr(appEx.Cells(i, 2)) Отчество = CStr(appEx.Cells(i, 3)) ДатаРождения = CStr(appEx.Cells(i, 4)) РабочийТелефон = CStr(appEx.Cells(i, 5)) ЭлектроннаяПочта = CStr(appEx.Cells(i, 6)) ОПУ_ФЛ) фл.Фамилия = Фао классу Физлиц Set фильтрФЛ = ОПУ_ФЛ.СоздатьФильтр пар.Значение = CDate(ДатаРождения) Else ' если фмилии, Имени, Отчеству, Дате рождения фильтрФЛ.Условия.Параметры.Фамилия.Значение = Фамилия фильтрФЛ.Условия.Параметры.Имя.Значение = Имя фильтрФЛ.Условия.Параметры.Отчество.Значение = Отчество фильтрФЛ.Условия.Параметры.ДатаРождения.Значение = CDate(ДатаРождения) у - владельцу контакта ФильтрКонтакты.Условия.Параметры.Владелец.ТипФильтрации = 3 ' по Фамилией, Именем, Отчеством, Датой рождения Set списокФЛ = фильтрФЛ.Выполнить Set списокКонтактов = ент Физлицо If списокФЛ.КоличествоЭлементов = 0 Then создаем новый элемент в списке контактов фо - создаем новое Set фл = oleapp.СоздатьОбъект(ОПУ_ФЛ) фл.Фамилия = Фамилия фл.Имя = Имя фл.Отчество = Отчество Set пар = фл.НайтиПараметр("ДатаРождения") пар.Значение = CDate(ДатаРождения)
Sub ДругиеПримеры() Set oleapp = CreateObject("ByteEnterprise.OleApplication") ентского приложения, в качестве параметров передаются имя сервера, название базы, версия продукта Set Client_appредаются имя сервера, название базы, версия продукта Set Client_app = oleapp.ЗапуститьКлиентскоеПриложение("<Имя_сервера_БД>", "<Имя_базы>", "<Редакция_продукта>") Set НовыйСубъект = oleapp.СоздатьОбъеккта и работы с ним Set СубъектКорень = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.Субъекты") Set ВыбранныйСубъект = oleapp.ВыбратьОбъект(СубъектКорень) Set НовыйСубъект = oleapp.СоздатьОбъект(ВыбранныйСубъект) тПоGUID = СубъектКорень.СоздатьФильтр ФильтрСубъектПоGUID.Условия.Парамются обязательными для субъектов НовыйСубъект.Название = "НазваниеНовогоСубъекта" НовыйСубъект.ТипСубъекта = 1 атФильтра.ПолучитьЭлемент(0) Else MsgBox "Субъсм. Объектную модель) НовыйСубъект.Сохранить ‘Если названия субъектов повторяются - используем для идентификации guid а = НовыйСубъект.GUID Set ФильтрСубъектПоGUID = СубъектКорень.СоздатьФильтр ФильтрСубъектПоGUID.Условия.Параметры.GUID.Значение = а ФильтрСубъектПоGUID.ВключатьПодгруппы = True Set РезультатФильтра = ФильтрСубъектПоGUID.Выполнить If (РезультатФильтра.КоличествоЭлементов > 0) Then Set СубъектПоGUID = РезультатФильтра.ПолучитьЭлемент(0) Else MsgBox "Субъект с guid=а("БизнесМодель.usr_Класен." End If .СоздатьФильтр Set Объия константы Set конст = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.Константы") Руководитель = конст.РуководительОрганизации звание" 'Парам1 = Элемент.Название - так можно только длого создать группу и связь Set ГруппаПУ = oleapp.ПолучитьКорневуюГруппуКласса ("БизнесМодель.Группы") Set Группа = oleapp.СоздатьОбъект(ГруппаПУ) Группа.Название = "Группа_1" Группа.Сохранить Set СвязиГруппыАнализаПУ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.СвязиГруппАнализа") Set ОбъектСвязь = oleapp.СоздатьОбъект(СвязиГруппыАнализаПУ) ОбъектСвязь.ГруппаАнализа = Группа ОбъектСвязь.Справочник = ВыбранныйСубъект ОбъектСвязь.Сохранить .Значение 'Перебрать все параметры: Параметры = "Параметры: " For Each парам In Объект.Параметры Параметры = авочник "БизнесМодель.usr_Класс" содержит несколько записей. Set Объект = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.usr_Класс") Set Фильтр = Объект.СоздатьФильтр Set Объекты = Фильтр.Выполнить Отчество.Значение = "Петросправочник col = Объекты.Count сокФЛ.КоличествоЭлементов > 0) Then Sв этом справочнике Set Элемент = Объекты.Item(0) итьКорневуюГруппуКласса("БизнесМодель.Физлица_Субъе.ПолучитьЭлемент(0) p.СоздатьОбъект(ФизлицаСубъектов) ФизЛицоСй параметр "Название" оСубъекта.Физлицо = ФЛ ФизЛицоСубъекта.Сохранить Else лько для системых параметров Парам1 = Элемент.Параметры.Item("Название").Значение излицСубъектов.Условия.Параметры.Физлицо.Значение = ФЛ ФильтрФизлицСуитьЭлемент("Название").Значение Set СписокФизлицСубъектов = ФильтрФизлицСубъектов.Выполнить For Each ФизЛицоСубълеКласса" простого типа (вещественный) Парам2 = Элемент.Параметры.Item("usr_полеКласса").Значение End Sub
Здесь <Имя_сервера_БД> - имя сервера базы данных, <Имя_базы> - название базы данных, <Редакция_продукта> - Enterprise, Professional или Cockpit. Редакция продукта должна соответствовать имеющейся лицензии, иначе запуск приложения не удастся.
Одна из возможных причин, по которой может появиться сообщение вида "Ошибка при обращении к службе брокера: Невозможно соединиться с удаленным сервером", это отсутствие запущенной службы BS_PingHost на локальной машине (см. Работа с Business Studio через OLE, а также Доступ к службе сервера лицензий).