Имя: Пароль:
1C
1С v8
Каким образом записать результат запроса в файл?
0 Boudybuilder
 
21.10.11
12:16
Нужно записать результет запроса без вывода в таб поле на форме , но при этом записать аналогично в файл ексель.
Как это сделать?
1 Vitello
 
21.10.11
12:17
выведи в табличный документ и сохрани в файл
2 ssh2006
 
21.10.11
12:17
Вывести в табличный документ. Сохранить табличный документ
3 Boudybuilder
 
21.10.11
13:21
Приблизательно после


РезультатЗапроса = Запрос.Выполнить();

Что там дальше?
4 PR
 
21.10.11
13:22
Там примерно похожие буковки
5 Boudybuilder
 
21.10.11
13:22
:)
6 Wobland
 
21.10.11
13:29
(3) Выборка=Результат.Выбрать();
ТабДок.Вывести(Область);
табДок.Записать(...);
7 Boudybuilder
 
21.10.11
13:33
(6) Облать тут какая присваивается?
8 Boudybuilder
 
21.10.11
13:34
область
9 John83
 
21.10.11
13:35
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
ЗначениеВФайл(Имяфайла, РезультатЗапроса);
10 Wobland
 
21.10.11
13:36
(7) а как делается вывод в ТабличныйДокумент? Область=Макет.ПолучитьОбласть()
11 John83
 
21.10.11
13:37
хотя если в эксель, не уверен, что сработает
12 Wobland
 
21.10.11
13:37
(9) это как-то не очень эксель ;)
13 Boudybuilder
 
21.10.11
13:37
Пасиб...
спробую...
14 Boudybuilder
 
21.10.11
14:03
(9) Это я не доконца понял...
Как результат в файл сохранить...
15 Boudybuilder
 
21.10.11
14:03
?
16 Wobland
 
21.10.11
14:07
(14) не надо тебе (9), выводи в макет
17 Boudybuilder
 
21.10.11
14:10
(16)
Созал конструктором общий макет ,и теперь сохраняет...
Тоесть таким методом должен обязательно присутствовать макет ?
18 PR
 
21.10.11
14:11
(17) Нет
19 shuhard
 
21.10.11
14:11
(17) без макета легко обойтись
засунь запрос в построитель запроса
выведи в ТД
ТД сохрани в xls
20 Boudybuilder
 
21.10.11
14:14
(19) Как на языке выглядит?
21 shuhard
 
21.10.11
14:18
(20) пятница,
какой нафиг код
22 catena
 
21.10.11
14:21
(17)Ну, можно сразу в ексель писать...
23 Живой Ископаемый
 
21.10.11
14:28
24 Boudybuilder
 
21.10.11
14:29
Пасиб!
25 Boudybuilder
 
21.10.11
14:30
Буду изучать...
26 Рэйв
 
21.10.11
14:33
если попростому и без изысков...

Попытка
   Эксель=Новый COMобъект("Excel.Application");
   Бук=Эксель.WorkBooks.Open(ФайлТаблицы);
   
   Сообщить("Соединение с Excel ( "+ФайлТаблицы+" )открыто...");
Исключение        
   Сообщить(ОписаниеОшибки());
   Возврат;
КонецПопытки;
Эксель.Visible=0;    
Лист=Бук.Sheets(ТекЛист);
тРез=Запрос.Выполнить().Выгрузить();
НомСтр=0;
Для каждого Стр Из тРез Цикл
   НомСтр=НомСтр+1;
   
   Если НомСтр=1 Тогда
       НомКол=0;
       Для каждого кол из тРез Цикл
           НомКол=Номкол+1;
           Лист.Cells(НомСтр,НомКол).Value=Кол.Имя;
       Иначе
           Лист.Cells(НомСтр,НомКол).Value=Стр[Кол.Имя];
       КонецЕсли;    
       
       
   КонецЕсли;    
   
Конеццикла;    
Эксель.DisplayAlerts=0;
Бук.SaveAs(ИмяФайла);
Бук.Close();
27 Рэйв
 
21.10.11
14:37
+
поторопился:-)
вот так правильно


Попытка
   Эксель=Новый COMобъект("Excel.Application");
   Бук=Эксель.WorkBooks.Open(ФайлТаблицы);
   
   Сообщить("Соединение с Excel ( "+ФайлТаблицы+" )открыто...");
Исключение        
   Сообщить(ОписаниеОшибки());
   Возврат;
КонецПопытки;
Эксель.Visible=0;    
Лист=Бук.Sheets(ТекЛист);
тРез=Запрос.Выполнить().Выгрузить();
НомСтр=0;
Для каждого Стр Из тРез Цикл
   НомСтр=НомСтр+1;
   
   Если НомСтр=1 Тогда
       НомКол=0;
       Для каждого кол из тРез Цикл
           НомКол=Номкол+1;
           Лист.Cells(НомСтр,НомКол).Value=Кол.Имя;
       КонецЦикла;
   Иначе
       Для каждого кол из тРез Цикл
           НомКол=Номкол+1;
           Лист.Cells(НомСтр,НомКол).Value=Стр[Кол.Имя];
       КонецЦикла;
   КонецЕсли;    
Конеццикла;    
Эксель.DisplayAlerts=0;
Бук.SaveAs(ИмяФайла);
Бук.Close();