Цитата:
2. Используется метод Add объекта SAPFunctionsOCX.ISAPFunctions для добавления функции (например название таблицы Z_KALIB_GET_ORDER) и получения данных типа вариант.
Судя по всему, вам сообщили название функционального модуля (фм), который вернет вам необходимые данные по заказу....
С помощью этого метода вы говорите что хотите вызвать в системе SAP функциональный модуль Z_KALIB_GET_ORDER.
Цитата:
3. Вызывается объект SAPFunctionsOCX.IFunction и используется свойство Tables для получения данных типа вариант.
Тут вы определяете к какой вашей таблице будет привязана таблица-параметр TABLES функционального модуля.
А дальше я не знаю что вы делаете

Скорее всего на входе у Z_KALIB_GET_ORDER есть номер заказа. Данные этого заказа он сложит в TABLES-параметр...
Т.е. вам нужно передать на вход Z_KALIB_GET_ORDER номер заказа, связать TABLES-параметр с таблицей, куда вы хотите сложить данные и вызвать метод SAPFunction.Call
Приведу пример кода на 1С, вызывается VBA-скрипт:
Code:
Процедура ПередачаСправочникаОС(Элемент) //RFC
СправочникОС = Справочники.ОС;
Выборка = СправочникОС.Выбрать();
Попытка
ScrCtrl = новый COMОбъект("MSScriptControl.ScriptControl");
ScrCtrl.Language = "vbscript";
ТекстСприпта = "
|Sub Mess()
| Set FunctionCtrl = CreateObject(""SAP.Functions"")
| Set SAPConnection = FunctionCtrl.Connection
|
| SAPConnection.ApplicationServer = ""192.111.1.11"
| SAPConnection.System = ""10""
| SAPConnection.Client = ""100""
| SAPConnection.User = ""user""
| SAPConnection.Password = ""parol""
| SAPConnection.Language = ""RU""
| SAPConnection.SystemNumber = ""10""
| SAPConnection.ABAPDebug = False
| If SAPConnection.Logon(0, True) <> True Then
| MsgBox ""No connection to R/3 System""
| Exit Sub
| End If
|
| Set SAPFunction = FunctionCtrl.Add(""ZFM_RFC_LOAD_OS"")
| Set lt_data = SAPFunction.Tables(""IT_OS_DATA"")
|
|";
СчетчикЦикла = 1;
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
ТекстСприпта = ТекстСприпта + "
| lt_data.Rows.Add
| lt_data.Value(" + Строка(СчетчикЦикла) + ", ""OS_1C"") =""" + Объект.Код + """" + "
| lt_data.Value(" + Строка(СчетчикЦикла) + ", ""OS_1C_TEXT"") =""" + Объект.Наименование + """";
СчетчикЦикла = СчетчикЦикла + 1;
КонецЦикла;
ТекстСприпта = ТекстСприпта +
"
| If SAPFunction.Call <> True Then
| MsgBox ""Ошибка вызова ФМ""
| Exit Sub
| End If
|
| Result = SAPFunction.Imports(""EV_RESULT"")
| MsgBox Result
|End Sub
|";
ScrCtrl.AddCode(ТекстСприпта);
ScrCtrl.Run("Mess");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Эта процедура вызывает функциональный модуль ZFM_RFC_LOAD_OS, передав ему на вход TABLES-параметр IT_OS_DATA, заполнив его содержимым справочника.
SAPFunction.Call - собственно вызов функционального модуля.
И на выходе берем значение export-параметра EV_RESULT.
Думаю по аналогии сможете реализовать вашу задачу...
PS: пример передачи одиночных import-значений в фм:
Code:
SAPFunction.Exports(""IV_BELNR"") = sf_belnr