|
перенос данных из 7ки через OLE | ☑ | ||
---|---|---|---|---|
0
mefisto666series
29.09.14
✎
15:11
|
Не могу понять как обращаться к значениям, тип которых Справочник, т.е. у справочника сотрудники поле должность имеет тип Справочник.Должности. как обратиться к значениям реквизита этого элемента понять не могу. методы типа Сотрудник.Должность.ТекущийЭлемент().Код
не работают, напрямую, естественно, тоже, т.к. это com объект. разъясните, плз. ну и вообще, может, есть где справочная информация по работе с базами из 8ки? |
|||
1
Ёпрст
29.09.14
✎
15:25
|
Должность поди еще и периодический реквизит?
а так, за Сотрудник.Должность.ТекущийЭлемент().Код надо линейкой металлической по пальчикам настучать |
|||
2
Михаил Козлов
29.09.14
✎
15:28
|
Может поможет:
Функция ПолучитьКонтрагента(БазаПриемник,БазаИсточник,КонтрагентПриемник,КонтрагентИсточник) Экспорт Код=СокрЛП(КонтрагентИсточник.Код); Если КонтрагентПриемник.НайтиПоКоду(Код,0)=0 Тогда СпрЮЛ =БазаПриемник.CreateObject("Справочник.ЮрЛица"); СпрФЛ =БазаПриемник.CreateObject("Справочник.ФизЛица"); СпрДоговоры=БазаПриемник.CreateObject("Справочник.Договоры"); Если БазаИсточник.Перечисления.ЮрФизЛицо.Индекс(КонтрагентИсточник.ЮрФизЛицо)=БазаИсточник.Перечисления.ЮрФизЛицо.Индекс(БазаИсточник.Перечисления.ЮрФизЛицо.ЮрЛицо) Тогда СпрЮЛ.Новый(); СпрЮЛ.Наименование = КонтрагентИсточник.Наименование; СпрЮЛ.ПолнНаименование = КонтрагентИсточник.НаименованиеПолное; СпрЮЛ.ИНН = КонтрагентИсточник.ИНН + "\" + КонтрагентИсточник.КПП; Свед=БазаИсточник.СведенияОЮрФизЛице(КонтрагентИсточник,ТекущаяДата()); СпрЮЛ.ФактАдрес = Свед.ФактическийАдрес; СпрЮЛ.ЮрАдрес = Свед.ЮридическийАдрес; СпрЮЛ.Записать(); Лицо=СпрЮЛ; Иначе СпрФЛ.Новый(); СпрФЛ.Наименование = КонтрагентИсточник.Наименование; СпрФЛ.ПолнНаименование = КонтрагентИсточник.НаименованиеПолное; СпрФЛ.ИНН = КонтрагентИсточник.ИНН + "\" + КонтрагентИсточник.КПП; Свед=БазаИсточник.СведенияОЮрФизЛице(КонтрагентИсточник,ТекущаяДата()); СпрФЛ.ФактАдрес = Свед.ФактическийАдрес; СпрФЛ.ЮрАдрес = Свед.ЮридическийАдрес; СпрФЛ.Записать(); Лицо=СпрФЛ; КонецЕсли; Попытка СпрКонтрагенты=БазаПриемник.CreateObject("Справочник.Контрагенты"); Если НЕ СпрКонтрагенты.НайтиПоНаименованию("Новые",0,1) ИЛИ НЕ СпрКонтрагенты.ЭтоГруппа() Тогда СпрКонтрагенты.НоваяГруппа(); СпрКонтрагенты.Наименование="Новые"; СпрКонтрагенты.Записать(); КонецЕсли; КонтрагентПриемник.Новый(); КонтрагентПриемник.Родитель=СпрКонтрагенты.ТекущийЭлемент(); КонтрагентПриемник.Код =Код; КонтрагентПриемник.GUID=БазаИсточник.String(КонтрагентИсточник.УникальныйИдентификатор()); КонтрагентПриемник.Наименование = КонтрагентИсточник.Наименование; КонтрагентПриемник.ЮрФизЛицо = Лицо.ТекущийЭлемент(); КонтрагентПриемник.Записать(); Исключение Сообщение="Ошибка при попытке записи справочника Контрагенты с кодом: "+Код+"; Описание ошибки: "+ОписаниеОшибки(); ВывестиСообщение("Функция: ПолучитьКонтрагента",Сообщение,УровеньЖурналаРегистрации.Ошибка); ВызватьИсключение Сообщение; КонецПопытки; //СпрДоговоры.ИспользоватьВладельца(КонтрагентПриемник.ТекущийЭлемент()); //СпрДоговоры.Новый(); //СпрДоговоры.Наименование ="ОсновнойДоговор"; //СпрДоговоры.ВалютаВзаиморасчетов = БазаПриемник.Константа.ВалютаБухУчета; //СпрДоговоры.НеКонтролироватьКредит =1; //СпрДоговоры.Записать(); //КонтрагентПриемник.ОсновнойДоговор=СпрДоговоры.ТекущийЭлемент(); //КонтрагентПриемник.Записать(); СпрДоговоры.ИспользоватьВладельца(КонтрагентПриемник); СпрДоговоры=СоздатьНовыйДоговорКонтрагента(БазаПриемник,БазаИсточник,СпрДоговоры,КонтрагентИсточник.ОсновнойДоговорКонтрагента); КонтрагентПриемник.ОсновнойДоговор=СпрДоговоры.ТекущийЭлемент(); КонтрагентПриемник.Записать(); КонецЕсли; Возврат КонтрагентПриемник.ТекущийЭлемент(); КонецФункции |
|||
3
mefisto666series
30.09.14
✎
12:55
|
блин, а как взять реквизит типа перечисление из должности, взятой из сотрудника - хз. реквизиты типа перечисления из сотрудника без проблем берутся через текущий элемент, но с реквизитом реквизита это не прокатывает, с этим ли связано, или с ещё чем - хз
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |