|
Как сделать окно выбора файла? | ☑ | ||
|---|---|---|---|---|
|
0
Андрей_Н
04.02.08
✎
17:13
|
Сохраняю данные документа в Эксель. Как в форме документа сделать окошко, в котором можно было бы выбрать куда сохранять данные?
|
|||
|
1
DGorgoN
04.02.08
✎
17:18
|
ФС.ВыбратьФайл();
|
|||
|
2
Попытка1С
04.02.08
✎
17:28
|
Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, ФлагПродолжения)
Перем Каталог,Фильтр; Если ЭлементДиалога = "ИмяФайла" Тогда Если ФС.ВыбратьФайл(0, ИмяФайла, Каталог, "Файл выгрузки", "Файлы Excel (*.xls)|*.xls", "xls") = 1 Тогда ИмяФайла = Каталог+ИмяФайла; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
|
3
у лю 427
04.02.08
✎
17:29
|
за такой пример процедуры в (2) можно бить морду.....
|
|||
|
4
Попытка1С
04.02.08
✎
17:31
|
(3) да ты что? и за что это?
|
|||
|
5
Попытка1С
04.02.08
✎
17:47
|
(3) Куда-то наш умник пропал...
|
|||
|
6
Gepard
04.02.08
✎
17:49
|
(4) +1
|
|||
|
7
Gepard
04.02.08
✎
17:51
|
(6) + наверное он это Перем Каталог,Фильтр; имел ввиду... т.е. вместо фильтр - ИмяФайла
|
|||
|
8
у лю 427
04.02.08
✎
18:32
|
перед вызовом ФС.ВыбратьФайл
нужно восстановить стартовые каталоги для просомтра, после выбора - сохранить полученный каталог - он будет стартовым при следующем выборе (даже в след сеансе) таким образом, - начало просомтра там, где закончили предыдущий - если файлы лежат в одном каталоге - юзер сразу ныряет туда без брожения по диску... |
|||
|
9
Gepard
04.02.08
✎
20:00
|
(8) логично, но не смертельно... это уже на совести программиста :))
|
|||
|
10
у лю 427
04.02.08
✎
20:59
|
зато потом юзеры не орут, что файло смиздили.....
|
|||
|
11
Попытка1С
04.02.08
✎
21:04
|
(8) Вообще то эти диалоги винда сама умеет сохранять, и последнее в сеансе тоже.
|
|||
|
12
Попытка1С
04.02.08
✎
21:06
|
+ 11 И ты считаешь что за это реально нужно морду бить.... извини но это уже понты.
|
|||
|
13
Яндекс
05.02.08
✎
05:00
|
(11)Паришь?
Есть еще понятие - "юзабилти". |
|||
|
14
Если
05.02.08
✎
05:36
|
роцедура ВыбратьКат()
Если ФС.ВыбратьКаталог(Кат, "Выберите каталог") = 1 Тогда Кат=Кат+"\"; СохранитьЗначение("КаталогДебиторки", Кат) КонецЕсли; КонецПроцедуры // ВыбратьФайл(ИФ,типфайлов="xls",аут=60) //****************************************************************************** Кат=ВосстановитьЗначение("КаталогДебиторки"); Если ПустоеЗначение(Кат)=1 Тогда Кат = "E:\Dz\"; КонецЕсли; //****************************************************************************** ДЛя успокоения. |
|||
|
15
big
05.02.08
✎
06:58
|
(14) Разочек пну тебя, Михаил :)
Если ФС.ВыбратьКаталог(Кат, "Выберите каталог",60) <> 1 Тогда Возврат; КонецЕсли; Кат=Кат+"\"; СохранитьЗначение("КаталогДебиторки", Кат) |
|||
|
16
Если
05.02.08
✎
07:00
|
Зачем?
Если ПустоеЗначение(Кат)=1 Тогда Кат = "E:\Dz\"; КонецЕсли; Если нет надобности в другом каталоге, то назначим по умолчанию. |
|||
|
17
big
05.02.08
✎
07:11
|
Всё дело в этом
Если ФС.ВыбратьКаталог(Кат, "Выберите каталог",60) <> 1 Тогда Возврат; КонецЕсли; |
|||
|
18
Если
05.02.08
✎
07:22
|
те же яйца, только сбоку.
|
|||
|
19
Яндекс
05.02.08
✎
07:22
|
Я тоже не понял в чем разница
|
|||
|
20
Если
05.02.08
✎
07:27
|
(19) Счас на У лю нарвемся - он объяснит, кто мы и в чем разница.
|
|||
|
21
big
05.02.08
✎
07:31
|
(18,19) ИМХО при больших участках кода будет более удобочитаемым и быстрее работает (ИМХО опять же)
|
|||
|
22
Яндекс
05.02.08
✎
07:34
|
(21)Ну тогда надо было вообще СохранитьЗначение выносить в процедуру при закрытии формы.
|
|||
|
23
у лю 427
05.02.08
✎
07:37
|
(22) в общем то да, если работа с формой преполагает открытие нескольких файлов.
а восстанавливать в ПриОткрытии |
|||
|
24
Если
05.02.08
✎
07:39
|
(23) Я показал код выгрузки в один файл. Ну а если несколько, то согласен.
|
|||
|
25
у лю 427
05.02.08
✎
07:45
|
хотя с точки зрения читабельности кода как раз лучше все (восстановить, сохранить) собрать в одной проце....
|
|||
|
26
Яндекс
05.02.08
✎
07:54
|
с точки зрения читабельности кода, этот код лучшее
чем
|
|||
|
27
Яндекс
05.02.08
✎
07:54
|
с точки зрения читабельности кода, этот код лучшее
если датамесяц(рабочаядата()) = 1 тогда сообщить("январь"); иначеесли датамесяц(рабочаядата()) = 1 тогда сообщить("февраль"); ... ... иначеесли датамесяц(рабочаядата()) = 1 тогда сообщить("декабрь"); конецесли; чем
|
|||
|
28
Если
05.02.08
✎
07:56
|
с цифрами месяцев попутал.
|
|||
|
29
у лю 427
05.02.08
✎
07:56
|
с точки зрения читабельности рулит функция
ПолучитьМесяцПрописью (Дата) а как она реализована - это неинтересно |
|||
|
30
у лю 427
05.02.08
✎
07:57
|
внутри функции м.б. и 27.1 и 27.2
|
|||
|
31
Яндекс
05.02.08
✎
08:04
|
(28)Тут важно что поняли о чем речь?
(29)Не много не согласен. Ибо как работает функция тоже приходиться парсить. |
|||
|
32
Если
05.02.08
✎
08:05
|
(31) да я так, ни о чем.:)))
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |