Дано: 1С:Предприятие 8.3 (8.3.24.1342), Бухгалтерия предприятия, редакция 3.0 (3.0.142.67)
База клиент-серверная.
Расширение, в котором есть обработка, которая, в свою очередь запускает фоновые задания - запросы к ФГИС Зерно.
Почему не использую стандартную разработку 1С - это вопрос философский и к делу не относится.

Это первое фоновое задание

```1c
    Процедура ПолучитьРезультатЗапросаЗЕРНО(ПараметрыЗадания, АдресРезультата) Экспорт
    РезультатРаботы = Новый Структура("Ошибка,ТекстОшибки,Результат,Операция,Запросы,Ответы",
    Ложь, ", Новый Массив, Неопределено, Новый Массив, Новый Массив);

    ПараметрыЗапроса = ПараметрыЗадания.ПараметрыЗапроса;

    // специально для разграничения запуска в фоне или не в фоне
    ЗапущенВФоне = ПараметрыЗапроса.Свойство("ЗапущенВФоне");

    Версия = ПараметрыЗапроса.Версия;
    Операция = ПараметрыЗадания.Операция;
    РезультатРаботы.Операция = Операция;

    ПараметрыЗапроса.Страницы.НомерСтраницы = 0;

    Если ПараметрыЗадания.Свойство("КоличествоЗапросов") Тогда
    КоличествоЗапросов = ?(ПараметрыЗадания.КоличествоЗапросов = 0, 50,
    ПараметрыЗадания.КоличествоЗапросов);
    Иначе
    КоличествоЗапросов = 50;
    КонецЕсли;

    //ПараметрыЗапроса.Страницы.ДлинаСтраницы = 100;
    Если ЗапущенВФоне Тогда
    ДлительныеОперации.СообщитьПрогресс(0,
    СтрШаблон("[%1] Начинаем...", Операция)
    );
    КонецЕсли;
    // ....................... далее всякое-разное. .................................................

    Для к = 1 По КоличествоЗапросов Цикл
    ОтветНаГотовность = СГМ_ОбменЗерноСервер.ОтправитьЗапросНаСервер(
    ЗапросОГотовности.КонвертSOAP, ПараметрыЗапроса);
    Если Не ОтветНаГотовность.Успех Тогда
    Если Не ОтветОтправкиЗапроса.Успех Тогда
    sReturn = WshShell.run(
    СтрШаблон("ping 127.0.0.1 -n %1", Формат(Замедлитель, "ЧГ=0")),
    1,True);
    Замедлитель = 6 + Окр(?(к <= 10, 0,
    ?(к <= 50, Окр(((к - 10) / 40) * 93 + 1, 0), 100
    ) ));
    Если ЗапущенВФоне Тогда
    ДлительныеОперации.СообщитьПрогресс(Окр(к / КоличествоЗапросов * 100,0),
    СтрШаблон("[%1] Запрос №%2: интервал %3", Операция, к, Замедлитель));
    КонецЕсли;
    Продолжить;
    КонецЕсли;
    Иначе
    // проверить, что ответ на исходный запрос сформирован
    КонвертТип = ФабрикаXDTO.Пакеты.Получить(
    Метаданные.ПакетыXDTO.Envelope.ПространствоИмен).КорневыеСвойства.Получить("Envelope").Тип;
    Ответ = Новый ЧтениеXML;
    Ответ.УстановитьСтроку(ОтветНаГотовность.Текст);
    ПринятоЛи = ФабрикаXDTO.ПрочитатьXML(Ответ, КонвертТип).Body;
    СостояниеОтвета = Неопределено;
    Если ПринятоЛи.Свойства().Получить("SendResponseResponse") <> Неопределено Тогда
    Если ПринятоЛи.SendResponseResponse.Свойства().Получить("ResponseCode") <> Неопределено Тогда
    СостояниеОтвета = НРег(Строка(ПринятоЛи.SendResponseResponse.ResponseCode));
    Если СостояниеОтвета = "success" Тогда
    // принято и сделано
    ФлагПолучено = Истина;
    РезультатРаботы.Ответы.Добавить(ОтветНаГотовность.Текст);
    Прервать;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;

    // пауза
    sReturn = WshShell.run(
    СтрШаблон("ping 127.0.0.1 -n %1", Формат(Замедлитель, "ЧГ=0")),
    1,True);
    Замедлитель = 6 + Окр(?(к <= 10, 0,
    ?(к <= 50, Окр(((к - 10) / 40) * 93 + 1, 0), 100
    ) ));
    Если ЗапущенВФоне Тогда
    ДлительныеОперации.СообщитьПрогресс(Окр(к / КоличествоЗапросов * 100, 0),
    СтрШаблон("[%1] Запрос №%2: интервал %3", Операция, к, Замедлитель));
    КонецЕсли;
    КонецЦикла;

    // ................................... дальше обработка полученного и пр........................
```

 Это второе:

```1c
    Процедура МассовоеГашениеСДИЗППЗ(ПараметрыЗадания, АдресРезультата) Экспорт

    // ......................................... здесь разбор входных данных ......................................
    Всего = СписокДляГашения.Количество();
    Счетчик = 0;

    Для каждого Элем Из СписокДляГашения Цикл

    //ПараметрыЗапроса.ЭтоВопрос = Истина;

    Если ЗапущенВФоне Тогда
    ДлительныеОперации.СообщитьПрогресс(Окр(Счетчик / Всего * 100, 0),
    СтрШаблон("Обрабатываем %1, количество %2",
    Элем.Номер, Элем.Количество)
    );
    КонецЕсли;
    Счетчик = Счетчик + 1;

    // .................................. дальше цикл, всё работает .....................
```

В первом случае запуск такой

```1c
    ИДЗадания = ";

    СтруктураФоновогоЗадания = ЗагрузитьСписокСДИЗППЗНаСервере();
    ИДЗадания = СтруктураФоновогоЗадания.ИдентификаторЗадания;

    ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
    ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
    //ПараметрыОжидания.Интервал = 3;
    //ПараметрыОжидания.ВыводитьОкноОжидания = Истина;
    //ПараметрыОжидания.ОповещениеОПрогрессеВыполнения

    ДлительныеОперацииКлиент.ОжидатьЗавершение(
    СтруктураФоновогоЗадания,
    Новый ОписаниеОповещения("ОбработатьСписокППЗ", ЭтотОбъект),
    ПараметрыОжидания);
```

Во втором случае запуск такой

```1c
    СтруктураФоновогоЗадания = ПогаситьСДИЗППЗНаСервере(СписокДляГашения);
    ИДЗадания = СтруктураФоновогоЗадания.ИдентификаторЗадания;

    ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
    ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
    //ПараметрыОжидания.Интервал = 3;
    //ПараметрыОжидания.ВыводитьОкноОжидания = Истина;
    //ПараметрыОжидания.ОповещениеОПрогрессеВыполнения

    ДлительныеОперацииКлиент.ОжидатьЗавершение(
    СтруктураФоновогоЗадания,
    Новый ОписаниеОповещения("ОбработатьГашениеСДИЗППЗ", ЭтотОбъект, СписокДляГашения),
    ПараметрыОжидания);
```

Так вот: у первого никакой прогресс не выдаётся. Сидит кот, поёт песни, выводится стандартное окно запущенного фонового задания ("Пожалуйста, подождите...")
Во втором случае на фоне того же кота показывает проценты и информацию об обрабатываемой строке.

Вопрос. Почему в первом случае прогресс не показывает?
---
Вопрос снят. Нашёл опечатку, которую трудно заметить.
В строке первого фрагмента
```1c
    // специально для разграничения запуска в фоне или не в фоне
    ЗапущенВФоне = ПараметрыЗапроса.Свойство("ЗапущенВФоне");
```
   вместо ПараметрыЗапроса, должно стоять ПараметрыЗадания. .
Прошу прощения за отнятое время.
---
Новый ОписаниеОповещения("ОбработатьСписокППЗ", ЭтотОбъект),
        ПараметрыОжидания);

и

Новый ОписаниеОповещения("ОбработатьГашениеСДИЗППЗ", ЭтотОбъект, СписокДляГашения),
        ПараметрыОжидания);

вы реально не видите и не понимаете разницу? Как по-вашему, в первом случае, система должна строить "шкалу", по каким данным?
---
вы реально не видите и не понимаете разницу? Как по-вашему, в первом случае, система должна строить "шкалу", по каким данным?
Видите ли, если бы я не имел вариант работающего прогресса
```1c
    Если КонтрольСоответствия Тогда
    Объект.Товары.Очистить();

    СтруктураФоновогоЗадания = ВыполнитьФоновоеЗаданиеНаСервере(УникальныйИдентификатор);
    ИДЗадания = СтруктураФоновогоЗадания.ИдентификаторЗадания;

    ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
    ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
    ПараметрыОжидания.Интервал = 2;

    ДлительныеОперацииКлиент.ОжидатьЗавершение(
    СтруктураФоновогоЗадания,
    Новый ОписаниеОповещения("ОбработатьДанные", ЭтотОбъект),
    ПараметрыОжидания);
    Сообщить("Заполнено " + Объект.Товары.Количество());

    Иначе
    // если контроля нет, то сразу переходим к заполнению и созданию и обработке документа ИнвентаризацияВЕТИС
    ЗаполнитьНаСервере();
    Сообщить("Заполнено " + Объект.Товары.Количество());
    КонецЕсли;
```
, я бы свой вопрос не задавал.
А шкалу я ему даю: и проценты и надпись, их сопровождающую.
А то, что СписокГашения, так это ДополнительныеПараметры, тип которых произвольный, которых может и не быть вовсе, а прогресс, тем не менее работать будет. Ибо, повторюсь, имею работающий вариант кода.

```1c
    Процедура СообщитьПрогресс(Знач Процент = Неопределено, Знач Текст = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт
```
 Обратите внимание, этой процедуре ничего внешнего не надо. Да и в коде этой процедуры ничего экстроординарного нет.
---
... экстраординарного...
---
Вопрос снят. Нашёл опечатку, которую трудно заметить.
В строке первого фрагмента
```1c
    // специально для разграничения запуска в фоне или не в фоне
    ЗапущенВФоне = ПараметрыЗапроса.Свойство("ЗапущенВФоне");
```
   вместо ПараметрыЗапроса, должно стоять ПараметрыЗадания. .
Прошу прощения за отнятое время.