SAPфорум.RU
https://sapboard.ru/forum/

Вопрос по работе с COM объектом SAP.Functions в 1С
https://sapboard.ru/forum/viewtopic.php?f=21&t=81873
Страница 1 из 1

Автор:  Ags [ Чт, апр 04 2013, 12:22 ]
Заголовок сообщения:  Вопрос по работе с COM объектом SAP.Functions в 1С

Здравствуйте,

столкнулся с задачей выгрузки данных из 1С в SAP.

С SAP \ R3 вообще никакогда не работал, просто нашел примеры в инте, попробовал решить свою здачу на их основе.

Вот по порядку, то что я делаю:
Code:
// получаю COM объект
Перем conn;
SAP_R3 = Новый COMОбъект("SAP.Functions");

// настраиваю параметры соедения:                
conn = SAP_R3.Connection;

conn.ApplicationServer = ...
conn.User = ...
conn.password = ...
conn.Client = ....
conn.SystemNumber = ...
// ...  и т.д.

// соединяюсь:
Если Не conn.logon(0, False) Тогда
// ...
Иначе
// ...
КонецЕсли;


Соединение устаналиванется всегда без проблем.

далее:
получаю функции для выгрузки:

Code:
ИмяТаблицыЗаголовок = "it_ZTZ0009";
ИмяТаблицыПозиции   = "it_ZTZ0010";
ИмяТаблицыОшибок = "it_MSGS";
   
//получение функции для выгрузки заявок
theFunc = SAP_R3.Add("Z_1C_EXPORT");
   
//Инициализация передаваемых параметров                                               
Заголовок = theFunc.Tables(СокрЛП(ИмяТаблицыЗаголовок));
Позиции  = theFunc.Tables(СокрЛП(ИмяТаблицыПозиции));
ТаблицаОшибок = theFunc.Tables(СокрЛП(ИмяТаблицыОшибок));


Это тоже все выполняется нормально.
Дальше пробуем выгружать данные:
//Передаем вид операции
Code:
VIDOPER = theFunc.exports("VIDOPER");
VIDOPER.Value = "C";

//Передаем заголовок в ФМ 
               
стрЗаголовок = Заголовок.Rows.Add(); 
стрЗаголовок.Value("BUKRS",   СтрокаТз3.BUKRS); [b] // и вот тут я получаю ошибку!!! [/b]
стрЗаголовок.Value("NUMZAJ",   NUMZAJ);

// ... остальные поля

// запись
returnFunc = theFunc.Call;



Ошибка вываливается вот такая:
03.04.113 08:31:20.656 MakeTable (pn=FIELDS tn=RFC_FIELDS)

03.04.113 08:31:20.718 MakeTable (pn=PARAMS tn=RFC_FUNINT)

03.04.113 08:31:20.828 MakeTable (pn=IT_MSGS tn=ZTZ_1C_MSGS)
03.04.113 08:31:20.875 MakeTable (pn=IT_ZTZ0009 tn=ZTZ_1C_ZTZ0009)
03.04.113 08:31:20.921 MakeTable (pn=IT_ZTZ0010 tn=ZTZ_1C_ZTZ0010)
03.04.113 08:31:20.968 Function has exception: ZAY_BADFORMAT
03.04.113 08:31:20.968 Function has exception: ZAY_BADOPER
03.04.113 08:31:20.968 Function has exception: ZAY_BADPRFRGHT
03.04.113 08:31:21.515 RFC Error: RFC_ERROR_SYSTEM_FAILURE



BUKRS в SAP-е имеет тип CHAR длина 4. В 1C-ке это у нас строка длинна, которой тоже больше 4 не бывает (если быть точнее, то BUKRS = СокрЛП(КодБЕ), где КодБЕ 4 значное число).

Так вот не понятно, в чем ошибка? - почему не выполняется стрЗаголовок.Value("BUKRS", СтрокаТз3.BUKRS); - может как-то по другому нужно записывать значения в поля таблицы???

Автор:  nick1c [ Ср, окт 22 2014, 16:41 ]
Заголовок сообщения:  Re: Вопрос по работе с COM объектом SAP.Functions в 1С

Добрый день.

Извините, что спрашиваю через 1.5 года после публикации вашего сообщения, но вы смогли решить данную проблему?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/