Обработчик ПослеЗавершенияЗагрузкиФайла перестал вызываться из ТурбоКонф.ЗагрузитьФайл()

tormozit Закрыто Высокий

Воспроизведение.
Обновить скрипт ИР адаптера на приложенный.
Удалить папку TurboConf\user_scripts\ИР.
Запустить конфигуратор базы, в которой отсутствует расширение ИР.
Запустить подключение приложения ИР.
При этом запустится скачивание файла https://devtool1c.ucoz.ru/load/0-0-0-6-20
По факту файл скачался. Но обработчик ПослеЗавершенияЗагрузкиФайла не выполнился.
Уведмоление Турбоконфа при этом отображает черные прямоугольники бесконечно долго.

ТурбоКонф.ЗагрузитьФайл("https://devtool1c.ucoz.ru/load/0-0-0-6-20", Файл.ПолноеИмя, ЭтотОбъект, "ПослеЗавершенияЗагрузкиФайла", Файл.ПолноеИмя);  
Процедура ПослеЗавершенияЗагрузкиФайла(ИмяФайла)
Сообщить(1);
КонецПроцедуры

Ссылка скрыта

RDT.os

Обновлено
Причина - выполнение в фоновом методе. Турбоконф не поддерживает обратный вызов в таком режиме.

Комментарии

bolsun
#1, 21 марта 2026 09:06

Проверь скачивание с какого-то другого ресурса.


tormozit
#2, 21 марта 2026 09:10

(1) bolsun, файл скачивается и записывается корректно. Поэтому не думаю что проблема с сайтом


tormozit
#3, 21 марта 2026 09:12

Снова случилась беда https://turboconf.ru/Tasks/10889 , которая мешает проверке скачивания через другую ссылку.


tormozit
#4, ред. 21 марта 2026 09:26

(2) tormozit, Проверил со ссылкой https://turboconf.ru/Download/File?path=1165DFE919CB05373C26DFFD93BA26DF9DD382C5/bde1a88b4332443688533624da2b6fb0&fileName=RDT.os
Проблема повторилась. Скачалась полная html страница авторизации.


bolsun
#5, 21 марта 2026 09:44

(4) tormozit, в теме заявки ты пишешь, что файл скачивается, но не запускается обработчик.
В (4) ты пишешь что проблема повторилась, но добавляешь что скачалась полная страница авторазации. Так проблема все таки с чем? С обработчиком или с содержимым файла?
Механизм скачивания не менялся, с момента его появления в API.


bolsun
#6, ред. 21 марта 2026 09:46

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


tormozit
#7, ред. 21 марта 2026 10:01

(5) bolsun, Проблема заключается в (0). Полностью повторять текст (0) в (4) я не стал и написал кратко, что проблема повторилась. Уточняю результат теста (4) - http ресурс (файл HTML) скачался полностью, затем зависание окна уведомления и не вызывается обработчик ПослеЗавершенияЗагрузкиФайла.


tormozit
#8, 21 марта 2026 10:02

(6) bolsun, укажи конкретный файл для теста.


bolsun
#9, 21 марта 2026 10:37

Исправил ошибку, которая возникала в случае если сервер не отдавал filename в Content-Disposition. В следствии этого не запускался обработчик ПослеЗавершенияЗагрузкиФайла
Добавил обработку этой ситуации.

6.6.9576.22567
https://disk.yandex.ru/d/XRPUNWQtrbwBUw


tormozit
#10, 21 марта 2026 10:42

(9) bolsun, Проверил. Проблема сохранилась.
Ссылка скрыта


bolsun
#11, 21 марта 2026 10:44

(10) tormozit, скинь скрипт для воспроизведения. У меня все работает.


tormozit
#12, ред. 21 марта 2026 10:48

Оффтопик. Рекомендую обновить год в окне "О программе"


tormozit
#13, ред. 21 марта 2026 10:47

(11) bolsun, скрипт приложен к сообщению (0). На нем же и проверял сейчас. Ты проверял тест из (0)?


bolsun
#14, 21 марта 2026 10:57

(13) каких-то зависающих уведомлений не наблюдаю. Открывается окно клиента, с предложением обновить ИР.

При обновлении.

Ошибка при вызове метода контекста (Получить)
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(25443)}:			СтрокаОтвета = Соединение.Получить(Запрос);
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.Форма.ОПодсистеме.Форма(274)}:	Возврат ирОбщий.СкачатьФайлАктуальнойВерсииПодсистемыЛкс(СсылкаНаСтраницуСкачивания, НазваниеВарианта, ирОбщий.ПоследнийФрагментЛкс(АктуальнаяВерсия, " "));
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.Форма.ОПодсистеме.Форма(235)}:		ДвоичныеДанные = СкачатьАктуальнуюВерсию();
по причине:
Ошибка работы с Интернет:  URL using bad/illegal format or missing URL


tormozit
#15, ред. 21 марта 2026 11:00

(14) bolsun, если у тебя не запускается скачивание файла скриптом, то не выполнен один из пунктов теста

  • Удалить папку TurboConf\user_scripts\ИР.
  • Запустить конфигуратор базы, в которой отсутствует расширение ИР.


bolsun
#16, 21 марта 2026 11:04

(15) tormozit, также ничего не происходит, попроще можешь прислать тест?


tormozit
#17, 21 марта 2026 11:10

(16) bolsun, Сделал чистый тест. В нем зависание не возникает. Отличие теста (0) в том, что там скачивание запускается из фонового потока (подключение приложения ИР уже давно выполняется в фоновом методе).


bolsun
#18, 21 марта 2026 11:16

(17) tormozit, пришли выгрузку базы для воспроизведения.


tormozit
#19, 21 марта 2026 11:18

База пустая
1Cv8.dt


tormozit
#20, ред. 21 марта 2026 11:20

(17) tormozit, Есть ли в Турбоконфе метод для синхронной загрузки файла?


bolsun
#21, 21 марта 2026 11:20

(20) tormozit, нет, разве в OneScript нет методов для загрузки файла?


tormozit
#22, 21 марта 2026 11:22

(21) bolsun, Понял. Попробую через методы ОСкрипта.


tormozit
#23, ред. 21 марта 2026 11:30

Как думаешь, есть ли смысл попробовать в качестве эксперимента убрать в Турбоконфе вывод уведомления с прогрессом загрузки файла?


tormozit
#24, ред. 21 марта 2026 11:51

Переделал на синхронное скачивание файла средствами ОСкрипт. Теперь зависания нет. Но пользователю не показывается индикатор скачивания файла. С учетом редкости операции и небольшого размера файла (17МБ) думаю приемлемо пренебречь отсутствие индикатора.


tormozit
#25, 21 марта 2026 11:53

tormozit изменил статус на Закрыто


tormozit
#26, ред. 21 марта 2026 11:58

Возможно (0) заработало бы, если бы я в фоновый метод передал ссылку на основной (интерфейсный) объект ОСкрипт и при вызове в фоновом методе ТурбоКонф.ЗагрузитьФайл() передал не ЭтотОбъект, указывающий на фоновый объект ОСкрипт, а основной (интерфейсный) объект ОСкрипт.


bolsun
#27, 21 марта 2026 12:15

(26) tormozit, там помимо этого еще куча проблем с синхронизацией фонового потока с потоком GUI, при отображении и обновлении состояния индикатора.


tormozit
#28, 21 марта 2026 12:17

(27) bolsun, Понял. Тогда нет смысла продолжать поиск альтернатив.


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера