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