Имя: Пароль:
1C
 
ДиалогВыбораФайла.Каталог
0 Nikk100
 
08.02.24
10:52
Подскажите.     
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Каталог = "";
    Диалог.Заголовок = "Выберите файл...";
    Диалог.ПредварительныйПросмотр = Ложь;
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Каталог = ПутьККоталогу;
Если Диалог.Выбрать() Тогда
    ПутьКФайлу = Диалог.ПолноеИмяФайла;
    Иначе
    Возврат;
КонецЕсли;

По идее Диалог.Каталог должен давать путь по которому откроется окно. Но это к сожалению это не так. Открывается все что угодно только не то, что указано в ПутьККоталогу. В отладчике проверял путь указан верно. Или я что-то неправильно понимаю.
1 Волшебник
 
08.02.24
10:54
А что указано в ПутьККоталогу? Должно быть что-то типа: "C:\Грабим\Корованы"
2 Волшебник
 
08.02.24
10:55
Кстати, какой тип клиента? В веб-клиенте это поле игнорируется.
3 DGorgoN
 
08.02.24
10:58
(0) Версия 1с и клиент-сервер или файловая? На моей памяти только в 8-ке аж 3 раза переделывали диалог выбора: обычные формы, тонкие синхронный режим и асинхронный + еще лучше сразу работать с асинхронным и передачей файла на сервер (30 минут назад обработку свою струю переделывал).
4 rphosts
 
08.02.24
11:07
(0) а ещё вариант что такого каталога не существует
5 Nikk100
 
08.02.24
11:16
(1) Все верно. Тип как вы  указали. "C:\Users\Ник\Documents\1c тренировка\База\Формы_документов_заказчика\"
6 Nikk100
 
08.02.24
11:19
Может быть из-за того что в наименовании папки есть пробелы?
7 Nikk100
 
08.02.24
11:19
(3) Файловая.
8 Волшебник
 
08.02.24
11:24
(6) попробуйте добавить больше кавычек, например,
ПутьККоталогу = """C:\Users\Ник\Documents\1c тренировка\База\Формы_документов_заказчика\""";
9 Nikk100
 
08.02.24
11:27
(4) Пробовал подставлять, скопированный путь из проводника, прямо в тексте модуля. Все равно открывает папку в которой находиться КОПИЯ база с которой была РАНЕЕ была сделана копия для отработки конфигурации. Где храниться этот путь неясно. Откуда берется?
10 Nikk100
 
08.02.24
11:42
(8) Попробовал и так: """C:\Users\Ник\Documents\1c тренировка\Баз\Формы_документов_заказчика\"""
и так
""C:\Users\Ник\Documents\1c тренировка\Баз\Формы_документов_заказчика\""
Результат один и тот же.
Не может быть это от того, что база работает в режиме совместимости с версией 8.2.16?
11 Волшебник
 
08.02.24
11:46
(10) Второй вариант Вы не могли попробовать.
12 Fedor-1971
 
08.02.24
11:49
(0) Попробуй указать
    Диалог.ПолноеИмяФайла = "";  // вот сюда впиши каталог

Получай, примерно так:
    Если Диалог.Выбрать() Тогда
        локФайл =  Диалог.ПолноеИмяФайла;
        Объект.ПутьКФайлу = Диалог.Каталог;
    КонецЕсли;
13 DGorgoN
 
08.02.24
11:50
(10) Сделай сначала выбор каталога а потом этот каталог подставь в диалог выбора файла - что получится?
14 Fedor-1971
 
08.02.24
12:00
(13) Не, так не нужно, бо в 1С запомнится путь к каталогу, а потом будет иллюзия заполненности оного

(10) так начни с "C:\Users\Ник\Documents\", потом будешь дальше извращаться
15 Nikk100
 
08.02.24
12:08
(12) Пробовал. Окно открывается по тому же пути, а указанный мной путь прописывается в строке окна там где наименование файла должно быть.
16 Nikk100
 
08.02.24
12:10
(11) Ну почему же. Через Символ(34).
17 DGorgoN
 
08.02.24
12:26
(14) Я и не говорил что это окончательный вариант. Просто уже интересно что там срабатывать не может.
18 DGorgoN
 
08.02.24
12:27
Но мое предположение что это все таки глюк или фича платформы т.к. с похожими симптомами я уже сталкивался.
19 Fedor-1971
 
08.02.24
12:27
Проверил, Диалог.Каталог с заданным значением, открывается корректно
Но, если указать неправильный каталог, то откроется последний путь из 1С
20 Fedor-1971
 
08.02.24
12:30
19+ Платформа 8.3.21.1622

(18) Вполне возможно. Я такое видел на чистом 8.2, в режиме совместимости, вроде как, было нормально
21 Nikk100
 
08.02.24
12:37
Выяснилось что переход происходит по пути который пользователь использовал ранее при выборе файла. Обращение к
Диалог.Каталог не приводит к открытию нужного каталога к сожалению. Частично выше указанное решает проблему. По крайней мере пользователь не будет каждый раз выбирать путь к файлу. Идея заключалась в том чтобы пользователь выбирал файл из каталога с файлами проверенными на "вшивость" и этот файл, переименованный по заложенной нумерации, сохранялся в каталоге на сервере, а так же чтобы у пользователя не было варианта выбрать или перейти в другой каталог для выбора файла. Может я конечно перемудрил, но вот как-то так.
22 Волшебник
 
08.02.24
12:48
(21) Тогда Вам нужно ещё добавить проверку каталога выбранного файла (после выбора), потому что запретить переходы Вы не сможете.
23 Nikk100
 
08.02.24
13:01
(22) Понял. Спасибо за идею. Проблема решилась полностью. Точнее чистейшей воды невнимательность.
C:\Users\Ник\Documents\1c тренировка\База\Формы_документов_заказчика\
C:\Users\Ник\Documents\1c тренировка\Формы_документов_заказчика
Я использовал СтрокаСоединенияИнформационнойБазы() (на случай переноса) для того чтобы оттолкнутся от расположения базы, но каталог База я то и не заметил.
24 DGorgoN
 
08.02.24
13:01
(21) см (19).
Всего скорее путь неправильный. Он может быть правильным с точки зрения даже встроенного проводника но неправильный с точки зрения платформы. Мой способ пробовали? Это ради эксперимента.
25 Nikk100
 
08.02.24
13:02
Спасибо огромное всем за помощь.
26 Nikk100
 
08.02.24
13:04
(24) Да. Так и есть. Спасибо большое.
27 Fedor-1971
 
08.02.24
13:05
(21) Так это меняет всё дело
К полю выбора файла прикручиваем список выбора, и заполняем оный из известного каталога (представление - как угодно, с датой создания и размером, а значение - полный путь к файлу)

Собственно, только и нужно будет организовать зачистку обработанных файлов
28 Волшебник
 
08.02.24
13:53
(23) Расходимся, пацаны...