ЗУП 8.1 Релиз 2.5.12.1 Связь между базами

Новая тема
"Подскажите, плз., 1) почему при соединении баз с помощью Automation Server все выполняется и зависает, не отключается в конце; с помощью COM-соединения все нормально?  2) справочники обрабатываются без проблем, к перечислению обращаюсь точно так же - почему не выбирается?
Перебрасываю физ.лиц из ЗУП в Бух. Обе 8.1. "
1) Возможно как то не правильно используете технологию OLE.
2) Чем COM-соединение не устраивает?
Я во всем разобралась кроме зависания. Использовала COM-соединение. Просто хотелось бы узнать причину зависания.
Что бы узнать причину необходимо увидеть, что Вы там за код написали.
"Процедура КнопкаВыполнитьНажатие(Кнопка)
#Если Клиент Тогда
V81 = Новый COMОбъект("V81.Application");
Путь = "D:\ЗУП_2003\";
 Попытка
   Состояние ("Выполняется подключение к информационной базе...");
   РезультатПодключения = V81.Connect("File=""""" + Путь +
"""""; Usr=""""Adm"""";Pwd=555");
    Сообщить("База 8.1 подключена");    
 Исключение
    Сообщить (ОписаниеОшибки());
    Предупреждение("Не удалось подключиться");
 КонецПопытки;
СпрСотр = V81.Справочники.СотрудникиОрганизаций;
Выборка = СпрСотр.Выбрать();  
Пока Выборка.Следующий()  Цикл
КодСотра = Выборка.Код;
НайденнаяСсылка = Справочники.СотрудникиОрганизаций.НайтиПоКоду(КодСотра);
Если НайденнаяСсылка = Справочники.СотрудникиОрганизаций.ПустаяСсылка() Тогда
НовыйЭлемент = Справочники.СотрудникиОрганизаций.СоздатьЭлемент();
НовыйЭлемент.Наименование = Выборка.Наименование;
НовыйЭлемент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
НовыйЭлемент.Физлицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Выборка.Наименование));
КодФЛ = НовыйЭлемент.Физлицо.Код;
Если НовыйЭлемент.Физлицо.Пустая() Тогда
НовоеФЛ = Справочники.ФизическиеЛица.СоздатьЭлемент();
НовоеФЛ.Наименование = Выборка.Наименование;
СпрФЛ = V81.Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Выборка.Наименование));
НовоеФЛ.Код = СпрФЛ.Код;
КодФЛ = НовоеФЛ.Код;    
НовоеФЛ.Записать();
    НовыйЭлемент.Физлицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Выборка.Наименование));
КонецЕсли;
НовыйЭлемент.Актуальность=Истина;
НовыйЭлемент.Код = "0"+КодФЛ;    
Сообщить ("Принимаю сотрудника " + Выборка.Наименование);
    НовыйЭлемент.Записать();
Конецесли;
ОбработкаПрерыванияПользователя();
КонецЦикла;
#КонецЕсли
КонецПроцедуры
"
1) Инструкции препроцессора не имеют смысла в модуле формы.
2) Поиск по наименованию производится без флага на точное соответствие.
3) "По старинке" переменную "V81" можно приравнять к "Неопределено".
4) Если это разовый перенос, то рациональнее было перекинуть данные через файл XML (это уже так от себя).
Спасибо за советы. Это не разовый, а регулярный перенос, все гораздо длиннее, я укоротила для отправки сюда.
Тогда подключайтесь базе через "COMConnector" и не мучайте приложение. :)
Спасибо, так и сделала, теперь не буду сомневаться :)
Читают тему
(гостей: 1)

Быстрый переход