Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 22:48

Добавить(Узел), ошибка при добавлении узла.

Автор laki_stshel, 29 мар 2012, 12:47

0 Пользователей и 1 гость просматривают эту тему.

laki_stshel

Здравствуйте!
У меня такая проблема.
Необходимо настроить обмен данными между двумя базами:
1) 1С:Предприятие 8.2 (8.2.15.301) Управление производственным предприятием, редакция 1.2 (1.2.29.1), режим совместимости с версией 8.2.13  и
2) 1С:Предприятие 8.2 (8.2.15.301)  Управление производственным предприятием, редакция 1.2 (1.2.16.1), в котором установлен режим совместимости с версией 8.1
по средствам Com-соединения.
   Так как в конфигураторе 2) стоит совместимость с 8.1 (отключить ее нельзя, т.к. полностью не перевели организацию на 8.2), то в запросах пропадает поле ВерсияДанных объектов, а в отладчике выводится значение ВерсияДанных  не определено...
Само соединение отработает, т. е. одна база подключается к другой
ИС = Новый COMОбъект("V82.Application");
...
Попытка
   СоединениеУстановлено = ИС.Connect("Srvr = """+СокрЛП(ИмяСервера1С)+"""; Ref = """+СокрЛП(ИмяБазыНаСервере)+"""; Usr = """+СокрЛП(Пользователь)+"""; Pwd = """+СокрЛП(Пароль)+"""");   
      Исключение
   ВывестиСообщение(ОписаниеОшибки(),СтатусСообщения.Важное);
КонецПопытки;


При записи номенклатуры сделала добавление узла:

Процедура ПриЗаписиОбменСПЭО(Источник, Отказ) Экспорт
Если ПараметрыСеанса.ОбменСПЭО Тогда
      Возврат;
   Иначе
      Узел =  ПланыОбмена.ОбменСППЭО.НайтиПоРеквизиту("ПЭО",Истина);
      Если ЗначениеЗаполнено(Узел) Тогда
         Если ТипЗнч(Источник) = Тип("СправочникОбъект.Номенклатура") ИЛИ (ТипЗнч(Источник) = Тип("СправочникОбъект.ЕдиницыИзмерения") И ТипЗнч(Источник.Владелец) = Тип("СправочникСсылка.Номенклатура")) Тогда
            Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
                           |   Номенклатура.Ссылка
                           |ИЗ
                           |   Справочник.Номенклатура КАК Номенклатура
                           |ГДЕ
                           |   Номенклатура.Ссылка В ИЕРАРХИИ
                           |         (ВЫБРАТЬ
                           |            ДанныеДляПереносаВПЭО.ОтборПоДанным
                           |         ИЗ
                           |            РегистрСведений.ДанныеДляПереносаВПЭО КАК ДанныеДляПереносаВПЭО)
                           |   И Номенклатура.Ссылка = &Ссылка";
            Если ТипЗнч(Источник) = Тип("СправочникОбъект.Номенклатура") Тогда 
               Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
            Иначе
               Запрос.УстановитьПараметр("Ссылка", Источник.Владелец.Ссылка);
            КонецЕсли;
            Выборка = Запрос.Выполнить().Выбрать();
            Если Выборка.Следующий() Тогда
               Источник.ОбменДанными.Получатели.Добавить(Узел);
            КонецЕсли;
         Иначе
            Источник.ОбменДанными.Получатели.Добавить(Узел);
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;
КонецПроцедуры

Но при этом в момент записи выдается ошибка:

Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
{ОбщийМодуль.ОбщегоНазначения.Модуль(5596)}: Ошибка при вызове метода контекста (Добавить)

по причине:
Недопустимое значение параметра (параметр номер '1')

Подскажите, пожалуйста, в чем может быть причина.

laki_stshel

Получилось исправить ошибку: в плане обмена неправильно добавила узел для обмена (сделала как Этот узел). Теперь добавила в план обмена  ОбменСППЭО еще одну запись, назвала пэо, ошибку больше не выдает.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск