Имя: Пароль:
1C
1С v8
microsoft office и 1C
0 espanol
 
31.10.12
09:22
Доброе утро всем!

Вопрос такой. Почему данный код открывает не только заполненный шаблон экселя, но сам шаблон?
Аналогичный код для ворда, открывает только заполненный шаблон.

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   
   Путь     = ПолучитьПутьШаблонов() + "\" + "Счет_безнал_оплата.xls";
   Excel    = Новый COMОбъект("Excel.Application");
   Книга    = Excel.WorkBooks.Add(Путь);
   Лист     = Книга.WorkSheets(1);
   ВремФайл = ПолучитьИмяВременногоФайла("xls");
   
   СтруктураПараметров        = ПолучитьДополнительныеПараметры(ПараметрКоманды);
   СтруктураПараметровОбъекта = СтруктураПараметровОбъекта(ПараметрКоманды);
   
   //строка, колонка
   Лист.Range("A12:F12").Value = "СЧЕТ № " + СокрЛП(СтруктураПараметровОбъекта.Номер) + " от " + Формат(СтруктураПараметровОбъекта.ДатаСчета, "ДЛФ=DD");
   Лист.Range("B14").Value     = СокрЛП(СтруктураПараметровОбъекта.Контрагент);
   Лист.Range("B15").Value     = СокрЛП(СтруктураПараметровОбъекта.Заказчик);
   Лист.Cells(18,2).Value      = "Оплата за автомобиль " + СокрЛП(СтруктураПараметровОбъекта.Модель) + " VIN " + СтруктураПараметровОбъекта.VIN;
   Лист.Cells(18,5).Value      = СтруктураПараметровОбъекта.ЦенаАвтомобиля;
   Лист.Cells(18,6).Value      = СтруктураПараметровОбъекта.ЦенаАвтомобиля;
   Лист.Cells(19,6).Value      = СтруктураПараметровОбъекта.ЦенаАвтомобиля;
   Лист.Cells(20,6).Value      = СтруктураПараметровОбъекта.СуммаНДСНаАвтомобиль;
   Лист.Cells(21,6).Value      = СтруктураПараметровОбъекта.СуммаВсегоНаАвтомобиль;
   Лист.Range("A23:F23").Value = "Всего наименований 1, на сумму " + СтруктураПараметровОбъекта.СуммаВсегоНаАвтомобиль;
   Лист.Range("A24:F24").Value = ЧислоПрописью(СтруктураПараметровОбъекта.СуммаВсегоНаАвтомобиль, "Л = ru_RU; НД = Истина", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2") + ", включая НДС 18%.";
   Лист.Range("A27").Value     = "Менеджер отдела продаж__________________ " + СокрЛП(СтруктураПараметровОбъекта.Менеджер);
   
   Книга.SaveAs(ВремФайл, -4143);//FileFormatNum
   Excel.WorkBooks.Close();
   Excel.Quit();
   Excel = Неопределено;
   Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВремФайл));
   УдалитьФайлы(ВремФайл);
   
   ВремФайл = ПолучитьИмяВременногоФайла("xls");
   Данные   = ПолучитьИзВременногоХранилища(Адрес);
   Данные.Записать(ВремФайл);
   УстановитьРасширениеРаботыСФайлами();
   ПодключитьРасширениеРаботыСФайлами();
   ЗапуститьПриложение(ВремФайл);
   
КонецПроцедуры
1 sanja26
 
31.10.12
09:25
запустить приложение убрать?
2 espanol
 
31.10.12
10:38
(1) тогда ничего не запустится
3 espanol
 
31.10.12
10:53
и вообще бывает такое что нажимаешь на запуск, эксель может открыться только с 10 раза, может с 3 раза и т.п.
4 espanol
 
31.10.12
11:16
а вот так запускается на ура!

   Excel = Новый COMОбъект("Excel.Application");
   Excel.Workbooks.Open(ВремФайл);
   Excel.Visible = Истина;
5 sanja26
 
31.10.12
16:37
(4) я ж говорил)
6 Dmitriy_
Kolesnikov
 
15.11.12
13:35
(4) так откроется не файл, сохраненный на диске, а просто новый документ из ОЗУ. к файлу на диске он не будет иметь отношения.