![]() |
|
Выбор каталога и его сохранение | ☑ | ||
---|---|---|---|---|
0
demous
08.02.12
✎
09:00
|
Задача в том, что бы в справочнике контрагенты можно было выбирать папку с файлами в сети, и путь к ней сохранялся, сделал я следующим образом - создал кнопку и к ней процедуру на нажатие
Процедура КаталогДляПолученияФайловНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; РежимДиалога = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалога); ДиалогВыбораКаталога.МножественныйВыбор = Ложь; ДиалогВыбораКаталога.Заголовок = "Выберите путь для сохранения файлов"; Если ДиалогВыбораКаталога.Выбрать() Тогда КаталогДляПолученияФайлов = ДиалогВыбораКаталога.Каталог; КонецЕсли; КонецПроцедуры проблема в том, что он сохраняет путь одинаковый для всех контрагентов, подскажите как исправиться что бы он мог сохранятся разным на все позиции справочника, а то контрагентов порядка 500 |
|||
1
Ненавижу 1С
гуру
08.02.12
✎
09:02
|
(0) как ты это себе представляешь?
|
|||
2
Fish
гуру
08.02.12
✎
09:02
|
(0) ИР? :))
|
|||
3
Wobland
08.02.12
✎
09:03
|
завести путь для каждого ктонрагента
|
|||
4
demous
08.02.12
✎
09:05
|
папки созданы уже для каждого одноименные, но он при выборе в каком-то из контргаентов, тот же самый путь высвечивает и в других контрагентах
|
|||
5
demous
08.02.12
✎
09:05
|
как ты это себе представляешь? - нажимаешь на кнопку, и тебе открывается каталог с файлами для этого контрагента... открываешь другого контрагента, делаешь то же нажатие кнопки, и открывается каталог с файлами для него
|
|||
6
Fish
гуру
08.02.12
✎
09:06
|
Так и задавай значение каталога перед открытием диалога в зависимости от контры.
|
|||
7
demous
08.02.12
✎
09:08
|
Fish - имеешь ввиду прописать в коде ПередОткрытием Если контрагент ХХХ Тогда ЗапуститьПриложение("C:\"); Иначе и т.п. ????
|
|||
8
Fish
гуру
08.02.12
✎
09:08
|
ДиалогВыбораФайла (FileDialog)
Каталог (Directory) Использование: Чтение и запись. Описание: Тип: Строка. Содержит значение текущего каталога. В режиме выбора каталога может использоваться для определения выбранного каталога. Доступность: Тонкий клиент, веб-клиент, толстый клиент. Примечание: В режиме запуска "Веб-клиент" позволяет только получить значение текущего каталога. |
|||
9
Fish
гуру
08.02.12
✎
09:10
|
Перед ДиалогВыбораКаталога.Выбрать() пищешь:
Если контра = Пупкин Тогда ДиалогВыбораКаталога.Каталог = "С:\Пупкин"; .... И т.п. |
|||
10
Fish
гуру
08.02.12
✎
09:12
|
+(9) Только хорошо бы еще проверить, существует ли такой каталог.
|
|||
11
demous
08.02.12
✎
09:12
|
И код на 500 контров не захламит модуль?)
|
|||
12
Fish
гуру
08.02.12
✎
09:12
|
(11) Оптимизируй
|
|||
13
Wobland
08.02.12
✎
09:13
|
ДиалогВыбораКаталога.Каталог="c:\"+Контрагент.Наименование?
|
|||
14
Fish
гуру
08.02.12
✎
09:13
|
Например, храни каталог в реквизите контры - тогда кода будет одна строка :)))
|
|||
15
Fish
гуру
08.02.12
✎
09:14
|
Или (13) :))
|
|||
16
Fish
гуру
08.02.12
✎
09:17
|
(11) А вообще ты прав - программный код это зло, только захламляющее модули. Идеальный модуль не должен содержать никакого кода :)))
|
|||
17
demous
08.02.12
✎
09:18
|
Wobland
ДиалогВыбораКаталога.Каталог="c:\"+Контрагент.Наименование? Можете подсказать правильное написание данного варианта?(( очень благодарен буду |
|||
18
Wobland
08.02.12
✎
09:21
|
предлагаю такое написание данного варианта:
ДиалогВыбораКаталога.Каталог="c:\Контры\Контра_"+Наименование |
|||
19
Fish
гуру
08.02.12
✎
09:24
|
(18) Будет весело, если в наименовании попадется слэш или еще какой спецсимвол например :))))
|
|||
20
Wobland
08.02.12
✎
09:25
|
а, ну да. СтрЗаменить() не забыть ещё
|
|||
21
Rie
08.02.12
✎
09:25
|
(0) Для начала - где это у тебя написано?
|
|||
22
Fish
гуру
08.02.12
✎
09:28
|
Имхо проще завести реквизит, т.к. Наименование теоретически может поменяться. Если реквизит пустой - заполнять его при выборе каталога. Таким образом для каждого контры надо будет всего один раз выбрать соответствующий каталог.
|
|||
23
Rie
08.02.12
✎
09:30
|
(22) О реквизите - уже было: v8: Гиперссылка на каталог ( в форме Справочника )
(0) Кстати, а зачем ты создаёшь новую ветку по той же самой проблеме? |
|||
24
Fish
гуру
08.02.12
✎
09:32
|
(23) М-да. Там вроде последним постом: "Спасибо большое за помощь, все получилось"
Видимо не получилось :)))) |
|||
25
demous
08.02.12
✎
09:36
|
Процедура КаталогДляПолученияФайловНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; РежимДиалога = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогВыбораКаталога = Новый ДиалогВыбораФайла(РежимДиалога); ДиалогВыбораКаталога.Каталог="D:\Договора\"+Наименование; Если ДиалогВыбораКаталога.Выбрать() Тогда КаталогДляПолученияФайлов = ДиалогВыбораКаталога.Каталог; КонецЕсли; КонецПроцедуры Вот работает так как и требовалось))) По старой ветке выяснилась проблема описанная в шапке данной темы |
|||
26
Wobland
08.02.12
✎
09:38
|
(25) что будешь делать, когда диска Д не будет?
|
|||
27
Rie
08.02.12
✎
09:44
|
(25) А в этой ветке какая проблема выясняется?
Так, чтобы лишних постов не плодить: - реквизит в справочнике Контрагенты для хранения папки с договорами создан? - этот реквизит называется КаталогДляПолученияФайлов? - данными поля ввода КаталогДляПолученияФайлов является именно этот реквизит? - этот код, который в (0) и в (25) - находится в модуле формы элемента справочника? Если ответы на все эти вопросы - "Да", то в написанное в (0) насчёт "одного и того же для всех" - не верю. |
|||
28
Fish
гуру
08.02.12
✎
09:47
|
(26) +100 Или какой-нибудь шаловливый админ папочку "Договора" переименует?
|
|||
29
Rie
08.02.12
✎
09:53
|
Кстати, если эти договоры нужны в базе - то почему бы их прямо в ХранилищеЗначения не запихнуть? Пусть в самой базе и хранятся...
|
|||
30
demous
08.02.12
✎
10:36
|
Если ответы на все эти вопросы - "Да", то в написанное в (0) насчёт "одного и того же для всех" - не верю. - это все Да, и написанное в шапке факт...
Fish - админ не переименует, на изменение папки права даны одному человеку, в базу не хочется пихать по той причине, что эти договора будут в отсканнированном виде, получается - 500 контрагентов ( минимальный договор 10 листов, средний 20-25 ) то есть 500 * 15 = 7500 изображений находятся в хранилище, не хочется этого делать... |
|||
31
demous
08.02.12
✎
10:37
|
(26) Сейчас на Д, к вечеру перенесем на сервер...
|
|||
32
Wobland
08.02.12
✎
10:43
|
>админ не переименует,
это не повод писать г-код |
|||
33
Wobland
08.02.12
✎
10:45
|
+(32) в похожей ситуации я использую константу - путь к каталогу выгрузки
|
|||
34
Rie
08.02.12
✎
10:47
|
(30) Ну, значит, один и тот же каталог выбирали для всех. Или же ответ не "Да" хотя бы на один из вопросов. Или же для контрагента заводится не папка, а просто файл, и выбирать, соответственно, надо именно файл. Чудес не бывает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |