Выполнение длительных операций в фоновых заданиях

Публикация № 1793747 19.01.23

Разработка - Универсальные функции

длительные операции фоновые задания

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

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

С формы обработки запускаем в фоновом задании функцию, которая находится в не глобальном общем модуле "расш_ОбщийМодульСервер" со свойством "Сервер".

// форма обработки

&НаКлиенте
Процедура ОбновитьТаблицу(Команда) 
    
    расш_ОбновитьТаблицыСверок();
    
КонецПроцедуры

// Вызов функции в фоновом задании:
// 1) запуск с клиента фонового задания на сервере
// 2) на клиенте подключение обработчика завершения фонового задания
// 3) на клиенте проверка выполнения фонового задания
// 4) на сервере получение результата фонового задания

&НаКлиенте
Процедура расш_ОбновитьТаблицыСверок()  
    
    // 1) запуск с клиента фонового задания на сервере
    ВыборкаСверка = расш_ВыборкаСверка();
    
    // 2) на клиенте подключение обработчика завершения фонового задания
    расш_ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект); 
    расш_ПараметрыОжидания.ВыводитьОкноОжидания = Истина;
    расш_ОповещениеСверка = Новый ОписаниеОповещения("расш_ПриЗавершенииВыборкиСверки", ЭтотОбъект);
    ДлительныеОперацииКлиент.ОжидатьЗавершение(ВыборкаСверка, расш_ОповещениеСверка, расш_ПараметрыОжидания); 
    
КонецПроцедуры

&НаСервере
Функция расш_ВыборкаСверка()       
    
    расш_ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияФункции(ЭтаФорма.УникальныйИдентификатор);              
    Возврат ДлительныеОперации.ВыполнитьФункцию(расш_ПараметрыВыполнения, "расш_ОбщийМодульСервер.расш_ВыборкаСверкаНоменклатуры");  
    
КонецФункции

// 3) на клиенте проверка выполнения фонового задания
&НаКлиенте
Процедура расш_ПриЗавершенииВыборкиСверки(РезультатИзВремХран, расш_ДопПараметры) Экспорт
    
    Если РезультатИзВремХран = Неопределено Тогда  // пользователь отменил задание
        Возврат;
    КонецЕсли;
    
    Если РезультатИзВремХран.Статус = "Ошибка" Тогда
        ВызватьИсключение РезультатИзВремХран.ПодробноеПредставлениеОшибки;
    КонецЕсли;
    
    расш_ЗаполнениеТаблицСверки(РезультатИзВремХран);
    
    ПоказатьПредупреждение( , "Таблицы обновлены!");      
    
КонецПроцедуры

// 4) на сервере получение результата фонового задания
&НаСервере
Процедура расш_ЗаполнениеТаблицСверки(РезультатИзВремХран) 
    
    РезультатВыборкаСверка = ПолучитьИзВременногоХранилища(РезультатИзВремХран.АдресРезультата);   
    
    Для каждого ТекН Из РезультатВыборкаСверка.ТаблицаНаименований Цикл 
        НовН = СписокНоменклатуры.Добавить();
        ЗаполнитьЗначенияСвойств(НовН, ТекН); 
    КонецЦикла;  
    
    Для каждого ТекЕд Из РезультатВыборкаСверка.ТаблицаЕдиниц Цикл 
        НовЕд = СписокЕдиниц.Добавить();
        ЗаполнитьЗначенияСвойств(НовЕд, ТекЕд); 
    КонецЦикла;  
    
    УдалитьИзВременногоХранилища(РезультатИзВремХран.АдресРезультата);  
    
КонецПроцедуры


// общий модуль  расш_ОбщийМодульСервер

Функция расш_ВыборкаСверкаНоменклатуры() Экспорт
    
    // упрощённый текст функции
    
    ТаблицаНаименований = Новый ТаблицаЗначений;
    ТаблицаНаименований.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(100)));  
    ...
    
    ТаблицаЕдиниц = Новый ТаблицаЗначений;
    ТаблицаЕдиниц.Колонки.Добавить("Единица",Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(50)));  
    ...
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ 
        ...
        |    СправочникНоменклатура.Наименование";
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл   
        ...
                    НоваяСтрока = ТаблицаНаименований.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
        ...
                    НоваяСтрокаЕд = ТаблицаЕдиниц.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрокаЕд, Выборка);  
        ...   
    КонецЦикла;

    РезультатВыборкаСверка = Новый Структура("ТаблицаНаименований, ТаблицаЕдиниц", ТаблицаНаименований, ТаблицаЕдиниц);
    
    Возврат РезультатВыборкаСверка;
    
КонецФункции

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. programmer_2019 27 25.01.23 17:21 Сейчас в теме
(1) Просмотрел эти статьи. Не моя ситуация. Мне так не удобно. Свой вариант никому не навязываю.
2. ltfriend 1019 20.01.23 19:57 Сейчас в теме
Статья с ИТС своими словами?
mixailpopovsaratov; +1 Ответить
5. programmer_2019 27 25.01.23 17:23 Сейчас в теме
(2) Только часть информации есть на ИТС. На ИТС нет полностью нужной мне информации, которую я описал в своей статье.
3. Cmapnep 16 24.01.23 10:53 Сейчас в теме
Желательно добавить в описание номер версии БСП для которой это работает
umberto_nobile; sandr13; +2 Ответить
6. programmer_2019 27 25.01.23 17:35 Сейчас в теме
Оставьте свое сообщение

См. также

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    4646    quazare    8    

91

Выгрузка данных в Excel с добавлением формул (нюансы формирования формул)

Загрузка и выгрузка в Excel Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Итак, я здесь описываю выгрузку отчета в Excel с добавлением пустых колонок для заполнения внутри самого Excel + колонки с формулами для выполнения расчетов на базе выгруженного и введенного руками в Excel. На самом деле публикация появилась по причине моих проблем, возникших при написании формул. Все остальное вроде штатно, но вдруг кому пригодится.

30.05.2022    2720    Zlohobbit    5    

19

Хитрости СКД. Часть 3

СКД Универсальные функции Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

28.05.2022    6249    milkers    11    

86

Базовые принципы работы с регламентными заданиями подсистем БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В очередной публикации рассмотрим некоторые базовые приемы работы с регламентными заданиями в рамках библиотеки стандартных подсистем

22.05.2022    7365    quazare    24    

52

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

25.04.2022    8951    quazare    11    

125

Вывод табличных документов с разной ориентацией страниц в один pdf файл

Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

Привожу код для вывода нескольких табличных документов c разной ориентацией страниц в один файл pdf.

06.04.2022    2421    sdjoker    5    

28

Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)

БСП (Библиотека стандартных подсистем) Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Мы все любим 1С, не так ли? Вот дает 1С прекрасный механизм возможности модификации макетов печатных форм в БСП. А из всех рекомендаций это получение макета и заполнение параметров областей. И вы спросите: "А что не так... ты печатные формы накодить не можешь без указаний сверху?". Да вот в том то и дело, что я могу все. А вот пользователям от такого механизма пользы 0, если из всех доступных изменений остаются только шрифты, да текст произвольный накинуть. А ведь можно больше, надо только соблюдать несколько правил при подготовке печатных форм...

07.03.2022    8715    vandalsvq    0    

56

Убираем параметры из отбора СКД

Универсальные функции СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Заметка о некоторых технических нюансах параметров данных и отборов СКД.

17.02.2022    4821    Yashazz    29    

31

Конвертируем печатную форму pdf в картинку (jpg, gif, png и прочие) на сервере

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Была поставлена интересная задача конвертировать печатную форму в файл картинку. По условию задачи клиенту на почту нужно присылать только файл картинку (jpg, gif).

22.12.2021    5560    John_d    25    

46

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Простая и удобная среда разработки 1С:Предприятия позволяет практически любому человеку начать работать под капотом 1С - в конфигураторе. Время идет, новички становятся программистами, специалистами, а об удобных приемах работы узнают годами, по ходу своего карьерного пути. А здорово было бы, если бы все знали удобные приемы в начале своего пути? Эти несколько приемов будут полезны новичкам, так как они затрагивают ту область работы, с которой приходится сталкиваться в начале карьеры.

12.11.2021    12036    acces969    95    

138

Простейший способ учета изменений управляемых форм объектов 1С

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

02.11.2021    1948    avalakh    12    

20

Функции для преобразования справочников и документов в соответствие и обратно

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Функции для преобразования справочников и документов в соответствие и обратно. Предназначены для передачи данных между одинаковыми и не очень конфигурациями или как очередной вариант сохранения (архивирования) объектов перед редактированием с последующим восстановлением.

01.11.2021    1702    avalakh    5    

19

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом)... То вам - сюда.

08.10.2021    3520    e-9    13    

21

Взаимодействие с api Честный знак (Молочная продукция)

WEB-интеграция Универсальные функции Обмен с ГосИС Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021    13442    user5300    68    

54

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Из Word в табличный документ

Универсальные функции Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

Быстро и просто: текст, списки, таблицы. Готовый код

18.08.2021    3955    Yashazz    6    

61

Префиксация объектов - полезный типовой функционал БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бухгалтерский учет Управленческий учет Бесплатно (free)

В данной публикации предлагаю рассмотреть основные типовые возможности библиотеки стандартных подсистем (БСП), касаемые префиксации объектов конфигураций.

21.06.2021    10133    quazare    4    

61

Своя функция &Вместо &ИзменениеИКонтроль

Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

Как добавить контроль в расширения, если не доверяешь аннотации &ИзменениеИКонтроль.

06.06.2021    15172    AntonProgma    171    

19

Предотвращение многократного вызова "ПриПолученииДанных" во время поиска в табличном поле в обычных формах

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Долго искал решение: как при выводе строк заполнить значениями колонки, которые созданы программно, чтобы, не было тормозов при стандартном поиске. И с минимальными изменениями (легко контролируемыми, при обновлении).

07.04.2021    3383    Vlad_CK    9    

25

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Генератор QR кодов для 1С без компонент через HTTP API

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Самый простой, на мой взгляд, способ получить QR код для 1СV8. Без внешних компонент, как говорится, бесплатно, без смс и регистрации))

17.12.2020    8691    shell_maxim    28    

30

Сохранение настроек

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

22.11.2020    9056    ixijixi    8    

66

Сохранение настроенного запроса набора данных СКД

Универсальные функции Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Как сохранить запрос набора данных СКД в том виде, каким он будет выполнен системой для открытия в консоли запросов с диска ИТС.

09.11.2020    2309    Serge R    0    

20

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки таблицы (или таблиц, если их несколько).

07.10.2020    12288    ellavs    6    

33

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Россия Бесплатно (free)

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020    9378    Neti    47    

68

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Самый простой парсинг и обработка веб-страниц в 1С

WEB-интеграция Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    23500    Infostart    30    

145

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бесплатно (free)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    14147    quazare    7    

79

Вывод дерева в табличный документ СКД

Универсальные функции Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    6712    Yashazz    12    

25

Форма выбора (подбор) в управляемых формах

Универсальные функции Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    163892    user5300    37    

275

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Получаем уровень группировки ячейки табличного документа

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

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

23.03.2020    8146    maxx    16    

57

Поблочная обработка таблицы. Обзор решений

Универсальные функции Запросы СКД Платформа 1С v8.3 Бесплатно (free)

8 способов реализации повседневной актуальной задачи, готовый код

25.02.2020    3254    Yashazz    21    

21

Сравнение адресов: случай из практики

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

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

04.01.2020    5187    AnatolPopov    7    

22

Сходство Джаро - Винклера. Нечеткое сравнение строк

Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

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

25.12.2019    10931    brooho    21    

168

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Автоматическое создание связанного объекта в базе 1С: Документооборот через бесшовную интеграцию

Универсальные функции Механизмы типовых конфигураций Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

При настройке бесшовной интеграции с базой документооборота часто возникает задача - пользователи просят автоматически создавать связанный объект в базе документооборота по некоторому условию. В данной публикации я хочу поделиться своим решением данной задачи.

23.12.2019    5925    pavelpribytkin96    3    

39

Разбор любого JSON-объекта в соответствующую структуру

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

13.11.2019    34974    user665435_al.windstorm    16    

27

Быстрое создание наполненных коллекций

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Разберем самые частые способы создания коллекции, значения которой известны заранее. И сравним скорость их выполнения.

28.10.2019    8995    SeiOkami    69    

68