MyTetra Share
Делитесь знаниями!
Асинхронное выполнение кода
Время создания: 05.10.2016 19:41
Текстовые метки: 1c.code.upp
Раздел: Программирование - 1с - code - upp
Запись: xintrea/mytetra_anatolean/raw/master/base/1475685699exji8yi83q/text.html на bitbucket.org

// Начинает асихнронный вызов указанной функции с передачей параметров.

//

// Параметры:

// ИмяПроцедуры - имя вызываемой функции.

// Параметры - произвольный - передаваемые ей параметры.

//

// Возвращаемое значение:

// Строка - адрес во временном хранилище, куда будет помещен результат.

//

Функция НачатьАсинхронныйВызов(Имя, Параметры) Экспорт

КлючЗадания = Новый УникальныйИдентификатор;

АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Неопределено, КлючЗадания);

МассивПараметров = Новый Массив;

МассивПараметров.Добавить(АдресВоВременномХранилище);

МассивПараметров.Добавить(Имя);

МассивПараметров.Добавить(Параметры);

МассивПараметров.Добавить(ПараметрыСеанса.ИнтеграцияС1СДокументооборотИмяПользователя);

МассивПараметров.Добавить(ПараметрыСеанса.ИнтеграцияС1СДокументооборотПароль);

ФоновыеЗадания.Выполнить(

"ИнтеграцияС1СДокументооборотВызовСервера.ВыполнитьАсинхронныйВызов",

МассивПараметров, КлючЗадания, Имя);

Возврат АдресВоВременномХранилище;

КонецФункции

Процедура ВыполнитьАсинхронныйВызов(Адрес, Имя, Параметры, ИмяПользователя, Пароль) Экспорт

ПараметрыСеанса.ИнтеграцияС1СДокументооборотИмяПользователя = ИмяПользователя;

ПараметрыСеанса.ИнтеграцияС1СДокументооборотПароль = Пароль;

ПараметрыСеанса.ИнтеграцияС1СДокументооборотПарольИзвестен = Истина;

Результат = Неопределено;

Выполнить("Результат = " + Имя + "(Параметры)" );

ПоместитьВоВременноеХранилище(Результат, Адрес);

КонецПроцедуры

 
MyTetra Share v.0.59
Яндекс индекс цитирования