#0
by Avalone2010
Здравствуйте! Подскажите что может быть, ситуация следующая. Есть сервер, на нем крутится 1С. Есть база в которую идет загрузка из 1С(КС вариант). Так вот при передачи фала EXCEL с клиента на сервер происходит сохранение данного файла в определенной папке(в контексте сервера), потом так же в контексте сервера происходит попытка открытия этого файла - но вылетает ошибка : ------------------------------------------------- {Документ.КонкурсПоУслугам.Форма.ФормаЗагрузкиИзEXCEL.Форма}: Ошибка при вызове метода контекста (Open) по причине: Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "G:1C_TempШахматка_08_11_2012_02_06_32.xlsx". Это может быть вызвано одной из следующих причин. • Указан несуществующий файл или путь. • Файл используется другой программой. • Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент. ------------------------------------------------- Код который все это делает ниже: ------------------------------------------------- ------------------------------------------------- Перед открытием файлика, в режиме отладки, проверял - он существует(ФС.Существует). Другой программой он не используется так как создается. у пользователя под которым выполняется код на стороне сервера разрешение на чтение/запись файла есть. Что может быть, куда копать?
#2
by Avalone2010
выложил не весь код.Вот весь: если бы.Ставил точку останова на Книга = Эксель.WorkBooks.Open(ИмяФайла); находил этот файлик по ИмяФайла, открывал его, закрывал и продолжал откладку.Все равно куй.
#3
by GLazNik
Почему-то напрашивается конструкция типа Файлик.Закрыть после записи:) Файлик что за тип? Может стоит после записи обнулить эту переменную
#4
by mikecool
кстате - а нафик передавать через хранилище файл, если достаточно безконтекстный вызов сервера с передачей имени файла?
#8
by Avalone2010
может я чего то не понял, но файл находится на стороне клиента - это один пользователь, сервер крутится на другом компе - это другой пользователь. Т.е. файл при вызове сервера находится вообще на другом компе, в нешаренной папке. Если я что то непонимаю - попраавте. Файл - xlsx(EXCEL).Закрыть не получится, потому что Файлик = ПолучитьИзВременногоХранилища(АдресВовременномХранилище); Передает двоичные данные. Файлик - это двоичные данные.Название просто у него такое :) Если бы я мог под админскими правами проверить, организация большая - я в дочке. Пока прав допросишся пол года пройдет. Но на файл, после того как он создался но еще не прочитался(точка останова на Книга = Эксель.WorkBooks.Open(ИмяФайла)) я давал полные права всем. в имени файла - имя фала. По РДП цепляюсь на сервер, ввожу в строку обозревателя то что там находится - открывается мой файл.
#9
by Avalone2010
Кстати, еще одна закономерность. Выгрузил базу. Развернул на сервере в файловом варианте - все работает.
#10
by GLazNik
я в том плане, что после записи, система считает что этот файл открыт одинэсиной. Попробуй просто прописать Файлик = "" после записи.
#11
by FreeHunter
т.е. в ИмяФайла название твоего файла и путь, теперь проверь есть ли у тебя права на его чтение
#12
by GLazNik
тогда не . А если файлик на сервер вручную бросить и попробовать открыть через 1С на сервере? открывает?
#13
by Avalone2010
у меня права есть на него.Я его открываю. У пользователя под которым выполняются серверные процедуры я не знаю есть права или нет. Но с одной стороны он этот файл записывает, значит наверное и читать может. Кроме того перед тем как файл будет прочитан я на него даю полные права(Мой файл-сфойства-безопасность-Группы и пользователи + все(чтение/запись))
#15
by Ахиллес
G:1C_Temp Это локальный путь на сервере или подключённый сетевой диск на клиенте? Мож перепутал вызовы и на клиенте файл экселя пытаешься открыть?
#17
by Avalone2010
не сработало. Давайте код выложу.Может где накосячил. А то право неловко - такая ерунда а уже часа 3 мозг себе ипу этим. , кстати сейчас что бы избежать этой ошибки запуская 1С предприятие по РДП на сервере. Т.е. и клиент и сервер один и тот же комп, путаници с дисками быть не должно. Кроме того файл проверя в режиме отладки на стороне сервера - он существет(ФС = новый Файл(ИмяИмяФайла); ФС.Существует)
#18
by Ахиллес
Перепутал вызовы, открываешь эксель на клиенте. Не хватает каких то прав на сервере. Версия экселя не подходит. Наоткрывал кучу КОМ объеков, они все в памяти сидят и не могут решить чей это файл :-) С открытием экселя часто такая фигня. При какой то ошибке 1С эксель остаётся висеть в памяти. Открой диспечер задач на серваке и погляди.
#21
by Ахиллес
Ну, как, я и говорил. В исключении не обнуляется Эксель. Этих экселей у тебя на сервере уже с пол сотни открыо. И все жаждут файла Шахматка.xlsx
#22
by Avalone2010
:/, млять. они под другим пользователем висят. У меня прав нет что бы смотреть процессы других пользователей
#24
by Avalone2010
не понял. Вызов экселя идет в контексте сервера, т.е. от имени пользователя под которым стартанула служба агента серверов. А это не я, это другой пользователь. Под ним возможно и висят зомби эксели. Ша буду админов теребить
#25
by Ахиллес
+21 Я обычно дополнительно закрываю эксель при закрытии формы. Чтоб уж наверняка его прибить. И то эта ска каким то образом иногда умудряется выживать.
#27
by Avalone2010
Что вы к Файлику прикопались. Это двоичные данные, это не эксел. админы говорят что процессов по экселю нет ни под кем. человеки. Мож я скину кому cf с одним этим документом, кто нить глянте в КС варианте у себя, а?
#28
by ЧеловекДуши
Ну все... если у вас голубчик стоит серверная версия 8-ки, то то-что выполняется на сервере, выполняется под серверным пользователем "Локальным относительно сервера". А вообще, телепат устал, так что...
#29
by ЧеловекДуши
Он рабочий... а вот у вас смутное представление о работе сервера 1С. А у нас нехватка данных , для того что бы вас послать в правильном пути :)
#36
by Avalone2010
На сервере с помошью ПодКемСеанс = WshNetwork.UserName; Проверил под кем работа. Работа идет под доменным администратором
#38
by Avalone2010
может и пистят. Но объясните мне тогда, почему все отрабатывает если я на сервере(под рдп) работаю с фаловой копией этой базы? Все таки какая то куйня получается с доменным админом под которым работает сервер 1с? Или я, как сказал 29, смутно представляю работу сервера 1с?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- При приеме данных с удаленной машины загрузка идет очень долго
- Загрузка данных из ЗиК в 1С Предприятие
- Excel и 1С - вопрос про Excel?
- Загрузка из Excel. Help me!!!
- Долгая загрузка при "Загрузка структуры данных программы..."
- Загрузка структуры данных программы / загрузка прикладной системы
- Можно ли отредактировать файл Excel из 1С без установленного Excel?
- 8.3.7 частичная загрузка из файлов /LoadConfigFromFiles
- Выгрузка в Excel по шаблону Active Document различия Excel 2010 Excel 2016
- Выгрузка в Excel по шаблону Active Document различия Excel 2010 Excel 2016 ч2
- Загрузка данных в excel Имя не может совпадать со встроенным именем
В этой группе 1С
- Не могу удалить базу с сервера 1С
- Розница 8 и Счетчики подсчета посетителей. Пробовал кто?!?
- получить последние записи непериодического регистра 8.1
- Вывести в запросе реквизит табличной части
- Почему не считает себестоимость из спецификации? (БП 2.0 8.2)
- ЗУП 3.0 - когда выйдет ?
- v7: Двухсторонняя печать при печати сразу на принтер.
- остаток товара на складе 1С 8.1 УТ 10.2 (почему не показывает?)
- Проверка в запросе вхождения строки в массив строк
- УТ 11. Обслуживание Областей Данных и др регламентные задания.
- Ут 10.3 Скрыть закупочную цену
- В УТ11 "Внешние обработки заполнения табличных частей" есть?
- Уровень группировки и СКД
- Почему Авансовый отчет рисует перерасход?
- 1C 8 зарплата Дни неоплачиваемые согласно табелю
- Как программно перемещаться по панели навигации? (Хак повторного вызова команды)
- Не включается регламентное задание в фоне Клиент-сервер.
- Почему на разных компьютерах документ печатается по разному?
- Упорядочивание по Датам и Регистратору
- Что означает значок (желтый кружок) в разделе Банк?