![]() |
![]() |
![]() |
|
8.2 - как работать с Екселем в тонком клиенте? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
01.07.10
✎
12:17
|
Как схема должна строится
где COM объект создаваться должен? на клиенте или на сервере? |
|||
1
RomaH
naïve
01.07.10
✎
12:21
|
Глобальный контекст (Global context)
ПолучитьCOMОбъект (GetCOMObject) Синтаксис: ПолучитьCOMОбъект(<ИмяФайла>, <ИмяКлассаCOM>) Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. т.е. можно работать как на клиенте (на клиентской машине) так и на сервере (на машине где работает сервер? - я правильно понимаю) т.е. либо загружаем обработкой файла клиента, либо передаем файл на сервер (через временное хранилище?) там его пишем на диск во временный файл - и работаем так? |
|||
2
RomaH
naïve
01.07.10
✎
13:42
|
ВыбранныйФайл = Новый Файл(Объект.ИмяФайла);
ВыбранныйФайл.Расширение; АдресФайла = ""; ПоместитьФайл(АдресФайла,Объект.ИмяФайла,,Ложь,); ЗагрузитьФайлНаСервере(АдресФайла,ВыбранныйФайл.Расширение); &НаСервереБезКонтекста Процедура ЗагрузитьФайлНаСервере(АдресФайла, РасширениеФайла) ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла);//ВыбранныйФайл = ПолучитьФайл(АдресФайла); //Двоичные данные //Надо их теперь сохранить во временный каталог, и далее работать как раньше ПутьКФайлу = ПолучитьИмяВременногоФайла(РасширениеФайла); ДвоичныеДанные.Записать(ПутьКФайлу); Попытка Док = ПолучитьCOMОбъект(ПутьКФайлу);//,"Excel.Application"); и на последней строке завис что не так? сейчас клиент и сервер на одной машине права какие нужны пользователю под которым сервер работает что бы файл открыть? |
|||
3
RomaH
naïve
01.07.10
✎
13:47
|
при этом процесс под пользователем USR82 висит
|
|||
4
RomaH
naïve
01.07.10
✎
13:53
|
зашел под пользователем usr82 - запустил ексель -
спросили меня имя/фамилию записал - закрыл, вышел код опять подвис на ПолучитьСОМОбъект() |
|||
5
RomaH
naïve
01.07.10
✎
13:56
|
файл созданный во временном каталоге - интерактивно открывается
что не так? |
|||
6
RomaH
naïve
01.07.10
✎
14:03
|
Ексель = Новый COMОбъект("Excel.Application");
ком объект - нормально создает |
|||
7
RomaH
naïve
01.07.10
✎
14:10
|
Док = Ексель.Application.Workbooks.Open(ПутьКФайлу);
он же: Ексель.Application.Workbooks.Open("C:\Users\USR1CV82.DKB\AppData\Local\Temp\v8_DA72_285.xlsx") {(1)}: Ошибка при вызове метода контекста (Open) почему? интерактивно этот файл открывается под этим юзером |
|||
8
RomaH
naïve
01.07.10
✎
14:19
|
да, ОС - Win server 2008
|
|||
9
lxs
01.07.10
✎
14:20
|
1С научилась работать с седьмым офисом?
|
|||
10
RomaH
naïve
01.07.10
✎
14:20
|
(9) - на клиенте все работает
пытаюсь вот теперь все это на сервер перенести |
|||
11
RomaH
naïve
01.07.10
✎
15:32
|
up
|
|||
12
zladenuw
01.07.10
✎
16:24
|
то все работает ?
|
|||
13
RomaH
naïve
02.07.10
✎
11:12
|
(12) что "то"?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |