Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

УФ и Excel

УФ и Excel
Я
   first_may
 
05.12.17 - 16:11
Добрый день.

При работе в обычных формах с Excel я писал так
ЕстьExcel = Истина;
Попытка
   Excel = Новый COMОбъект("Excel.Application");
Исключение
   ЕстьExcel = Ложь;
КонецПопытки;
        
Если ЕстьExcel = Истина Тогда
и тд.


Начинаю изучать управляемые формы. Как реализовать подобное в управляемых формах?
 
 
   Numerus Mikhail
 
1 - 05.12.17 - 16:12
Так же?
   first_may
 
2 - 05.12.17 - 16:15
(1) скопировал модуль, но вот тут
Excel = Новый COMОбъект("Excel.Application");

значение получается Неопределено и дальше ничего не происходит.
   Петрович 2018
 
3 - 05.12.17 - 16:17
(2) На клиенте или на сервере делаешь?
   first_may
 
4 - 05.12.17 - 16:19
(3) вызывается в модуле обработки, но никаких директив нет перед функцией

Вот так написал

Функция СформироватьТабДок(МассивОбъектов, ФлажокExcel) Экспорт
    Если ФлажокExcel = Истина Тогда
        ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xls");
        ТабДокумент.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS);
        
        ЕстьExcel = Истина;
        Попытка
            Excel = Новый COMОбъект("Excel.Application");
            //Excel= ПолучитьCOMОбъект(СокрЛП(ИмяВременногоФайла));

        Исключение
            ЕстьExcel = Ложь;
        КонецПопытки;
        
        Если ЕстьExcel = Истина Тогда
   first_may
 
5 - 05.12.17 - 16:19
(3) что надо добавить?
   X Leshiy
 
6 - 05.12.17 - 16:22
Попытка
        Эксель = Новый COMОбъект("Excel.Application");
        Эксель.DisplayAlerts         = False;
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
   Numerus Mikhail
 
7 - 05.12.17 - 16:23
(4) в модуле объекта? Возможно на сервере нет экселя?
   Петрович 2018
 
8 - 05.12.17 - 16:23
(5) Ты &НаКлиенте или &НаСервере свой код выполняешь?
   X Leshiy
 
9 - 05.12.17 - 16:24
(8) В модуле обработки, т.е. на сервере.
   first_may
 
10 - 05.12.17 - 16:24
(8) нет, такой директивы не стоит
 
 Рекламное место пустует
   first_may
 
11 - 05.12.17 - 16:24
В модуле обработки
   X Leshiy
 
12 - 05.12.17 - 16:25
(11) Сообщить(ОписаниеОшибки()); Добавь
   Скиурус
 
13 - 05.12.17 - 16:25
Все что находится в модуле объекта выполняется на сервере. На сервере у вас нету установленного Экселя.
   X Leshiy
 
14 - 05.12.17 - 16:26
Если тебе надо сохранить в ыксэль и открыть, сохраняй на клиенте и открывай.
   МимохожийОднако
 
15 - 05.12.17 - 16:26
Перенеси с модуль формы
   first_may
 
16 - 05.12.17 - 16:26
(12) {ВнешняяОбработка.pplПанельУправленияДоставками.МодульОбъекта(102)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
   X Leshiy
 
17 - 05.12.17 - 16:27
(16) Ну, нет на сервере такого зверя.
   X Leshiy
 
18 - 05.12.17 - 16:28
(16) Массив объектов это табличные документы?

Передавай на клиент и резвись :)
   first_may
 
19 - 05.12.17 - 16:29
Ага, я понял ошибку. Пробую. Спасибо.
   first_may
 
20 - 05.12.17 - 16:34
А можно кусочек текста, как правильно делать?
Если есть у кого то :)..
   X Leshiy
 
21 - 05.12.17 - 16:38
&НаСервере
Функция СформироватьТабличныеДокументыНаСервере()
МассивТаблиц  = Новый Массив;

//тут делаем свои кошерные отчетики


Возврат Массив;

КонецФункции


&НаКлиенте
Процедура СформироватьФайлы()
   МассивТаблиц  = СформироватьТабличныеДокументыНаСервере();


//тут перебираем массив и сохраняем в вайлы


КонецПроцедуры

Эта вся пижня в модуле формы обработки или отчета.
   Fish
 
22 - 05.12.17 - 16:39
Писать "Если ЕстьExcel = Истина Тогда" - моветон.
   Бертыш
 
23 - 05.12.17 - 17:03
(22) Не моветон а семёрошнсоть в кодировании то есть Фууу
Исправь на 
Если ЕстьExcel Тогда

Приучайся к хорошему -  к новым типам восьмёрки
   Бертыш
 
24 - 05.12.17 - 17:04
Исправь это к (4)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует