Имя: Пароль:
1C
1С v8
Выгрузка в Excel
,
0 Frostik
 
19.04.13
08:17
Доброго всем времени суток, столкнулся с такой проблемой, задача состоит в выгрузке значений в excel с использованием макета который в дальнейшем рисует график по этим значениям, в итоге после сохранения документ экселя пустой
Процедура СохранитьВФайл()
   
   Книга = ПолучитьМакет("Шаблон").Получить();
   

   Лист = Книга.WorkSheets(1);
   
   
   НомСтроки = 8;
   Для Каждого Строка Из График Цикл
       Лист.Cells(НомСтроки, 3).Value = Строка.Время;
       Лист.Cells(НомСтроки, 4).Value = Строка.Температура;
       
       НомСтроки = НомСтроки + 1;
   КонецЦикла;
   
   Для н = НомСтроки По 17 Цикл
       Лист.Cells(н, 3).Value = Строка.Время;
       Лист.Cells(н, 4).Value = Строка.Температура;
   КонецЦикла;
   
   Лист.Visible = 1;
   Книга.SaveAs("E:\..."+Формат(ТекущаяДата(), "ДФ=yyyy_MM_dd_ЧЧ_мм")+".xls", -4143);
   
   Книга.Close()
   
КонецПроцедуры
1 Wobland
 
19.04.13
08:19
это ты хвастаешься?
2 Frostik
 
19.04.13
08:20
(1) А то!) чем еще в пятницо заниматься?...)
3 Славен
 
19.04.13
08:23
Для Каждого Строка Из График Цикл
       Лист.Cells(НомСтроки, 3).Value = Строка.Время;
       Лист.Cells(НомСтроки, 4).Value = Строка.Температура;
       
       НомСтроки = НомСтроки + 1;
   КонецЦикла;
   
   Для н = НомСтроки По 17 Цикл
       Лист.Cells(н, 3).Value = Строка.Время;
       Лист.Cells(н, 4).Value = Строка.Температура;
   КонецЦикла;
два цикла, что второй делает?
4 Славен
 
19.04.13
08:25
ну и "Строка" хорошо бы заменить на что нибудь другое
5 ЧеловекДуши
 
19.04.13
08:31
(0) А разве 1С 8.ххх не умеет сохранять печатные формы в формате ЕХеЛь?
6 Frostik
 
19.04.13
08:32
(5) у меня не печатная форма, в эксель поступают данные  с окна формы
7 Frostik
 
19.04.13
08:32
(3)  Да фиг знает :DD еще  не придумал :D
8 Wobland
 
19.04.13
08:32
(6) а не хочешь заюзать "печатную форму"?
9 ЧеловекДуши
 
19.04.13
08:32
(6) А какая разница в Печатной форме и Екселе?

Сперва все выводишь в Макет, а после записываешь макет в Ексельный формат :)
10 Frostik
 
19.04.13
08:34
Да желательно было чтобы по кнопке файл сразу в екселе в папке появлялся, без создания печатной формы
11 ЧеловекДуши
 
19.04.13
08:37
(10) Дак не показывай печатную форму, и тут же её пиши :)
12 dk
 
19.04.13
08:38
(0) 1. Данные в окне Excel видишь перед сохранением?
2. Книга.SaveAs("E:\1.xls") Так сохраняет?
13 dk
 
19.04.13
08:39
2. Книга.SaveAs("C:\1.xls") Так сохраняет?
14 Frostik
 
19.04.13
08:39
(12) да, сохраняет с нужным расширением
15 dk
 
19.04.13
08:45
значит с форматом даты намудрил
погляди что там
"E:\..."+Формат(ТекущаяДата(), "ДФ=yyyy_MM_dd_ЧЧ_мм")+".xls"
возвращает
16 Frostik
 
19.04.13
08:52
(15) Тут норм , выкидывает Файл с именем текущей даты сохранения, приписывает расширение .xls, файл то норм появляется, только пустой(Значений нет), попробовал не использовать макет
Попытка
       Эксель = Новый COMОбъект("Excel.Application");
   
   Исключение
       Сообщить(ОписаниеОшибки());
       Возврат;
   КонецПопытки;
   
   Книга = Эксель.WorkBooks.Add();
   
   Лист = Книга.Sheets.add();
   
   НомСтроки = 8;
   Для Каждого Строка Из График Цикл
       Лист.Cells(НомСтроки, 3).Value = Строка.Время;
       Лист.Cells(НомСтроки, 4).Value = Строка.Температура;
       
       НомСтроки = НомСтроки + 1;
   КонецЦикла;
   
   Для н = НомСтроки По 17 Цикл
       Лист.Cells(н, 3).Value = Строка.Время;
       Лист.Cells(н, 4).Value = Строка.Температура;
   КонецЦикла;
   
   Попытка
       Книга.SaveAs("E:\1\"+Формат(ТекущаяДата(), "ДФ=yyyy_MM_dd_ЧЧ_мм")+".xls", -4143);
   Исключение
       Сообщить(ОписаниеОшибки()+" Файл не сохранен, пошел лесом");
       Возврат;
   КонецПопытки;
   Эксель.Application.Quit();
Значения выползли, хз в чем трабл(
17 dk
 
19.04.13
08:52
1. Данные в окне Excel видишь перед сохранением?
18 dk
 
19.04.13
08:53
отбой
барабашкам привет
19 Frostik
 
19.04.13
09:23
(17) нет, док создается, потом открываю
20 Frostik
 
19.04.13
09:25
а в 1 с есть возможность диаграмму в эксель передать?
21 Frostik
 
19.04.13
11:24
Ребят никаких больше идей?