Для каждого СтрокаДанных ИЗ ТаблицаДанных Цикл
ОповещениеОЗавершении = Новый ОписаниеОповещения("ОбработатьФайлНаСервереЗавершение", ЭтотОбъект, ДопПараметры);
НачатьПомещениеФайлаНаСервер(ОповещениеОЗавершении,,,,ПутьКФайлу, УникальныйИдентификатор);
КонецЦикла;
ПрочитатьДанные();
инициализирует к запуску N штук Процедур ОбработатьФайлНаСервереЗавершение, затем делает ПрочитатьДанные() и только потом запускает N раз Процедуры ОбработатьФайлНаСервереЗавершение
А как сделать, чтобы ПрочитатьДанные() выполнилось после обработок описания оповещения?
Если ставлю ВыполнитьОбработкуОповещения(Новый ОписаниеОповещения("ПрочитатьДанные", ЭтотОбъект)); то все равно оно выполняется раньше чем "ОбработатьФайлНаСервереЗавершение"..
МассивОбещаний = Новый Массив;
Для каждого СтрокаДанных ИЗ ТаблицаДанных Цикл
МассивОбещаний.Добавить(ПоместитьФайлНаСерверАсинх(...));
КонецЦикла;
Для каждого Эл из МассивОбещаний Цикл
Результат = Ждать Эл;
ОбработатьФайлНаСервереЗавершение(Эл);
КонецЦикла;
ПрочитатьДанные();
Сделал в ОбработатьФайлНаСервереЗавершение:
Если ЭтоПоследнийПеремещенныйФайл Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПрочитатьДанные", ЭтотОбъект);
ВыполнитьОбработкуОповещения(ОписаниеОповещения);
КонецЕсли;
Заработало, но в этом случае чтобы определиться с "ЭтоПоследнийПеремещенныйФайл" пришлось сначала обеспокоится подсчетом общего числа файлов.
(3) понял, этот способ интересный, изучу...Спасибо!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс