Помощь - Поиск - Пользователи - Календарь
Полная версия: Перенос данных через OLE в 8.1
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Обмен данными
korse
Помогите разобраться с OLE! Необходимо перенести данные документа "ОтражениеЗарплатыВРеглУчете" из ЗУП В Бух8 через OLE. Проблема с определением типа реквизита, например, "СубконтоДт1. Данный реквизит может содержать перечисление или справочник. Вопрос в следующем: 1. Как определить тип значения? 2. Если это перечисление, то как узнать какое и его значение, если справочник, то какой? 3. Если пункты1,2 разрешены, то каким образом в базе-приемнике найти соответствуйщий элемент справочника, если тип элемента из базы-источника переменный,т.е. как обратиться к менеджеру справочника, когда название типа храниться в переменной, полученной из источника: Справочники.???.НайтиПоКоду(...)?
Пример кода:
Код
Запрос=ЗУП.NewObject("Запрос");
Запрос.Текст="ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчете.Ссылка
|ИЗ
| Документ.ОтражениеЗарплатыВРеглУчете КАК ОтражениеЗарплатыВРеглУчете
|ГДЕ
| ОтражениеЗарплатыВРеглУчете.Проведен = ИСТИНА
| И ОтражениеЗарплатыВРеглУчете.Дата МЕЖДУ &НачалоМесяца И &КонецМесяца";
Запрос.УстановитьПараметр("НачалоМесяца",НачалоМесяца(ДатаВыгрузки));
Запрос.УстановитьПараметр("КонецМесяца",КонецМесяца(ДатаВыгрузки));
Результат=Запрос.Выполнить();
Если Результат.Пустой() Тогда
Предупреждение("Нет данных за указанный период!",10);
Возврат;
КонецЕсли;
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Ссылка.Номер);
ТЗ1=Выборка.Ссылка.ОтражениеВУчете.Выгрузить();
ТЧ=Выборка.Ссылка.ОтражениеВУчете;
Для Каждого Стр ИЗ ТЗ1 Цикл
Стр.СубконтоДт1 - КАК С ЭТИМ РАБОТАТЬ???
КонецЦикла;
//...
КонецЦикла;
LxS
А чем не устраивает обмен через xml?
С перечислениями по оле геморройно работать.
korse
Цитата(LxS @ 6.3.2009, 9:27) *

А чем не устраивает обмен через xml?
С перечислениями по оле геморройно работать.


Хотелось бы все-таки знать как с OLE работать. В литературе ничего стоящего не написано. А с xml у меня туговато, тоже время потратить нужно на изучение
LxS
Есть поговорка: "Без труда..и рыбку из пруда.." - знаешь наверное.
А раз решил заняться 1С, на шару тут не канает. Надо изучать.

Для размышлений:
Код

"ВЫБРАТЬ
| ФИОФизЛиц.Период,
| ФИОФизЛиц.Фамилия,
| ФИОФизЛиц.Имя,
| ФИОФизЛиц.Отчество,
| ВЫБОР
| КОГДА ФИОФизЛиц.ФизЛицо.Пол ЕСТЬ NULL
| ТОГДА NULL
| ИНАЧЕ ВЫБОР
| КОГДА ФИОФизЛиц.ФизЛицо.Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическихЛиц.Мужской)
| ТОГДА ""М""
| ИНАЧЕ ""Ж""
| КОНЕЦ
| КОНЕЦ КАК Пол
|ИЗ
| РегистрСведений.ФИОФизЛиц.СрезПоследних(&Период, ) КАК ФИОФизЛиц
|ГДЕ
| ФИОФизЛиц.ФизЛицо.Ссылка = &Ссылка";

Этот запрос для оле. Вернуть значение перечисления, насколько я знаю, нельзя. Давно не занимался подобными вещами. XML вполне устраивает.
И так все автоматом можно настроить через обработчик ожидания.


korse

Большое спасибо. Буду пробовать
Эмин
Цитата(korse @ 6.3.2009, 13:39) *

Хотелось бы все-таки знать как с OLE работать. В литературе ничего стоящего не написано. А с xml у меня туговато, тоже время потратить нужно на изучение

Из ЗУП в БП есть типовой обмен, придумывать велосипед тут не стоит.
tirk
а есть еще лучше чтука)) Тут гдето валяется конфа по переносу.... отлично работает.. проверял
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.