|  | #1 | 
| Участник | Передача данных из 1С в Axapta 3.0 через COM Connector 
			
			Здравствуйте! Ниже привожу код 1С: Процедура ПриЗаписи() Axapta = CreateObject("AxaptaCOMConnector.Axapta"); Axapta.Logon("admin"); MyRecord = Axapta.CreateRecord("MetroTable"); MyRecord.InitValue(); MyRecord.Field("MetroId").Value = "1"; MyRecord.Field("MetroName").Value = "Metro"; MyRecord.Insert(); Axapta.Logoff(); КонецПроцедуры 1С ругается, что нет такого метода MyRecord.Field("MetroId").Value. Пустая запись в Axapta (без MyRecord.Field) вставляется спокойно. В чем может быть проблема? Скорее всего неправильный синтаксис 1С. Просьба откликнуться, кто уже имел подообный опыт передачи данных из 1С. | 
|  | 
|  | #2 | 
| Участник | 
			
			Попробуй так: PHP код: 
			Например если со стороны аксапты к к какому-нибудь COM-у коннектиться, то можно толь так (длинный путь к обекту не поддерживатеся) . Извиняюсь, что не могу более грамотно выразиться. 
				__________________ Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 | 
|  | 
|  | #3 | 
| Участник | 
			
			К сожалению, тот же результат.
		 | 
|  | 
|  | #4 | 
| Участник | еще одно предположение 
			
			Может так: PHP код: 
			
				__________________ Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 | 
|  | 
|  | #5 | 
| Участник | 
			
			Нет, все тот же результат. Неужели из 1С (v 77) никто не передавал по COM данные в Axapta? По связи InterBase - Axapta (программка на Delphi) все четко, проблем нет, с 1С "застряли". | 
|  | 
|  | #6 | 
| Участник | 
			
			Предлагаю создать у таблицы со стороны Аксапты метод, исполняющий нужную логику. И вызывать его.  Там при необходимости можно проверять правильность значений полей, взаимосвязи с другими таблицами и т.д. Примерно так: Аксапта: public int insertRecord(str _metroID, str _metroName) { // метод таблицы int retCode; try { this.initValue(); this.MetroID=_metroID; this.MetroName=_metroName; this.write(); retCode=1; } catch (exception::error){ retCode=0; } return retCode; } 1С: Процедура Сформировать() попытка Axapta = CreateObject("AxaptaCOMConnector.Axapta"); Axapta.Logon("Ravil"); MyRecord = Axapta.CreateRecord("MetroTable"); if MyRecord.call("insertRecord","1", "Metro")=0 then сообщить("Ошибка!"); иначе сообщить("Запись вставлена"); КонецЕсли; Axapta.Logoff(); исключение Axapta=0; Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры | 
|  | 
|  | #7 | 
| Участник | 
			
			Спасибо! Хороший способ. Единственное, вылетает ошибка if MyRecord.call("insertRecord","1", "Metro")=0 then {Справочник.Метро.Форма.Модуль(7)}: AxaptaCOMConnector.Axapta.1: Недостаточно прав для выполнения Method insertRecord Ошибка времени выполнения. : xRecord object не имеет метода 'insertRecord'. Трассировка стека: \Classes\xRecord\insertRecor В Axapte я - начинающий , попробовал перезапустить Axapta Business Connector, не помогло. | 
|  | 
|  | #8 | 
| Участник | 
			
			Честно говоря сходу ответить не могу Но предложенный способ не кажется мне верным Скорее правильное направление поиска будет следующее: видимо СОМ-интерфейс IAxaptaRecord реализует класс Common в Аксапте Если Вам удастся вставить запись с помощью Common, Вы сможете сделать это и через СОМ | 
|  | 
|  | #9 | 
| Участник | 
			
			У меня работает в 1с: Процедура Сформировать() Axapta = CreateObject("AxaptaCOMConnector.Axapta"); Axapta.Logon("Admin", "", "", ""); ClassObject = Axapta.CreateObject("MetroEdit"); ClassObject.Call("InsertRecord","1","Metro1"); Axapta.Logoff(); КонецПроцедуры в Ax: class MetroEdit { MetroTable MetroTable; } public void InsertRecord(int MetroId, str MetroName) { ; MetroTable.initValue(); MetroTable.MetroId = MetroId; MetroTable.MetroName = MetroName; MetroTable.insert(); } | 
|  | 
|  | #10 | 
| Участник | 
			
			Спасибо большое за помощь!   И этот способ работает успешно в Delphi, а вот в 1С упорно выдается ошибка "AxaptaCOMConnector.Axapta.1: Недостаточно прав для выполнения Method insertRecord". Даже не знаю, проблема в 1С, или в чем-то другом (политика лицензирования и т.п). | 
|  | 
|  | #11 | 
| Участник | 
			
			не работает!        1С -ка говорит что ошибка! (COM я зарегисрировал и запустил) Как сделать не знаю   
				__________________ Смотрим в книгу - видим фигу. | 
|  |