Имя: Пароль:
1C
1С v8
Открытие EXCEL в веб-клиенте
0 hamec
 
26.08.11
19:13
Доброго времени суток. Есть вот такая проблема.
Стоит задачи загрузки данных из внешнего EXCEL файла. Старая конфа работала на 8.1, сейчас решил переписать её на 8.2 в управляемом режиме.
Дано:
Сервер 1С:Предприятие 8.2.14 (ОС Win 2008 R2, Office 2010 x86, IIS 7)
Клиентская машина Win7 x 64, Firefox 5
В результате при попытке открыть EXCEL файл через веб-клиент (в платформе отрабатываются процедуры разрешения работы с файлами) получается зависание. В логах на сервере пишется следующее
Microsoft Excel
Приложению Microsoft Excel не удается получить доступ к файлу "C:\Users\1c\AppData\Local\Temp\v8_5B49_9.xlsx". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Файл проверялся и открывался в интерактивном режиме, другие программы его не трогают, пользователь из под которого запускается EXCEL имеет права локального админа.
Кто-нибудь сталкивался, подскажите пожалуйста в каком направлении копать?
1 vmv
 
26.08.11
19:14
внешние источники юзай, не напрягайся по пустякам
2 EvgeniuXP
 
26.08.11
19:59
(1) группировка глючит и отображение просто на списке без группировко тоже глючит :)
3 hamec
 
26.08.11
20:13
Группировка в файле?
Там их нет, простой EXCEL набор строк и ячеек.
А можно поподробнее про внешние источники?
4 EvgeniuXP
 
26.08.11
20:16
(3) группировка во внешних источника, но если в СКД и отчеты - то там может и нормально...

В 8.2.14 смотри Внешние источники, добавь опиши поля, строку соединения и в списке смотри результат
5 hamec
 
26.08.11
20:33
Так видимо я совсем ламер. Группирповок нету вообще нигде, ни в коде ни в файле. Загрузка данных идет через обработку, передача файла на сервер выполняется следующим образом.

//Теперь передадим файл со списком на сервер
   АдресХранилища = ПоместитьВоВременноеХранилище(СоздатьДвоичныеДанныеИзExcel(Объект.ФайлДанныхEXCEL));
   
   ЗагрузкаДанныхEXCELСервер(АдресХранилища);
   
   ОбновитьИнтерфейс();
КонецПроцедуры

&НаСервереБезконтекста
Функция СоздатьДвоичныеДанныеИзExcel(Объект)
   Возврат Новый ДвоичныеДанные(Объект);
КонецФункции

//Процедура загружает данные из Excel, формирует таблицу и передает её на форму
//
&НаСервере
Процедура ЗагрузкаДанныхEXCELСервер(АдресХранилища)
   
   ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");
   //ИмяВременногоФайла = "C:\1C_Deb\1.xlsx";
   
   Сообщить(ИмяВременногоФайла);

   ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища);
   ДвоичныеДанные.Записать(ИмяВременногоФайла);
       
   Попытка
   
       //Файл = ПолучитьCOMОбъект(Объект.ФайлДанныхEXCEL);
       Файл = ПолучитьCOMОбъект(ИмяВременногоФайла);
   
   Исключение
       Сообщение = Новый СообщениеПользователю;
       Сообщение.Текст = "Не удалось открыть EXCEL файл";
       Сообщение.Сообщить();
       
       Возврат;
   КонецПопытки;

На сервере в процессах висит запущенный EXCEL, но ничего не происходит... Запись лога винды я привел в 1-ом посте, посмотрю, что такое внешние источники
6 AlexNew
 
26.08.11
20:36
Мне кажется здесь xlsx
7 hamec
 
26.08.11
20:39
Эм ну да, а с этим проблемы?
8 AlexNew
 
26.08.11
20:41
(7) Есть у меня подозрение, что там клиент не тот стоит. Он интерактивно предлагает тебе что-то?
9 hamec
 
26.08.11
20:42
интерактивно где, на веб-клиенте нет, да и на сервер нет
10 AlexNew
 
26.08.11
20:45
(9) Тогда вопрос хде?
11 hamec
 
26.08.11
23:24
Файл передается на сервер, где должен быть прочитан и прочитанные данные записаться в 1С. Вот на сервере-то он и не открывается. Причем если делать на локальной машине через тонкий клиент, все зашибись
12 hamec
 
02.09.11
19:45
Господа ну неужели ни у кого нет идей. Попробовал через внешние данные, нефига эта зараза при создании и выборе Excel драйвера говорит что не поддерживается строка подклчюения. Я уже и офис на сервере переставил, какие есть ещё варианты?