Помнится, как-то так мне удавалось ее поиметь...
LOCAL onesobj, result, employee, Code_1S, Name, Dolg, Podr, DR, Sex
onesobj = CreateObject('V77.Application')
WAIT WINDOW NOWAIT "Запуск 1C..."
* result = onesobj.Initialize(onesobj.RMTrade,'/DD:\PRBBasic /M /NАдминистратор /P1111111','NO_SPLASH_SHOW')
result = onesobj.Initialize(onesobj.RMTrade,'/DD:\PRBBasic','NO_SPLASH_SHOW')
If result
WAIT WINDOW NOWAIT "1C успешно инициализирован..."
EndIf
employee = onesobj.EvalExpr('CreateObject("Справочник.Сотрудники")')
employee2 = onesobj.EvalExpr('CreateObject("Справочник.Сотрудники")')
dolgnost = onesobj.EvalExpr('CreateObject("Справочник.Должности")')
podrazd = onesobj.EvalExpr('CreateObject("Справочник.Подразделения")')
employee.SelectGroup(1) && Устанавливаем режим выборки групп ВыборГруппы()
employee.SelectItems(1) && Открываем выборку элементов справочника ВыбратьЭлементы()
DO While employee.GetItem(1) > 0 && Выбираем все элементы ПолучитьЭлемент()
If employee.Level('') = 1 && Если мы выбрали группу первого уровня, то
pf = -1
Else && Иначе ищем элемент-родитель
employee2.FindItem(employee.GetAttrib('Родитель'))
* If table2.findkey([employee2.getattrib('Код')]) &&Если этот элемент мы уже импортировали
* pf = table2.FieldByName('ID').AsInteger &&, то получаем его код
* Else
pf = -1 && иначе помещаем элемент в группу первого уровня
* EndIf
EndIf
If employee.DeleteMark('') = 0 && Если элемент не удален, то
*!* begin
*!* table1.append &&добавляем новое поле к таблице
&&Заполняем поля таблицы значениями соответствующих атрибутов элемента справочника
m.Code_1S = employee.getAttrib('Код')
? m.Code_1S
m.Name = employee.getAttrib('Наименование') && Заполняем поле наименования
? m.Name
dolgnost.UseOwner(employee)
dolgnost.SelectItems()
dolgnost.GetItem()
m.Dolg = dolgnost.getAttrib('Наименование')
? m.Dolg
podrazd.UseOwner(employee)
podrazd.SelectItems()
podrazd.GetItem()
m.Podr = podrazd.getAttrib('Наименование')
? m.Podr
m.DR = employee.getAttrib('ДатаРождения')
? m.DR
m.Sex = employee.getAttrib('Пол') && Справочник ОКИН
? m.Sex
*!* table1.fieldbyname('PARENT_FOLDER').AsInteger = pf
*!* table1.fieldbyname('FULLNAME').AsString = employee.getAttrib('ПолнНаименование')
* m.FullName = employee.getAttrib('ПолнНаименование')
*!* &&Ищем соответствующую запись в справочнике "единицы измерения"
*!* edizm.finditem(employee.getattrib('ЕдиницаИзмерения'))
*!* &&Заполняем поле единицы измерения
*!* table1.fieldbyname('EDIZM').AsString = edizm.getattrib('Наименование')
*!* &&так мы получаем значения периодических реквизитов
*!* table1.fieldbyname('SEBESTOIM').AsFloat = employee.getAttrib('Себестоимость').GetValue(datetostr(now))
*!* table1.fieldbyname('PRICEOPT').AsFloat = employee.getAttrib('Цена')
*!* nds.finditem(employee.getAttrib('СтавкаНДС').GetValue(datetostr(now)))
*!* np.finditem(employee.getAttrib('СтавкаНП').GetValue(datetostr(now)))
*!* &&Заполняем поле ставки НДС
*!* table1.fieldbyname('STNDS').AsFloat = nds.getAttrib('Ставка')
*!* &&Заполняем поле ставки НП
*!* table1.fieldbyname('STNP').AsFloat = np.getAttrib('Ставка')
*!* table1.fieldbyname('ARTICUL').AsString = employee.getAttrib('Артикул')
If employee.IsGroup('') = 1 && Если мы выбрали группу товара, то
* table1.fieldbyname('IS_FOLDER').AsInteger = 1
* else
* table1.fieldbyname('IS_FOLDER').AsInteger = 0
* table1.post
* table2.refresh
EndIf
EndIf
EndDo
WAIT WINDOW NOWAIT "Импорт из/в 1C завершен..."
RELEASE onesobj