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