Имя: Пароль:
1C
1С v8
"Excel.WorkBooks.Open(Файл)" в файловом и SQL варианте.
0 siggoron
 
20.10.11
19:15
Люди, вот такая ситуация:
Существует в конфигурации (8.2.13 +управляемое приложение) обработка которая подключается в exсel файлу и читает его. Модуль подключения таков:


   Excel = Новый COMОбъект("Excel.Application");
   Excel.WorkBooks.Open(Файл);


При работе в файловом варианте подключение проходит без единой ошибки и всё читается как надо, а фот в SQL варианте выдаёт ошибку следующего вида:


{Обработка.ПереброскаНакладныхИзТиСИДНК.Форма.Форма(5)}: Ошибка при вызове метода контекста (Open)
   Excel.WorkBooks.Open(Файл);
по причине:
Произошла исключительная ситуация (Microsoft Excel): 'C:\asd.xlsx' could not be found. Check the spelling of the file name, and verify that the file location is correct.

If you are trying to open the file from your list of most recently used files, make sure that the file has not been renamed, moved, or deleted.


Вопрос: В чём может быть проблема и как её решить.
p/s SQL 2000
1 izekia
 
20.10.11
19:20
а скл локально запущен?
2 izekia
 
20.10.11
19:20
в смысле сервер 1С предприятия, блин
3 siggoron
 
20.10.11
19:21
(1,2) что?
4 siggoron
 
20.10.11
19:22
(2) да запущен, а же в базу захожу
5 izekia
 
20.10.11
19:23
(4) повторю вопрос: на каком компьютере запущен сервер 1С предприятия
6 izekia
 
20.10.11
19:23
(5) уточню, на том же на котором и файл лежит?
7 siggoron
 
20.10.11
19:23
(5) на лакальном
8 siggoron
 
20.10.11
19:24
(6) да
9 izekia
 
20.10.11
19:26
(8) то есть это абсолютно точно и ты в этом уверен?
10 siggoron
 
20.10.11
19:27
(9) на все 100%
11 siggoron
 
20.10.11
19:27
(9) с админам проверяем вместе под root правами
12 izekia
 
20.10.11
19:28
а причем здесь рут права ... под каким пользователем сервер запущен?
13 siggoron
 
20.10.11
19:29
(12) все работает и запущено по админам и только
14 izekia
 
20.10.11
19:32
(14) а выполни на сервере что-то вроде
т = Новый ТекстовыйДокумент;
т.Записать("C:\test.txt");
15 siggoron
 
20.10.11
19:37
(14) фай создался
16 izekia
 
20.10.11
19:40
а вот это?
КопироватьФайл(Файл, "test.xlsx");
17 siggoron
 
20.10.11
19:44
(16) копирует
18 izekia
 
20.10.11
19:50
а попробуй сделать воркбук и записать его
и еще, разрядность сервера 1С какая?
19 siggoron
 
20.10.11
19:53
(18) 32 бита
20 izekia
 
20.10.11
19:59
интересно самому попробовать, правда пока не дома ...
пишут о подобных проблемах
слушай, а ты попробовал новый воркбук записать?
21 МихаилМ
 
20.10.11
20:50
как вариант стоит офис 2003

который не понимает xlsx
22 izekia
 
20.10.11
20:51
(21) тогда бы и файловый не проходил
интересно, а система тоже 32 бита?
23 aleks-id
 
20.10.11
21:43
24 smaharbA
 
20.10.11
21:57
выполняется на сервере ?
25 izekia
 
20.10.11
21:58
(24) если это вопрос к автору, то да
26 izekia
 
20.10.11
21:58
(24) знаешь в чем проблема?)
27 smaharbA
 
20.10.11
21:59
у сервера нет прав
28 izekia
 
20.10.11
22:00
на что?
29 siggoron
 
21.10.11
09:21
(21) офис 2010
30 siggoron
 
21.10.11
09:22
так есть ли выход?
31 siggoron
 
21.10.11
09:22
только в файловый вариант переводить? (ведь на нем всё работает)
32 izekia
 
21.10.11
10:03
(31) а попробуй (18) чтобы до конца определиться
и если создатся - попробуй именно его открыть?
33 siggoron
 
21.10.11
10:19
(32)
помоги плиз


   Excel = Новый COMОбъект("Excel.Application");
   Excel.WorkBooks.Add();
   Excel.WorkBooks(1).Active();
   Excel.ActiveWorkBooks.SaveAs("c:\1.xlsx");

Выдает ошибку: Метод объекта не обнаружен (Active).

Как правильно написать для проверки?
34 smaharbA
 
21.10.11
10:21
(33) код фуфельный хоть для сервера, хоть для клиента
35 aleks-id
 
21.10.11
10:23
(33) я тебе рабочий код дал в (23)
проверено и работает и на клиенте и на сервере.
36 izekia
 
21.10.11
10:24
add возвращает созданный воркбук, его и пиши
37 izekia
 
21.10.11
10:25
(35) работает, если данные в нормальном виде, в виде таблички точнее
38 siggoron
 
21.10.11
10:27
(36) а можно код?
39 siggoron
 
21.10.11
10:30
(34) а не фуфельный каков?
40 izekia
 
21.10.11
10:40
Excel = Новый COMОбъект("Excel.Application");
wb = Excel.WorkBooks.Add();
Excel.DisplayAlerts = False;
wb.SaveAs("c:\1.xlsx");
41 siggoron
 
21.10.11
10:46
(40) вот что выдала платформа:

{Обработка.ПереброскаНакладныхИзТиСИДНК.Форма.Форма(31)}: Ошибка при вызове метода контекста (SaveAs)
   wb.SaveAs("c:\1.xlsx");
по причине:
Произошла исключительная ситуация (Microsoft Excel): SaveAs method of Workbook class failed
42 izekia
 
21.10.11
10:53
(41) интересно, похоже действительно проблема с правами
а куда-нибудь в папку пользователя попробуй записать?
43 siggoron
 
21.10.11
10:57
(42) не выходит(
44 izekia
 
21.10.11
10:57
(41) а попробуй в saveas вторым параметром поставить 56 или 50