|
Диалоговое окно которое предложит выбрать путь сохранения? | ☑ | ||
---|---|---|---|---|
0
Олеся999
24.12.15
✎
08:30
|
В модуле менеджера делаю сохранялку в pdf
ТабДок.Записать("C:\pdff\файл.pdf", ТипФайлаТабличногоДокумента.PDF); Подскажите пожалуйста как место "C:\pdff\файл.pdf" вызвать диалоговое окно которое предложит выбрать путь сохранения? |
|||
1
Рэйв
24.12.15
✎
08:33
|
Процедура ПутьКФайлуНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь; ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогФыбораФайла.Фильтр = "Файл данных (*.txt)|*.txt"; ДиалогФыбораФайла.Заголовок = "Выберите файл для сохранения остатков"; ДиалогФыбораФайла.ПредварительныйПросмотр = Ложь; ДиалогФыбораФайла.Расширение = "txt"; ДиалогФыбораФайла.ИндексФильтра = 0; ДиалогФыбораФайла.ПолноеИмяФайла = Элемент.Значение; Если ДиалогФыбораФайла.Выбрать() Тогда Элемент.Значение = ДиалогФыбораФайла.ПолноеИмяФайла; КонецЕсли; КонецПроцедуры |
|||
2
Рэйв
24.12.15
✎
08:35
|
Это выбрать с именем файла
|
|||
3
Рэйв
24.12.15
✎
08:35
|
Если просто папку:
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); Диалог.Заголовок = ЗаголовокДиалога; Диалог.МножественныйВыбор = Ложь; Диалог.Каталог = ИмяКаталога; Если Диалог.Выбрать() Тогда ИмяКаталога = Диалог.Каталог; Возврат Истина; Иначе Возврат Ложь; КонецЕсли; |
|||
4
Рэйв
24.12.15
✎
08:37
|
А вообще поищи
УниверсальныеМеханизмы.ВыбратьКаталог() |
|||
5
Cyberhawk
24.12.15
✎
08:41
|
Из модуля менеджера нельзя передать управление на клиент, так что по-простому - никак
|
|||
6
Олеся999
24.12.15
✎
08:44
|
(5) Вот и я думаю диалог то должен на клиенте открываться
|
|||
7
Рэйв
24.12.15
✎
08:47
|
(6)Ну скорее всего изначально у тебя же есть какая-то форма откуда ты в модуль менеджера приходишь? Вот там бы и раместить строковый реквизит и в него сделать выбор пути
|
|||
8
Рэйв
24.12.15
✎
08:48
|
и даже если он напрямую на форме будет недоступен можно передавать его параметром
|
|||
9
Олеся999
24.12.15
✎
08:52
|
(7) Вызываю так вот :
&НаКлиенте Процедура ПечатьСер(Команда) ТабДок = Новый ТабличныйДокумент; СерНаСервере(ТабДок); ТабДок.Показать(); КонецПроцедуры &НаСервере Процедура СерНаСервере(ТабДок) Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка); КонецПроцедуры |
|||
10
Рэйв
24.12.15
✎
09:29
|
(9)Сделай вызов перед СерНаСервере(ТабДок), получи путь в переменную и отправь ее параметром
СерНаСервере(ТабДок,Путь); ну и туда тоже Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка,Путь) |
|||
11
Олеся999
24.12.15
✎
09:34
|
(10) А какую процедуру в модуле делать?)
|
|||
12
Рэйв
24.12.15
✎
09:38
|
(11)
наверное как то так:-) ТабДок.Записать(Путь+"\файл.pdf", ТипФайлаТабличногоДокумента.PDF); Это если каталог выбирался или ТабДок.Записать(Путь, ТипФайлаТабличногоДокумента.PDF); если сразу файл |
|||
13
Олеся999
24.12.15
✎
09:40
|
(12) <<?>>СерНаСервере(ТабДок); (Проверка: Тонкий клиент)
пишет ошибку |
|||
14
Рэйв
24.12.15
✎
09:41
|
(13)Какую?
|
|||
15
Олеся999
24.12.15
✎
09:45
|
(14) {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(282,3)}: Недостаточно фактических параметров (СерНаСервере)
<<?>>СерНаСервере(ТабДок); (Проверка: Тонкий клиент) |
|||
16
Рэйв
24.12.15
✎
09:47
|
(15):-)
Переделай правильно высовы и определения функций и включи в них Путь как я показал в (10) Чтобы он был и в вызове и в определении. А иначе так и будет ругаться если не будет совпадать |
|||
17
Рэйв
24.12.15
✎
09:47
|
*вызовы
|
|||
18
Олеся999
24.12.15
✎
09:52
|
Модуль менеджера :
Процедура Сертификат(ТабДок, Ссылка, Путь) Экспорт Это модуль команды тут тоже где то Путь добавить надо ?? &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) //{{_КОНСТРУКТОР_ПЕЧАТИ(Сер) ТабДок = Новый ТабличныйДокумент; Сер(ТабДок, ПараметрКоманды); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}} КонецПроцедуры &НаСервере Процедура Сер(ТабДок, ПараметрКоманды) Справочники.Контрагенты.Сер(ТабДок, ПараметрКоманды); КонецПроцедуры Это модуль команды тут тоже где то Путь добавить надо ? |
|||
19
Олеся999
24.12.15
✎
09:52
|
Модуль менеджера :
Процедура Сер(ТабДок, Ссылка, Путь) Экспорт |
|||
20
Рэйв
24.12.15
✎
09:55
|
(19)Вобщем тебе надо сделать так, чтобы выбранный на клиенте Путь дожил до места где у тебя идет сохранение. Там уж тебе виднее на месте по какой цепочке его передавать
|
|||
21
singlych
24.12.15
✎
10:00
|
И вообще у табдока есть свойство ИспользуемоеИмяФайла
|
|||
22
Олеся999
24.12.15
✎
10:02
|
(20) {Справочник.Контрагенты.Команда.Сер.МодульКоманды(18)}: Недостаточно фактических параметров
Справочники.Контрагенты.Сер(ТабДок,ПараметрКоманды); |
|||
23
Рэйв
24.12.15
✎
10:03
|
(21)Так она и хочет его выбрать:-)
|
|||
24
Рэйв
24.12.15
✎
10:04
|
(22)Справочники.Контрагенты.Сер(ТабДок,ПараметрКоманды,Путь)
Я же говорил И при ВЫЗОВЕ и при определении должно быть одинаково:-) |
|||
25
Олеся999
24.12.15
✎
10:06
|
Так я пробовала так {Справочник.Контрагенты.Команда.Сер.МодульКоманды(18,61)}: Переменная не определена (Путь)
Справочники.Контрагенты.Сер(ТабДок,ПараметрКоманды, <<?>>Путь); (Проверка: Сервер) |
|||
26
Рэйв
24.12.15
✎
10:13
|
(25):-)) блииин
вкратце описание действий 1.передалать определение Процедура СерНаСервере(ТабДок) на Процедура СерНаСервере(ТабДок,Путь) 2. в процедуре Получить на клиенте в переменную путь каталог через код Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); Диалог.Заголовок = ЗаголовокДиалога; Диалог.МножественныйВыбор = Ложь; Диалог.Каталог = ИмяКаталога; Если Диалог.Выбрать() Тогда Путь= Диалог.Каталог; Иначе Возврат; КонецЕсли; 2. передалать вызов СерНаСервере(ТабДок) на СерНаСервере(ТабДок,Путь) 3.передалать определение Процедура Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка) на Процедура Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка,Путь) 4. в процедуре СерНаСервере() переделать вызов Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка) на Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка,Путь) .... и так по всей цепочке до сохранения ... Уже разжевал как мог:-) |
|||
27
Рэйв
24.12.15
✎
10:15
|
Еще раз повторяю.
Параметры вызова процедуры и параметры ее описания Должны быть ОДИНАКОВЫЕ. Когда начинает писать про недостаток или избыток фактических параметров- это значит они у тебя не совпадают и надо исправить |
|||
28
singlych
24.12.15
✎
10:21
|
(23) Так нафига на сервере этот путь заполнять. ТабДок создается на клиенте, там же определяется путь и там же он пишется в ТабДок.ИспользуемоеИмяФайла, или тупо в параметр метода Показать(). Нафига его пробрасывать на сервер. Для методологического развития разве что...
|
|||
29
Рэйв
24.12.15
✎
10:25
|
(28)ну вообще то да.Так было бы проще.Я просто предлагал вариант.Который впринципе тоже совершенно не сложен:-)
|
|||
30
Рэйв
24.12.15
✎
10:25
|
я бы вообще сделал реквизит на форме
|
|||
31
cw014
24.12.15
✎
10:26
|
Олеся, завязывайте... Ну не ваше это дело - программировать. Марш в модели
|
|||
32
singlych
24.12.15
✎
10:27
|
"В модуле менеджера делаю сохранялку в pdf
ТабДок.Записать..." Только вот как сервер будет записывать табдок по клиентскому пути, я бы посмотрел. |
|||
33
Олеся999
24.12.15
✎
11:03
|
Модуль Менеджера :
Процедура Сер(ТабДок, Ссылка, Путь) Экспорт . . . . . ТабДок.Записать(Путь+"\файл.pdf", ТипФайлаТабличногоДокумента.PDF); КонецПроцедуры Модуль Команты: &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) //{{_КОНСТРУКТОР_ПЕЧАТИ(Сер) ТабДок = Новый ТабличныйДокумент; Сер(ТабДок, ПараметрКоманды); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}} КонецПроцедуры &НаСервере Процедура Сер(ТабДок, ПараметрКоманды) Справочники.Контрагенты.Сер(ТабДок,ПараметрКоманды); КонецПроцедуры Форма Элемента: &НаКлиенте Процедура ПечатьСер(Команда) ТабДок = Новый ТабличныйДокумент; СерНаСервере(ТабДок,Путь); ТабДок.Показать(); Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); Диалог.Заголовок = ЗаголовокДиалога; Диалог.МножественныйВыбор = Ложь; Диалог.Каталог = ИмяКаталога; Если Диалог.Выбрать() Тогда Путь= Диалог.Каталог; Иначе Возврат; КонецЕсли; КонецПроцедуры &НаСервере Процедура СерНаСервере(ТабДок,Путь) Справочники.Контрагенты.Сер(ТабДок, Объект.Ссылка, Путь); КонецПроцедуры Вываливает ошибки : {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(282,30)}: Переменная не определена (Путь) СерНаСервере(ТабДок,<<?>>Путь); (Проверка: Тонкий клиент) {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(286,21)}: Переменная не определена (ЗаголовокДиалога) Диалог.Заголовок = <<?>>ЗаголовокДиалога; (Проверка: Тонкий клиент) {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(288,19)}: Переменная не определена (ИмяКаталога) Диалог.Каталог = <<?>>ИмяКаталога; (Проверка: Тонкий клиент) |
|||
34
sash-ml
24.12.15
✎
11:19
|
Процедура ПечатьСер(Команда)
ТабДок = Новый ТабличныйДокумент; Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); Диалог.Заголовок = "укажите путь"; Диалог.МножественныйВыбор = Ложь; Если Диалог.Выбрать() Тогда Путь= Диалог.Каталог; Иначе Возврат; КонецЕсли; СерНаСервере(ТабДок,Путь); КонецПроцедуры |
|||
35
Рэйв
24.12.15
✎
11:21
|
(0)Слушай, не парься ты. Возврати таб на клиент и там выбери путь и сохрани:-)
|
|||
36
Олеся999
24.12.15
✎
11:23
|
(35) А как это сделать ?)))
|
|||
37
Олеся999
24.12.15
✎
11:33
|
(34) {Справочник.Контрагенты.Команда.Сер.МодульКоманды(18)}: Недостаточно фактических параметров
Справочники.Контрагенты.Сер(ТабДок,ПараметрКоманды); |
|||
38
Олеся999
24.12.15
✎
12:02
|
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) //{{_КОНСТРУКТОР_ПЕЧАТИ(Сер) ТабДок = Новый ТабличныйДокумент; Сер(ТабДок, ПараметрКоманды, Путь );// что то строка ей эта не нравится ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}} КонецПроцедуры &НаСервере Процедура Сер(ТабДок, ПараметрКоманды, Путь ) Справочники.Контрагенты.Сер(ТабДок, ПараметрКоманды, Путь); КонецПроцедуры Ошибка : {Справочник.Контрагенты.Команда.Сер.МодульКоманды(6,38)}: Переменная не определена (Путь) Сер(ТабДок, ПараметрКоманды, <<?>>Путь ); (Проверка: Тонкий клиент) |
|||
39
sash-ml
24.12.15
✎
12:11
|
зачем сохранять пустой документ?
|
|||
40
Олеся999
24.12.15
✎
12:45
|
(39) почему пустой?
|
|||
41
sash-ml
24.12.15
✎
12:45
|
(40) а в каком месте он формируется?
|
|||
42
Олеся999
24.12.15
✎
12:47
|
в модуле менеджера
Процедура Сертификат(ТабДок, Ссылка, Путь) Экспорт |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |