|   |   | 
| 
 | Отмена длительной обработки на сервере | ☑ | ||
|---|---|---|---|---|
| 0
    
        Александра1с 12.12.23✎ 16:20 | 
        здравствуйте, есть обработка весь код на сервере, довольно длительная из-за большого объема данных, хочу реализовать кнопку "отмена" которая отменяла бы выполнение обработки при нажатии на её пользователем, возможно ли такое реализовать и если да, то как накиньте идея пожалуйста) Пока надумала только  отлавливать нажатие клавиш ctrl+break( тоже вариант но мб можно сделать красивее кнопкой)     | |||
| 1
    
        Donkey_hot 12.12.23✎ 16:26 | 
        Запускайте выполнение в фоне, запоминайте идентификатор, по кнопке отмены вызывайте ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания)     | |||
| 2
    
        Александра1с 12.12.23✎ 16:27 | 
        (1) спасибо сейчас буду вникать и реализовывать     | |||
| 3
    
        lEvGl гуру 12.12.23✎ 16:27 | 
        Александра Александра, 1С оно кривое, накажи его судьбою, вставь проверку булев`о     | |||
| 4
    
        Donkey_hot 12.12.23✎ 16:28 | 
        (1) Или, если нет БСП, то ФоновоеЗадание.Отменить()     | |||
| 5
    
        Александра1с 12.12.23✎ 16:35 | 
        (4) всё гуд  БСП     | |||
| 6
    
        Александра1с 13.12.23✎ 15:18 | 
        и снова хочу уточнить=( код во внешней обработке как запустить процедуру в фоновое выполнение, в каком модуле она должна быть  и как корректно писать в параметрах процедуры  имя обработки?     | |||
| 7
    
        Александра1с 13.12.23✎ 15:18 | 
        НаименованиеЗадания = НСтр("ru = 'Запуск загрузки заказов поставщику'");
 ДополнительнаяОбработкаСсылка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Загрузить заказы из файла Excel"); ВыполняемыйМетод = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки"; ПараметрыЗадания = Новый Структура; //имя внешней обработки ПараметрыЗадания.Вставить("ИмяОбработки", "ВнешняяОбработка.ЗагрузкаЗаказовПоставщикамИзФайла"); //имя экспортной серверной процедуры обработки ПараметрыЗадания.Вставить("ИмяМетода", "тест"); //входящие параметры процедуры //ПараметрыЗадания.Вставить("ПараметрыВыполнения", ); //признак внешней обработки ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина); //ссылка на доп. обработку в базе ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка",ДополнительнаяОбработкаСсылка); //получаем пустую структуру параметров выполнения фонового задания и заполняем ее необходимыми данными ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор); ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания; ПараметрыВыполнения.ЗапуститьВФоне = Истина; ПараметрыВыполнения.Вставить("ИдентификаторФормы", УникальныйИдентификатор); //запускаем выполнение фонового задания СтруктураФоновогоЗадания = ДлительныеОперации.ВыполнитьВФоне(ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения); Возврат СтруктураФоновогоЗадания; | |||
| 8
    
        Александра1с 13.12.23✎ 15:19 | 
        вот такой код у меня сейчас, но  выдает ошибку     | |||
| 9
    
        Александра1с 13.12.23✎ 15:59 | 
        ап     | |||
| 10
    
        Волшебник 13.12.23✎ 16:18 | 
        ошибка? бывает...     | |||
| 11
    
        AlexeyKh 13.12.23✎ 16:37 | 
        а зачем вот этот весь код?
 Дополнительную обработку, в настройках можно задать и запустить как регламентное задание! (задать расписание, запускать и завершать вручную) | |||
| 12
    
        Начинающий Восьмерочн 13.12.23✎ 16:41 | 
        (8) В дополнительных обработках фоновые задания не работают, только если перенести выполнение в общий модуль.     | |||
| 13
    
        AlexeyKh 13.12.23✎ 16:50 | 
        ну не знаю, БСП умеет запускать допОбработки как регламентные задания. а работа рег задания это и есть фоновое задание.
 наверно с вами у нас совсем разные версии БСП (проверено было в УТ10 и в УТ11) | |||
| 14
    
        lEvGl гуру 13.12.23✎ 16:55 | 
        если читать тему не по диагонали, то со сложившейся ситуации можно и поржать потихоньку) пока потихоньку..     | |||
| 15
    
        Начинающий Восьмерочн 13.12.23✎ 17:23 | 
        (13) Речь идет про фоновое задание внутри обработки, вы утверждаете что у вас фоновые задания работают внутри доп обработки ? 
 Релиз платформы своей скажите. | |||
| 16
    
        AlexeyKh 13.12.23✎ 17:47 | 
        нет, подразумевал, что сама ВСЯ обработка является регламентным заданием.
 это же легко реализуется, код помещается в модуль обработки .... | |||
| 17
    
        Начинающий Восьмерочн 13.12.23✎ 17:59 | 
        (16) Таки да невнимательно посмотрел, вы правы он само там работает.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |