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

1C com соединение от обычного к управляемому

Автор Rika, 30 мая 2017, 16:28

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

Rika

Доброго времени суток!
Вот и дошла моя очередь ковырять управляемое приложение. НО  возникла сложность при передаче данных через com соединение ОТ обычного приложения К управляемому.
Самое соединение отрабатывает, НО при создании документа выдает ошибку:

{ВнешняяОбработка.ВыгрузкаКассовыхДокументов.Форма.Форма.Форма(38)}: Поле объекта не обнаружено (документы)
НовыйДокумент       = БазаБП.документы.ПоступлениеТоваровУслуг.СОздатьобъект();

Прилагаю код:

Процедура проверка1(Элемент)
   соедсерв();
КонецПроцедуры


процедура соедсерв();
   
   Состояние("Выполняется подключение к базе ...");
   
   COMОбъектБазы = Новый COMОбъект("V8" + Формат(ВерсияПлатформы, "ЧГ=0") + ".ComConnector");
   
   Попытка
      COMОбъектБазы.Connect(.....)   
                сообщить("Подключение прошло успешно!");
      
      БазаБП = COMОбъектБазы;
      Если БазаБП = Неопределено Тогда
         сообщить("Соединение не установлено.");
         Возврат;
      КонецЕсли;
      
   Исключение
      Предупреждение("База данных не открыта!!!
      |" + ОписаниеОшибки());
      Возврат;
   КонецПопытки;
   
   НовыйДокумент       = БазаБП.документы.ПоступлениеТоваровУслуг.СОздатьобъект();
   НовыйДокумент.Дата   = ТекущаяДата();
   НовыйДокумент.СуммаДокумента = 10;
   НовыйДокумент.комментарий = "Ура!!!!!!!";
   НовыйДокумент.Записать();
   
   сообщить(сокрлп(НовыйДокумент.ссылка));
   
конецпроцедуры

Объясните если не сложно!

MuI_I_Ika


Rika

Цитата: MuI_I_Ika от 30 мая 2017, 16:31
СоздатьДокумент() надо писать
Ругается на "документы"
НовыйДокумент       = БазаБП.документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
там да исправлено

MuI_I_Ika

А не заметил.

Надо поменять :
  COMОбъектБазы.Connect(.....)   
                сообщить("Подключение прошло успешно!");
     
      БазаБП = COMОбъектБазы;


На:
  БазаБП = COMОбъектБазы.Connect(.....)   
                сообщить("Подключение прошло успешно!");
     
     

Rika

Цитата: MuI_I_Ika от 30 мая 2017, 16:47
А не заметил.

Надо поменять :
  COMОбъектБазы.Connect(.....)   
                сообщить("Подключение прошло успешно!");
     
      БазаБП = COMОбъектБазы;


На:
  БазаБП = COMОбъектБазы.Connect(.....)   
                сообщить("Подключение прошло успешно!");
     
     


СПАСИБО ЗАРАБОТАЛО!!!!!!!!!!!!!!!!!!!!!!!

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

Рейтинг@Mail.ru

Поиск