admin / 16.03.2020

Тема: Метод объекта не обнаружен (ОбновитьОтображениеПредупреждающихНадписейКонтактнойИнфор

Admin 4 марта, 2019

Дополнительно, Обработки, Общие

Часто на работе нужно оперативно разработать какой либо отчет и отправить его на тестирование сразу в боевую базу, причем нескольким пользователям одновременно. Рассылать его как внешний отчет каждому пользователю, выдавать права на открытие внешних отчетов и обработок, объяснять как его открыть долго и не удобно. Поэтом всегда пользуюсь справочником “Дополнительные отчеты и обработки”.

И каждый раз написав отчет и прикрепляя его в этот справочник у меня возникает одна и та же ошибка “Метод объекта не обнаружен (СведенияОВнешнейОбработке)”.


Метод объекта не обнаружен

Поэтому что бы не искать заново уже написанные отчеты или обработки, открывать их и копировать данный метод, я решил выложить его в виде готового шаблона сюда, что бы в любой момент быстро зайти и скопировать его:

1С (Код)

Как можете здесь увидеть я разбил его на несколько процедур “СведенияОВнешнейОбработке”, “ПолучитьТаблицуКоманд” и “ДобавитьКоманду”, а так же добавил одну переменную для установки наименования и описания отчета “ОбщееОписание”.

Не забываем что выше написанный код необходимо вставить в модуль объекта. Копируйте, пользуйтесь и быстро разрабатывайте дополнительные отчеты/обработки, не тратя время на всякие мелочи.

Навигация по разделам:

  • 1С:ИТС — для сотрудников
  • ЛК
    • Налоги и взносы — методики в независимости от программ
      • НДФЛ методические вопросы
      • СЗВ-М
    • Работа с программами 1С для торговых организаций
      • Онлайн кассы ККТ / 54 ФЗ / ОФД — консультации ЛК
      • ЕГАИС
        • ЕГАИС настройка рабочего места (установка панели Рутокен, УТМ)
        • ЕГАИС текущие вопросы
        • ЕГАИС технические сбои оборудования
      • Маркировка товаров
        • ФГИС «Меркурий» (учет продукции животного происхождения)
        • ИС МОТП (маркировка и мониторинг оборота табачной продукции)
        • ИС Маркировка «Обувь»
        • Маркировка продукции легкой промышленности
        • ФГИС «МДЛП» (мониторинг движения лекарственных средств)
          • МДЛП Настойка обмена с ИС «МДЛП»
          • МДЛП Текущие вопросы
          • МДЛП Регистрация в личном кабинете
      • 1С:Предприятие 8. Управление автотранспортом.
      • 1С: Предприятие 8. Автосервис
      • 1С:Управление небольшой фирмой 8
        • УНФ Деньги
        • УНФ Покупка, продажа
        • УНФ Производство
        • УНФ Розница
        • УНФ Отчетность
        • УНФ Администрирование
        • УНФ Анализ
        • УНФ Заработная плата
        • УНФ Компания
      • 1С:Предприятие 8. Управление торговлей, редакция 11
        • УТ-11 Закупки
        • УТ-11 CRM и Маркетинг
        • УТ-11 Настройка прав доступа
        • УТ-11 Нормативно-справочная информация
        • УТ-11 Оптовая торговля
        • УТ-11 Продажи
        • УТ-11 Розничная торговля
        • УТ-11 Синхронизация
        • УТ-11 Склад и Доставка
        • УТ-11 Казначейство
        • УТ-11 Администрирование
        • УТ-11 Подключаемое оборудование
        • УТ-11 Финансовый результат и контроллинг
      • 1С:Предприятие 8. Управление торговлей алкогольной продукцией
      • Общепит
        • ФК:Учет в общепите
      • 1С:Розница 8
        • Розница. Нормативно-справочная информация
        • Розница. Продажи
        • Розница. Склад
        • Розница. Торговое оборудование
        • Розница. Финансы
        • Розница.Закупки и запасы
        • Розница. Маркетинг
        • Розница. Администрирование
      • 1С:Розница 8. Аптека
    • Администрирование 1С, технологические вопросы
      • Обслуживание БД 1С
      • Ошибки конфигурации
    • 1С:Документооборот
    • Работа с программами 1С для хозрасчетных организаций
      • 1С:Предприятие 8. Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК.
      • 1С:Предприятие 8.ВДГБ: Ломбард
      • 1С:Предприятие 8. ERP Управление предприятием 2.0
        • ERP Подсистема управленческого учета
        • ERP: Подсистема Зарплата и управление персоналом
        • ERP Подсистема регламентированного учета
      • 1C:Бухгалтерия 8
        • БП Банк и касса
        • БП Склад, покупка, продажа
        • БП Зарплата
        • БП Администрирование
        • БП Декларация по налогу на имущество
        • БП Закрытие месяца
        • БП МЦ
        • БП НДС
        • БП НДФЛ
        • БП пилотный проект ФСС
        • БП Прибыль
        • БП Производство
        • БП Справочники, документы, печатные формы
        • БП УСН
        • БП Учет ОС и НМА
        • БП Отчетность Декларация по налогу на прибыль
        • БП Отчетность по Алко декларации
        • БП Отчетность по НДС
        • БП Отчетность по СТАТ
        • БП Отчетность в Пенсионный Фонд
        • БП Учетная политика, ввод остатков, начальные настройки
        • БП Отчетность по УСН
        • БП Бухгалтерская отчетность
        • БП Отчетность в ФСС
        • БП Земельный налог
        • БП Отчетность по ЕНВД
        • БП Транспортный налог
        • БП Отчетность по страховым взносам
      • 1С:Предприятие 8. Бухгалтерия сельскохозяйственного предприятия
        • БПСельхоз ОС и НМА
        • БПСельхоз Пайщики
        • БПСельхозОтчетность АПК
        • БПСельхоз Банк и Касса
        • БПСельхозОбновление программ
        • БПСельхоз Зарплата
        • БПСельхоз Производство
        • БПСельхоз Склад
        • БПСельхоз ЕСХН
        • БПСельхоз ПутевыеЛисты, Сдельные наряды
      • 1С:Предприятие 8. Бухгалтерия строительной организации
      • 1С:Зарплата и Управление Персоналом 8
        • ЗУП-3 Кадровый учет
        • ЗУП-3 Отражение зарплаты в бухгалтерском учете
        • ЗУП-3 Налоги и взносы
        • ЗУП-3 РСВ-1
        • ЗУП-3 Администрирование
        • ЗУП-3 Больничный
        • ЗУП-3 Зарплата
        • ЗУП-3 Начальное заполнение, учетная политика, параметры учета
        • ЗУП-3 НДФЛ
        • ЗУП-3 Отпуск
        • ЗУП-3 Отчетность
        • ЗУП-3 Пособия
        • ЗУП-3 Синхронизация
        • ЗУП-3 Отчетность по страховым взносам
      • 1С Комплексная автоматизация 8. Редакция 2
        • КА Зарплата
        • КА Отчетность
        • КА Покупка, продажа
        • КА Продажи
        • КА Администрирование
      • 1С Комплексная автоматизация 8. Редакция 1.1
      • Обмены между типовыми конфигурациями для хозрасчетных организаций
        • Обмен данными между 1С:Бухгалтерия 8 и 1С:Управление небольшой фирмой 8
        • Обмен данными между 1С:Бухгалтерия 8 и 1С:Зарплата и управление персоналом 8
        • Обмен данными между 1С:Бухгалтерия 8 и 1С:Предприятие 8. Управление торговлей
        • Обмен данными между 1С:Бухгалтерия 8 и 1С:Розница 8
        • Обмен данными между 1С: Управление торговлей и 1С:Розница 8
        • Обмен данными между распределенным информационными базами (РИБ)
      • 1С:Предприятие 8. Расчет квартплаты и бухгалтерия ЖКХ
      • 1С:Предприятие 8. Управление производственным предприятием
      • 1С-Рарус: Бухгалтерия для некоммерческой организации
      • 1С:Предприятие 8. Учет и управление для профессиональных участников рынка ценных бумаг КОРП
    • Работа с программами 1С для бюджетных организаций
      • 1С:Зарплата и кадры государственного учреждения. Ред. 3.1
        • ЗКГУ 3 Взносы
        • ЗКГУ 3 Зарплата
        • ЗКГУ 3 Кадры
        • ЗКГУ 3 Командировки
        • ЗКГУ 3 Начисления
        • ЗКГУ 3 НДФЛ
        • ЗКГУ 3 Отпуск
        • ЗКГУ 3 Отражение в бухучете
        • ЗКГУ 3 Справочники, настройки
        • ЗКГУ 3 Больничный
        • ЗКГУ 3 Отчеты
        • ЗКГУ 3 Удержания
      • Закупки. Дополнение к «1С:Бухгалтерия государственного учреждения 8»
      • ЗКБУ ПФР
        • ЗКБУ ПФР Зарплата
        • ЗКБУ ПФР Кадры
        • ЗКБУ ПФР Отпуска
        • ЗКБУ ПФР Расчет удержаний
      • ЗКГУ 3 ПФР
      • 1С:Финконтроль
      • 1С:Бухгалтерия государственного учреждения 8
        • БГУ Банк и Касса
        • БГУ ГСМ
        • БГУ Закрытие года, исправление ошибок прошлых лет
        • БГУ Материальные запасы
        • БГУ НДС, Прибыль и др. платежи в бюджет
        • БГУ ОС и НМА
        • БГУ Отражение зарплаты
        • БГУ Отчетность
        • БГУ Планирование и санкционирование
        • БГУ Производство
        • БГУ Синхронизация
        • БГУ Справочники, настройки, печатнае формы
        • БГУ СУФД, К-Банк, АЦК-Финансы, Эл. бюджет, Мат.Капитал
        • БГУ Администрирование
        • БГУ. Взаиморасчеты с разными дебиторами/кредиторами
        • БГУ Учет питания
        • БГУ Услуги
        • БГУ Стандартные отчеты, регистры учета
        • БГУ Имущество казны
        • БГУ Переход на новый ПСБУ и стандарты
        • БГУ Аренда
        • БГУ Доходы, в т.ч. Платные услуги
      • ИБиБУ
    • WEB-разработка, создание и продвижение сайтов
      • Системы управления веб-содержимым
        • UMI.CMS
          • программы готовых сайтов 1С-UMI
    • Сервисы 1С:ИТС
      • 1С:Fresh / 1С:Фреш
      • 1С-ЭДО (1С-Такском)
      • 1Спарк Риски
    • КРИПТО ПРО
    • Устаревшее ПО. Не поддерживается производителем
      • УПП Управление производственным предприятием
      • 1С:Зарплата и кадры бюджетного учреждения. Редакция 1.0.(не поддерживается производителем)
        • ЗКБУ Больничный
        • ЗКБУ Зарплата
        • ЗКБУ Кадры
        • ЗКБУ Начисления
        • ЗКБУ НДФЛ
        • ЗКБУ Отпуск
        • ЗКБУ Отражение в бухучете
        • ЗКБУ Отчеты
        • ЗКБУ удержания
    • ЛК Работа с электронной отчетностью и ЭДО
      • 1С-Отчетность
        • 1С-Отчетность Перенос ключей
        • 1С-Отчетность Статус заявления
        • 1С-Отчетность Технические проблемы
        • 1С-Отчетность Требования
        • 1С-Отчетность Изменение реквизитов
        • 1С-Отчетность Кабинет налогоплательщика
        • 1С-Отчетность в ПФР
        • 1С-Отчетность в ФСС
        • 1С-Отчетность Письма, уведомления, запросы, квитанции
        • 1С-Отчетность Подключение отчетности
        • 1С-Отчетность Продление сертификата или лицензии
        • 1С-Отчетность в Росалкогольрегулирование
        • 1С-Отчетность в Росприроднадзор
        • 1С-Отчетность в Статистику
        • 1С-Отчетность в ФНС
      • ЭО Документооборот
      • Такском
        • Такском Отчетность
      • Торговые площадки
        • 1С-ЭТП
      • ЕГАИС Ключи электронной подписи

Статистика ЛК

В данной статье описан пример кода для запуска фонового задания из формы внешней обработки средствами 1С БСП с возможностью отображения индикации.

Описание используемых процедур

Данный пример кода реализован с использованием функционала Длительных операций 1С:Библиотеки стандартных подсистем версии 2.3.2 и выше.
В 1С БСП существует функционал для запуска фоновых заданий из дополнительных обработок в общем модуле ДлительныеОперации.
Основные процедуры функционала Длительных операций БСП, используемые в данном примере:
— Запуск экспортной функции внешней обработки происходит через функцию ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки, в которую необходимо передать данные для запуска: имя процедуры, ссылка на дополнительную обработку, имя обработки и другие;
— Процедура ДлительныеОперации.ВыполнитьВФоне: Запустить выполнение процедуры в фоновом задании, если это возможно;
— Функция ДлительныеОперации.ПрочитатьПрогресс: Считывает информацию о ходе выполнения фонового задания;
— Функция ДлительныеОперации.СообщитьПрогресс: Регистрирует информацию о ходе выполнения фонового задания;
— Процедура ДлительныеОперацииКлиент.ОжидатьЗавершение: Ожидать завершения выполнение процедуры в фоновом задании и открыть форму ожидания длительной операции.

Со всеми детальными описаниями и параметрами функций и процедур можно ознакомится в комментариях перед соответствующими процедурами в общих модулях.

Рассмотрим пример обработки.

Пример запуска процедуры внешней обработки в фоновом режиме с помощью функционала 1С БСП

В модуле объекта необходимо описать сведения о внешней обработке. Команда будет запускаться через команду формы.

1С (Код)

Также вставим экспортную функцию, которая будет запускаться в фоновом задании. В качестве параметров у функции:
— СтруктураПараметров (тип Структура) — параметры, которые мы передали при запуске длительной операции;
— АдресРезультата (тип УникальныйИдентификатор) — Адрес временного хранилища, присвоенный при запуске задания, в котором будут записаны результаты работы процедуры.
В нашем примере на вход передается число — количество итераций, которое задается пользователем.
На выходе получаем массив чисел и помещаем во временное хранилище.

В рамках одного запущенного фонового задания можно отслеживать прогресс выполнения с помощью процедур ДлительныеОперации.СообщитьПрогресс и ДлительныеОперации.ПолучитьПрогресс.
В процедуре выполнения выполняем процедуру ДлительныеОперации.СообщитьПрогресс, которая регистрирует информацию о ходе выполнения фонового задания. Передаем параметры «Процент» и «Текст». Также можно передать структуру с дополнительными параметрами.

1С (Код)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Процедура ДлительнаяОперация(СтруктураПараметров, АдресРезультата) Экспорт МассивВозврат = Новый Массив; Для Ин = 1 ПО СтруктураПараметров.КоличествоИтераций Цикл //ваш код Если Ин/100 — Окр(Ин/100, 0) = 0 Тогда МассивВозврат.Добавить(Ин); КонецЕсли; ТекущийПроцентВыполнения = Окр(100*Ин/СтруктураПараметров.КоличествоИтераций, 0); ДлительныеОперации.СообщитьПрогресс(ТекущийПроцентВыполнения, СтрШаблон(«Выполняется итерация %1», Ин)); КонецЦикла; ПоместитьВоВременноеХранилище(МассивВозврат, АдресРезультата); КонецПроцедуры

На форме добавляем команду, при выполнении которой будет запускаться фоновое задание.

1С (Код)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 &НаКлиенте Функция ПодготовитьДанныеДляДлительнойОперации() Возврат Новый Структура(«КоличествоИтераций», КоличествоИтераций); КонецФункции &НаКлиенте Процедура ЗапуститьВыполнение(Команда) //сохраним идентификатор задания в реквизите формы ИДЗадания = «»; //готовим входящие данные для фоновой процедуры ПараметрыЗапуска = ПодготовитьДанныеДляДлительнойОперации(); //запускаем фоновое задание, параметры: структура вх. данных и уникальный идентификатор формы-владельца СтруктураФоновогоЗадания = ВыполнитьФоновоеЗаданиеНаСервере(ПараметрыЗапуска, УникальныйИдентификатор); ИДЗадания = СтруктураФоновогоЗадания.ИдентификаторЗадания; //получаем структуру параметров ожидания и устанавливаем необходимые параметры ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект); // указываем необходимость вывода окна с индикацией ПараметрыОжидания.ВыводитьОкноОжидания = Истина; // указываем необходимость вывода прогресса состояния ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина; // указываем интервал обновления состояния в секундах, если не указать, // то интервал будет увеличиваться при каждой итерации в 1.4 раза. ПараметрыОжидания.Интервал = 2; //Ожидать завершения выполнение процедуры в фоновом задании и открыть форму ожидания длительной операции. ДлительныеОперацииКлиент.ОжидатьЗавершение( СтруктураФоновогоЗадания, Новый ОписаниеОповещения(«ОбработатьДанные», ЭтотОбъект), ПараметрыОжидания); КонецПроцедуры &НаСервереБезКонтекста Функция ВыполнитьФоновоеЗаданиеНаСервере(ПараметрыЗапуска, УникальныйИдентификатор) НаименованиеЗадания = НСтр(«ru = ‘Запуск длительной операции'»); //ссылка на доп. обработку, подключенную к базе. В данном примере ищем по наименованию, указанному в Сведениях о внешней обработке ДополнительнаяОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(«Пример длит. операций во внешней обработке»); //запуск фоновой процедуры происходит через метод «ВыполнитьПроцедуруМодуляОбъектаОбработки», куда мы передаем данные об обработке и о процедуре, которую необходимо запустить ВыполняемыйМетод = «ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки»; ПараметрыЗадания = Новый Структура; //имя внешней обработки ПараметрыЗадания.Вставить(«ИмяОбработки», «ВнешняяОбработка.ДлительныеОперацииВоВнешнейОбработке»); //имя экспортной серверной процедуры обработки ПараметрыЗадания.Вставить(«ИмяМетода», «ДлительнаяОперация»); //входящие параметры процедуры ПараметрыЗадания.Вставить(«ПараметрыВыполнения», ПараметрыЗапуска); //признак внешней обработки ПараметрыЗадания.Вставить(«ЭтоВнешняяОбработка», Истина); //ссылка на доп. обработку в базе ПараметрыЗадания.Вставить(«ДополнительнаяОбработкаСсылка»,ДополнительнаяОбработкаСсылка); //получаем пустую структуру параметров выполнения фонового задания и заполняем ее необходимыми данными ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.Вставить(«ИдентификаторФормы», УникальныйИдентификатор); //запускаем выполнение фонового задания СтруктураФоновогоЗадания = ДлительныеОперации.ВыполнитьВФоне(ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения); Возврат СтруктураФоновогоЗадания; КонецФункции &НаКлиенте Процедура ОбработатьДанные(Результат, ДополнительныеПараметры) Экспорт Если Результат = Неопределено Тогда Возврат; ИначеЕсли Результат.Статус = «Ошибка» Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Результат.ПодробноеПредставлениеОшибки); ИначеЕсли Результат.Статус = «Выполнено» Тогда // обрабатываем результат Данные = ПолучитьИзВременногоХранилища(Результат.АдресРезультата); ВозвратноеЗначение = Данные.Количество(); КонецЕсли; КонецПроцедуры

Таким образом, происходит запуск и выполнение фонового задания из внешней обработки, подключенной к базе с помощью функционала дополнительных обработок БСП.
Процесс работы будет выглядеть следующим образом:

Данное выполнение реализовано только с помощью функционала БСП. Часто бывает, что данное отображение недостаточно наглядно отображает работу процесса, и пользователи требуют строку индикации, потому что, известно, смотреть бесконечно можно на три вещи: огонь, воду и заполняющуюся строку индикации в 1с.

Эту возможность можно реализовать несколькими способами, в данной же статье предлагается 2 варианта: с помощью редактирования общей формы конфигурации «ДлительнаяОперация» и с выводом индикации прямо на форму внешней обработки.

1. Вывод индикации в форме «ДлительнаяОперация».

Редактировать форму будем с помощью расширений. Важно отметить, что данная возможность использования расширений — замена произвольной процедуры в заимствованном модуле — стала реализована только в версии платформы 8.3.9, поэтому режим совместимости конфигурации и расширения должен быть 8.3.9 и выше или вообще отключен.
В форме добавляем в процедуру «ПриСозданииНаСервере» код по добавлению реквизита и элемента формы «Индикатор»:

1С (Код)

Далее заменяем исполняемую в модуле общей формы процедуру, в которой происходит считывание прогресса выполнения и вывод информации на форму, и добавляем строку:

1С (Код)

1 2 3 //… ЭтаФорма.Индикатор = Задание.Прогресс.Процент; //…

Таким образом, при запуске фонового задания будет открыта форма длительной операции с индикатором прогресса.

2. Вывод индикации в форме внешней обработки.

Для реализации данного способа добавим на форму 2 реквизита и соответствующих элемента: Индикатор (тип Число) и СтрокаСостояния (тип Строка).
Идея способа заключается в том, чтобы прочитать прогресс выполняемого задания в форме и вывести данные пользователю, не открывая форму длительной операции.
Для этого добавим Обработчик ожидания, который будет считывать прогресс и выводить его на форму, и саму процедуру считывания прогресса на сервере.

1С (Код)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 &НаКлиенте #Область Индикатор &НаКлиенте Процедура ОбработчикОжиданияИндикатор() Экспорт Прогресс = ПрочитатьПрогресс(ИДЗадания); Если НЕ ТипЗнч(Прогресс) = Тип(«Структура») Тогда СтрокаСостояния = «»; Возврат; КонецЕсли; Если ТипЗнч(Прогресс) = Тип(«Структура») И Прогресс.Свойство(«ЗавершеноАварийно») Тогда ОтключитьОбработчикОжидания(«ОбработчикОжиданияИндикатор»); Возврат; КонецЕсли; Если Прогресс.Свойство(«ЗаданиеВыполнено») И Прогресс.ЗаданиеВыполнено Тогда Индикатор = 100; СтрокаСостояния = «Задание завершено.»; Иначе Если Прогресс.Свойство(«Процент») Тогда Индикатор = Прогресс.Процент; КонецЕсли; Если Прогресс.Свойство(«Текст») Тогда СтрокаСостояния = Прогресс.Текст; КонецЕсли; КонецЕсли; КонецПроцедуры Функция ПрочитатьПрогресс(Знач ИдентификаторФоновогоЗадания) Экспорт Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторФоновогоЗадания); Если Задание = Неопределено Тогда Возврат Неопределено; КонецЕсли; Если Задание.Состояние = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда ОтключитьОбработчикОжидания(«ОбработчикОжиданияИндикатор»); Возврат Неопределено; КонецЕсли; ПрогрессЗадания = ДлительныеОперации.ПрочитатьПрогресс(ИдентификаторФоновогоЗадания); // Добавляем флаг «ЗаданиеВыполнено», чтобы различать случаи: когда отсутствуют сообщения и когда завершено задание. Если ПрогрессЗадания = Неопределено Или ТипЗнч(ПрогрессЗадания) Тип(«Структура») Тогда // или нет задания, или нет сообщений ПрогрессЗадания = Новый Структура; КонецЕсли; ПрогрессЗадания.Вставить(«ЗаданиеВыполнено», ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторФоновогоЗадания)); Возврат ПрогрессЗадания; КонецФункции #КонецОбласти

В ранее добавленные процедуры добавим код для работы индикации:
— в процедуре ЗапуститьВыполнение обнулим наши реквизиты при запуске нового задания, отключим необходимость открытия окна ожидания и подключим наш обработчик ожидания:

1С (Код)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 &НаКлиенте &НаКлиенте Процедура ЗапуститьВыполнение(Команда) ИДЗадания = «»; Индикатор = 0; СтрокаСостояния = «»; ПараметрыЗапуска = ПодготовитьДанныеДляДлительнойОперации(); СтруктураФоновогоЗадания = ВыполнитьФоновоеЗаданиеНаСервере(ПараметрыЗапуска, УникальныйИдентификатор); ИДЗадания = СтруктураФоновогоЗадания.ИдентификаторЗадания; ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект); // указываем необходимость вывода окна с индикацией //если используем индикатор на форме, то вывод окна можно установить как Ложь ПараметрыОжидания.ВыводитьОкноОжидания = Ложь; // указываем необходимость вывода прогресса состояния ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина; // указываем интервал обновления состояния в секундах, если не указать, // то интервал будет увеличиваться при каждой итерации в 1.4 раза. ПараметрыОжидания.Интервал = 2; ДлительныеОперацииКлиент.ОжидатьЗавершение( СтруктураФоновогоЗадания, Новый ОписаниеОповещения(«ОбработатьДанные», ЭтотОбъект), ПараметрыОжидания); //++Индикатор ПодключитьОбработчикОжидания(«ОбработчикОжиданияИндикатор»,2); //—Индикатор КонецПроцедуры

-в процедуре ОбработатьДанные добавим обработку прогресса при завершении выполнения задания:

1С (Код)

Архив с обработкой и расширением:
ДлительныеОперацииВоВнешнейОбработке

FILED UNDER : Статьи

Submit a Comment

Must be required * marked fields.

:*
:*