Имя: Пароль:
1C
1С v8
УНФ. Печатная форма.
0 polkin
 
11.10.15
11:09
Сохранить документ на диск. Есть кнопка (команда), которая сохраняет документ в файл. При этом каждому контрагенту автоматически создавалась папка. И все документы этого контрагента записывались в эту папку.

СоздатьКаталог("F:\1c\"+Выборка.Контрагент);
Лист="F:\1c\"+Выборка.Контрагент+"\2015-"+Выборка.Номер+".xls";
ТабДок.Записать(Лист,"XLS");

В поставляемой конфе каждому файлу нужно выбрать папку записи. Очень не удобно.
Можно как-то подружить ежа и ужа? Т.е. что бы при нажатии кнопки СОХРАНИТЬ из формы Печать документа сразу выбиралась нужная папка?
1 Звездец
 
11.10.15
11:23
Попрограммировать не предлагать?
2 polkin
 
11.10.15
11:36
для начала хотелось бы узнать возможно ли это в принципе из формы печати. Поскольку до этого программировал их формы документа...
3 jurassic
 
11.10.15
11:49
есть принципиальная разница между формой той и формой этой?
4 polkin
 
11.10.15
11:57
(3) Для меня есть... я начинающий.

Из Формы документа или из формы печати я могу вытянуть Контрагента.

А где его взять в форме сохранения файла я не знаю.
Вот выбор папки куда сохранится файл.


    ДиалогВыбораПапки = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
    Если Не ПустаяСтрока(ВыбраннаяПапка) Тогда
        ДиалогВыбораПапки.Каталог = ВыбраннаяПапка;
    КонецЕсли;
    Если ДиалогВыбораПапки.Выбрать() Тогда
        ВыбраннаяПапка = ДиалогВыбораПапки.Каталог;
        ОчиститьСообщения();
    КонецЕсли;

Могу добавить строку
ВыбраннаяПапка = "F:\1c\";
внизу этой процедуры. Тогда что бы не выбрал высветит F:\1c\

Как это установить, что бы при открытии открывалось - еще думаю.

А вот как сделать привязку к контрагенту пока не знаю.
ВыбраннаяПапка = "F:\1c\"+ОбъектыПечати.Контрагент;
5 Звездец
 
11.10.15
11:58
А зачем тебе диалог выбора вообще, если ты путь сохранения формируешь программно
6 Звездец
 
11.10.15
11:59
начинающий со стажем 7 лет и 7 месяцев - это интересно. Может не стоит начинать?
7 jurassic
 
11.10.15
12:01
(4) возьми начальный путь из реквизита формы
(5) я так понял, он хочет подсовывать начальный путь в диалог
8 jurassic
 
11.10.15
12:02
(7) сторно
(3) жми ктрл+ф1
9 polkin
 
11.10.15
12:21
(5)Если нужно выбрать путь.
(7) Да. хочу подсунуть начальный путь в диалог.
При открытии у меня нужный мне путь.
А вот как это правильно сделать и привязать к контрагенту пока не знаю.
10 jurassic
 
11.10.15
12:23
передай своей форме началный путь
11 polkin
 
11.10.15
12:29
(10) Не хочет работать...
Если Не ПустаяСтрока(ВыбраннаяПапка) Тогда
    ДиалогВыбораПапки.Каталог = "F:\1C\";
КонецЕсли;
12 Звездец
 
11.10.15
13:17
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
      

    ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
      

    ДиалогОткрытия.Каталог = "";
      

    ДиалогОткрытия.МножественныйВыбор = Ложь;
      

    ДиалогОткрытия.Заголовок = "Выберите каталог";
      


    Если ДиалогОткрытия.Выбрать() Тогда
      

        ПутьККаталогу = ДиалогОткрытия.Каталог;
      

    КонецЕсли;
13 Звездец
 
11.10.15
13:18
в третьей строке подсунь путь начальный
14 Звездец
 
11.10.15
13:19
только отладчиком проверь правильно ли формируется путь и добавь проверку на существование нужной папки
15 polkin
 
11.10.15
13:47
(12) открывает форму с предыдущей папкой и папку не меняет...

    ВыбраннаяПапка = "F:\1C\";
    ДиалогВыбораПапки = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
    Если Не ПустаяСтрока(ВыбраннаяПапка) Тогда
       ДиалогВыбораПапки.Каталог = ВыбраннаяПапка;
    КонецЕсли;
    Если ДиалогВыбораПапки.Выбрать() Тогда
        ВыбраннаяПапка = ДиалогВыбораПапки.Каталог;
        ОчиститьСообщения();
    КонецЕсли;


так работает более корректно. Только не могу связать с Контрагентом.
16 Звездец
 
11.10.15
14:19
Вообще не могу понять что ты связать не можешь? Не можешь две строки сложить чтоб путь сформировать? Тогда пичаль однако
17 Звездец
 
11.10.15
14:19
Еще раз повторюсь, прочитай внимательно (14)
18 polkin
 
12.10.15
10:32
(16) Не получается пока.
Как на форму сохранения печатной формы передать данные контрагента из самой печатной формы?
19 jurassic
 
12.10.15
10:33
(18) через параметры. только на фига ей контрагент?
20 polkin
 
12.10.15
10:38
(19) Чтобы я мог сохранять файлы в F:\1C\Контрагент
Тогда все файлы одного контрагента находятся в одной папке.
21 jurassic
 
12.10.15
10:39
(20) ей какая-то строка нужна, а не контрагент
22 polkin
 
12.10.15
10:46
ВыбраннаяПапка = "F:\1C\"+Контрагент;

Типа этой
23 jurassic
 
12.10.15
11:11
угу
24 polkin
 
12.10.15
12:12
вот и не знаю как это передать...
25 jurassic
 
12.10.15
12:13
Форма.НачальныйПуть="F:\1C\"+Контрагент;
26 polkin
 
12.10.15
12:20
(25)да не передает так

Контрагент нужно вытянуть из печатной формы.
А как - я не знаю.
27 jurassic
 
12.10.15
12:38
(26) а ты два раза передай
28 polkin
 
12.10.15
12:54
(27) Как?
29 jurassic
 
12.10.15
13:00
Форма.НачальныйПуть="F:\1C\"+Контрагент;
Форма.НачальныйПуть="F:\1C\"+Контрагент;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший