Цитата: Злоп от 06 июля 2026, 04:04И - это самое - повырывать ноги прмяо до гланд тем, кто дает типа Предупреждение("АлеЧтоТо") - без таймаута, ругаюсь, плююсь и атата! и всегда походя сразу вкорячиваю таймаут если есть возможность. Ибо нефиг. Особенно в модуле проведения (в прошлом году не далее как пару раз натыкался на такое в самописке).Орефков, кажется, рассказывал что контролы окон типа Предупреждения, Вопрос разработчик нарисовал сам, вместо того чтобы взять системные, еще удивлялся, зачем разработчик движка потратил время впустую? Поэтому таймаут там срабатывает.
НачВремя=_GetPerformanceCounter();
ПутьК="";
ТаймАут=5;
Ответ=ФС.ВыбратьКаталог(ПутьК, "Выберите каталог для сохранения файлов выгрузок", ТаймАут);
КонВремя=_GetPerformanceCounter();
Если Ответ=0 Тогда
Если (КонВремя-НачВремя+1)/1000 > ТаймАут Тогда
Сообщить("Закончился таймаут ("+СокрЛП(ТаймАут)+" сек.)");
Иначе
Сообщить("Отмена выбора");
КонецЕсли;
Иначе
ПутьККат=ПутьК;
Сообщить(""+ПутьК);
КонецЕсли;
КонецЕсли;
ФСВинды = СоздатьОбъект("Shell.Application");
НачПапка=ФСВинды.NameSpace(КаталогИБ());
Попытка
ВыбКат = ФСВинды.BrowseForFolder(0,"Выберите каталог для сохранения файлов выгрузок",1+16,0); // НачПапка
Исключение
КонецПопытки;
Если ПустоеЗначение(ВыбКат)=0 Тогда
Попытка
ПутьККат=""+ВыбКат.Items().Item().Path;
Сообщить(""+ВыбКат.Items().Item().Type+": "+ВыбКат.Items().Item().Path);
Исключение
ПутьККат="";
Сообщить(""+ВыбКат.title);
КонецПопытки;
Иначе
Сообщить("Отмена выбора");
КонецЕсли;
Цитата: cr от 05 июля 2026, 10:17Выбор альтернативы - взять файл/отказаться от файла.Цитата: Злоп от 04 июля 2026, 19:38Проверил ВыбратьКаталог() у себя на Вин10Хоум.Ии? Что не так?
По таймауту кнопки пропадают.
А что по-твоему должно произойти после окончания таймаута?
Какая вообще цель указания таймаута для выбора?
Цитата: cr от 05 июля 2026, 10:17Какая вообще цель указания таймаута для выбора?Ну, ИМХО - как и везде, окно выбора должно просто закрыться, если юзверь открыл выбор и задумался на долго...
Цитата: Злоп от 04 июля 2026, 19:38Проверил ВыбратьКаталог() у себя на Вин10Хоум.Ии? Что не так?
По таймауту кнопки пропадают.
ФСО = СоздатьОбъект("ФС");
ФСО.ВыбратьКаталог();
