|
|||
Beduin
07.05.15 — 18:58 |
ЗаписьXML = Новый ЗаписьXML;
{Обработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(64)}: Ошибка при вызове метода контекста (ОткрытьФайл) Режим тонкий клиент. Бухгалтерия КОРП 3.0 В чем причина? |
||
Beduin
1 — 07.05.15 — 19:00 |
При чем, если просто открыть файл как текстовый, то все хорошо. |
||
mehfk
2 — 07.05.15 — 19:03 |
Нет доступа на запись. Пнуть сисадмина. |
||
Beduin
3 — 07.05.15 — 19:05 |
(2) Средствами 1С создал файл и записал его в это папку. |
||
Beduin
4 — 07.05.15 — 19:13 |
Это может из-за того что аккаунт от службы сервера не входит в группу администраторов? |
||
mehfk
5 — 07.05.15 — 19:17 |
Какое из 4-х слов в первом предложении не понятно? |
||
Beduin 6 — 07.05.15 — 20:00 |
(5) Угу . дело было в этом. Спасибо. |
|
|||
roman2
20.08.18 — 16:45 |
Запускаем типовой обмен между ЗУП и ЕРП. В настройка COM-соединение. Получаем сообщение: Ошибка при загрузке данных: {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2035)} : Ошибка при вызове метода контекста (ОткрытьФайл): Ошибка доступа к файлу ‘C:Userss-app-1AppDataLocalTempv8_8C20_626.xml’ Такое впечатление, что файла уже нет, когда управление возвращается в ЗУП. У кого есть решение? |
||
roman2
1 — 20.08.18 — 17:02 |
Запускаем типовой обмен между ЗУП и ЕРП. В настройках способ обмена — COM-соединение. В момент обмена получаем сообщение. {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2035)} : Ошибка при вызове метода контекста (ОткрытьФайл): Ошибка доступа к файлу ‘C:Userss-app-1AppDataLocalTempv8_8C20_626.xml’ Такое впечатление, что файла уже нет, когда управление возвращается в ЗУП. У кого есть решение? |
||
sechs
2 — 20.08.18 — 17:26 |
А что вы запускаете с какими настройками и какое сообщение в какой момент получаете? |
||
sechs
3 — 20.08.18 — 17:26 |
А что вы запускаете с какими настройками и какое сообщение в какой момент получаете ? |
||
Franchiser
4 — 20.08.18 — 17:29 |
режим работы на клиенте или на сервере есть переключатель? |
||
roman2
5 — 21.08.18 — 09:47 |
(4) все происходит на сервере |
||
hhhh
6 — 21.08.18 — 10:15 |
(5) ну значит и правда нет доступа к папке C:Userss-app-1AppData |
||
roman2
7 — 21.08.18 — 11:19 |
(6) такого не может быть. Служба сервера запущена под s-app-1. Еще интересно, а COM-соединение под каким пользователем устанавливается? В логах пользователь ОС… Может это ключ к решению? |
||
youalex
8 — 21.08.18 — 11:43 |
(7) ну создай файл любой где можно, посмотри какой у него будет владелец. по идее. |
||
roman2 9 — 22.08.18 — 13:39 |
решение не получено… задача решилась так. Запустил обмен в отладке из конфигуратора ЗУП под другим Админом. Обмен прошел. После чего обмен начал выполняться и под другим пользователем. Может кто сможет докопаться до решения? |
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
В этой статье мы расскажем об ошибке доступа к файлу 1с. Как решить возникшую проблему, что это за баг и еще немного об этом.
Ошибка доступа к файлу 1C 8.3
«1С: Предприятие» — система программ для автоматизации, улучшения и упрощения деятельности различных сфер компании, начиная от бухгалтерии и заканчивая учетом. 1С: возможности при правильной настройке безграничны . Для предпринимателя — нужно найти хороших программистов.
Нет ни одной программы в современном мире, как бы хороша она не была без ошибок и проблем. Такое случается и с нашим приложением. В ряде случаев виноват в этом криворукий программист. Многие проблемы вы не сможете решить без его участия, но некоторые, вам подсилу и самому.
Причины возникновения
Случается, что люди, которые используют данную прогу сталкиваются с проблемой при запуске программы.
Способы решения
По наименованию явившегося бага поймем что происходит с системой — нет прав для доступа к файлу. Такое случается если юзер создает копию базы и подключает ее. Также ошибка бывает в результате попытки открыть файл по сетевому доступу.
Первостепенное что мы делаем в таком случае — проверяем доступ к файлу. Правая кнопка мыши по файлу -> проверяем стоит ли галочка на «Общий доступ».
Взгляните на права пользователя под которым вы зашли в систему виндоус. У вас должны быть права и на чтение файлов и на запись.
Когда данные к которым нужно получить доступ (база) находится на удаленном (локальном) персональном компьютере — смотрим закладку «Безопасность». В безопасности вы должны убедиться что у пользователя нет запрета на запись.
Предупреждения о проблемах вылазят когда возмущается брандмауэр. Это касается сетевых объектов. Антивирусные программы препятствуют нормальной работе.
Открываем брандмауэр и антивирус и ищем в списке блокируемых программ 1С. Удаляем из списка.
Почистите кеш, ошибки также возникают из-за кеша.
Большой шанс появления ошибки, когда два синонимичных приложения запускаются вместе. К примеру, ЗУП и Бухгалтерия. Если запустить по очереди, проблема исчезнет
Дополнительный способ
Ничего не помогло — воспользуйтесь следующими методами:
Путь к имени файла должен быть допустимым в каталоге отчетов: щелкните вкладку «Вывод». Перейдите на вкладку «Параметры вывода». В поле Имя файла убедитесь, что путь действителен.
Сколько дискового пространства доступно для файла: Откройте Windows Explorer. Выберите Локальный диск (буква диска:), на котором хранится отчет. Щелкните правой кнопкой мыши на локальном диске (буква диска:) и нажмите Свойства. Откроется окно свойств. Проверьте доступное свободное пространство на этом локальном диске.
Убедитесь, что у пользователя есть разрешения на доступ к папке IO_Data: Откройте проводник Windows. Щелкните правой кнопкой мыши основную папку выберите «Свойства».
Перейдите на вкладку «Безопасность». Убедитесь, что у пользователя есть полные права на эту папку и все подпапки. Если вы не можете проверить права доступа, обратитесь к администратору.
Ошибка работы 1С 8 с Excel: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Найденные решения:
Полная формулировка ошибки:
{Доработки Документ.УстановкаЦенНоменклатуры.Форма.Доп_ФормаИмпортXLS.Форма(83)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1C_ArhivТест загрузка прайсов[имя_файла].xlsx’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение.WorkBooks.Open(ФормаИмпортXLS.ИмяФайла);. Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru «Ошибка открытия файла Excel на сервере» обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: «v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel»
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
23-09-2020
Журавлев А.С.
(Сайт azhur-c.ru)
Выгружаю конфигурацию для конвертации обраб. MD83Exp выдает ошибку {ВнешняяОбработка.ВыгрузкаМетаданных.МодульОбъекта}: Ошибка при вызове метода контекста (ОткрытьФайл) мЗаписьXML.ОткрытьФайл(ИмяФайлаВыгрузки, «UTF-8»); по причине: Ошибка доступа к файлу ‘ Кто знает подскажите как исправить {ВнешняяОбработка.ВыгрузкаМетаданных.МодульОбъекта}: Ошибка при вызове метода контекста (ОткрытьФайл) мЗаписьXML.ОткрытьФайл(ИмяФайлаВыгрузки, «UTF-8»); по причине: Ошибка доступа к файлу ‘
1. Проверить доступ к каталогу выгрузки. 2. Проверить способ выгрузки (сервер / клиент). Выгружать нужно на клиенте.
выгрузка на клиенте и права на компе админские запускается 1С в режиме «толстый клиент упраляемое приложение»
+ MD82Exp все выгружал(работал в режиме обычного приложения) но потом конвертор 1с не хотел загружать, а MD83Exp сразу дает проблему — он только запускается в режиме сервера
пока писал тебе ответ решил, что вопрос доступа на комп с сервера интересен
+ но запустил с админскими правами на сервере и там записывал все то-же как и было с той-же ошибкой
Подскажите с проблемой кто знает
Подскажите если кто выгружал конфигурацию как он это сделал
если толстый клиент, то надо MD82Exp
Она выгружает (я писал) но не дает загрузить в конвертор
+ здесь возникает в принципе тот-же вопрос с ошибкой доступа и отсутствия каталога
+ Надо тогда найти старую версию конвертора 2…., а не 3….
Чем короче отвечаешь, тем длиннее ветка. Опиши все условия сразу и подробно.
ИмяФайлаВыгрузки — пустая
имя файла UPP полное имя «С:1UPP.XML»
1С запускается в режиме «Клиента управляемое приложение» В обработке метки все сняты больше нечего не требуется указываешь место и название файла и запускается и получаю сообщение об ошибке
+ конфигурация УПП 1.3 (1.3.95.1) платформа 8.3 (8.3.9.1850)
+ конвертор 8.3 (8.3.9.1850)
Откатился на конфигурацию конвертора 2.1.8.2 и все грузится
ну точно дали пользователю user1cv8 на эту папку на сервере С:1UPP.XML ??
Конвертация данных, а не конвертор
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Открытие файла пдф на сервере |
Я |
Eskeych
03.10.22 — 13:34
Хочу сделать открытие пдф документа и подпись ецп в http запросе. для этого мне нужно выполнить код
ЗаписьПДФ = Новый ЗаписьPDF();
ЗаписьПдф.Открыть(АдресКФайлуНаПК)
ну и дальше выполняется код
тут вылезла ошибка: «ошибка вызова метода контекста открыть()»
в синтакс-помощнике доступность стоит веб-сервис, сервис, тонкий клиент
Eskeych
1 — 03.10.22 — 13:38
ЗаписьPDF (PDFWriter)
Открыть (Open)
Вариант синтаксиса: Открыть файл
Синтаксис:
Открыть(<ИмяФайла>)
Параметры:
<ИмяФайла> (необязательный)
Тип: Строка.
Имя файла для записи PDF-документа.
Вариант синтаксиса: Установить поток
Синтаксис:
Открыть(<Поток>)
Параметры:
<Поток> (необязательный)
Тип: Поток, ПотокВПамяти, ФайловыйПоток.
Поток для записи PDF-файла.
Описание:
Открывает PDF-документ для записи.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
См. также:
ЗаписьPDF, метод ОткрытьАсинх
ЗаписьPDF, метод НачатьОткрытие
Использование в версии:
Доступен, начиная с версии 8.3.16.
Описание изменено в версии 8.3.18.
Воть
Мультук
2 — 03.10.22 — 13:39
(0)
1) Сервер и клиент физически разные компьютеры?
2) АдресКФайлуНаПК = «c:123.pdf»; //Лежит на локальном компьютере
или
АдресКФайлуНаПК = «servermydoc123.pdf»; //Лежит в сети, доступен учетке от которой крутится 1с на сервере
Garykom
3 — 03.10.22 — 13:44
(0) Вот ты и столкнулся что PDF не подходящий для подписи…
Eskeych
4 — 03.10.22 — 13:46
(3) яы его интерактивно выбирал и подписывал. Но в http запросе не хочет открывать.
Eskeych
5 — 03.10.22 — 13:47
(2) на локальном компе лежит. я имер ввиду на сервере &НаСервере вот это)
Garykom
6 — 03.10.22 — 13:48
(4) Под http запросом подразумеваешь http-сервис?
А он от чьего имени работает?
Eskeych
7 — 03.10.22 — 13:49
(2) на апаче развернул сервер, и на этом же пк хочу подписать. 2) АдресКФайлуНаПК = «c:123.pdf»; //Лежит на локальном компьютере вот этот вариант
Eskeych
8 — 03.10.22 — 13:50
(6) да, http-сервис. Вызываю с браузера) В каком смысле от чьего имени вызываю?)
Garykom
9 — 03.10.22 — 13:50
(7) А апач на попытку получить этот «c:123.pdf» что скажет?
Garykom
10 — 03.10.22 — 13:51
(9)+ Точнее апач дергает 1С от какого юзера, с какими правами и видимостью/доступом?
Eskeych
11 — 03.10.22 — 13:53
(9) это намек на то что бы прописать сетевой пусть к файлику?
(10) это демка БП с полными правами
Eskeych
12 — 03.10.22 — 13:53
файловая, дальше все будет в грм
Eskeych
13 — 03.10.22 — 13:57
Кстати, я думал передать файлик во временное хранилище и оттуда его запульнуть в записьPDF.Открыть(адресВремХран), по сути тогда 1с уже будет видеть этот файл. Взлетит или нет?)
Kassern
14 — 03.10.22 — 13:58
(13) Это проверить меньше минуты, дольше наверное пост сюда написать)
Eskeych
15 — 03.10.22 — 14:03
(14) не, ругается)
Eskeych
16 — 03.10.22 — 14:25
ап)
Сергиус
17 — 03.10.22 — 15:08
(15)Какой путь в АдресКФайлуНаПК?
Eskeych
18 — 03.10.22 — 15:29
(17) на раб столе C:UsersNewDesktopcovd.pdf
Eskeych
19 — 03.10.22 — 15:32
может быть у апача нет доступа к файлу? и нужно его как-нибудь дать?)
Kassern
20 — 03.10.22 — 15:37
(19) пробовали создать общую папку доступную всем?
Kassern
21 — 03.10.22 — 15:38
И покажите как вы через хранилище пробовали, скиньте кусок кода, как вы передавали с директивами и получали ДД.
mikecool
22 — 03.10.22 — 15:40
(15) значит тебе нельзя ((
Ногаминебить
23 — 03.10.22 — 15:42
(15) записьPDF.Открыть(адресВремХран)
Так сюда не адрес нужен, а имя файла вроде как. Надо файл временный на сервере создать, его заполнить и потом к имени обращаться.
Kassern
24 — 03.10.22 — 15:43
(23) я потому и просил, чтобы он кусок кода скинул. Может он из тех, кто на переменных экономит))
Eskeych
25 — 03.10.22 — 15:43
(21) та его уже затер, много попыток. Хочу попробовать вот так сделать:
ИмяВременногоФайла = КаталогВременныхФайлов() + «.pdf»;
ДвоичныйФайл = СтрокаНабора.Файл.Получить();
ДвоичныйФайл.Записать(ИмяВременногоФайла);
Eskeych
26 — 03.10.22 — 15:43
это на инфостарте нашел
Eskeych
27 — 03.10.22 — 15:44
(23) пробовал прописывать файл C:UsersNewDesktopcovd.pdf вот так прям не видит и все. Пишет что {ФормированиеТестовыхДанных HTTPСервис.Customers.Модуль(84)}: Ошибка при вызове метода контекста (Открыть)
Kassern
28 — 03.10.22 — 15:48
В общем код должен быть примерно таким
&НаКлиенте
Процедура ПрочитатьФайлНаКлиенте()
Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = «Выберите файл PDF»;
Диалог.ПолноеИмяФайла = «»;
Диалог.ПредварительныйПросмотр = Истина;
//Диалог.Фильтр=»» — тут свой формат pdf можете прописать
ВыбранФайл=Диалог.Выбрать();
Если ВыбранФайл Тогда
Файл=Новый Файл(Диалог.ПолноеИмяФайла);
ДД=Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла);
Адрес=ПоместитьВоВременноеХранилище(ДД,УникальныйИдентификатор);
ЗагрузитьФайлНаСервере(Адрес);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьФайлНаСервере(Адрес)
ДД=ПолучитьИзВременногоХранилища(Адрес);
Поток=ДД.ОткрытьПотокДляЧтения();
ЗаписьПДФ = Новый ЗаписьPDF();
ЗаписьПдф.Открыть(Поток);
КонецПроцедуры
Eskeych
29 — 03.10.22 — 15:53
(28) с потоком может и сработать. Но есть одно НО) я не могу получить файл на сервере сразу. ругается. хотел двоичные данные сделать, он говорит, что ошибка при вызове конструктора (двоичные данные). Все таки проблема в доступе к файлу?
писал так ДД = Новый ДвоичныеДанные(«C:UsersNewDesktopcovd.pdf»);
Eskeych
30 — 03.10.22 — 15:54
(29) или меня уже плавит?
Kassern
31 — 03.10.22 — 15:55
(29) Вы код целиком покажите, вы этот кусок где запускали, на клиенте, или на сервере?
Ногаминебить
32 — 03.10.22 — 15:55
Патамушта тогда надо ИмяВременногоФайла = КаталогВременныхФайлов() + «КакоетоКлевоеИмя.pdf»; И его уже туда, где щас юзерслалала
Eskeych
33 — 03.10.22 — 15:58
(31) это все http запрос. выполняется все на сервере, как я понял.
Функция GetcustomersListGetCustomersList(Запрос)
ПутьКФайлыПодписанный = «192.168.50.104обменcontract_offer-29-51 — копия.pdf»; //пробовал закинуть в общую папку
//ДД = Новый ДвоичныеДанные(«C:/Users/New/Desktop/contract.pdf»); // это получаю с пк
//КопироватьФайл(«C:/Users/New/Desktop/contract_offer-29-51.pdf», ПутьКФайлыПодписанный);
Адрес = ПоместитьВоВременноеХранилище(ПутьКФайлыПодписанный);
ДанныеСертификата = ДанныеСертификата();
Штамп = Штамп(ДанныеСертификата.Наименование, ДанныеСертификата.ДанныеСертификата);
ПутьКаталога = КаталогВременныхФайлов() + «.pdf»;
//ДД.Записать(ПутьКаталога);
МенеджерКриптографии = Новый МенеджерКриптографии(ДанныеСертификата.ИмяПрограммы, «», ДанныеСертификата.ТипПрограммы);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = «145236»;
ПодписьPDF = Новый ОписаниеПодписиPDF;
ПодписьPDF.Имя = «ПодписьДоговора»;
ПодписьPDF.Сертификат = Новый СертификатКриптографии(ДанныеСертификата.ДанныеСертификата);
ПодписьPDF.ТипПодписи = ТипПодписиPDF.Сертифицирующая;
ПодписьPDF.БлокировкаДокумента = Истина;
ПодписьPDF.Верх = 5;
ПодписьPDF.Лево = 70;
ПодписьPDF.НомерСтраницы = 1;
ЗаписьPDF = Новый ЗаписьPDF();
ЗаписьPDF.Открыть(ПутьКаталога);
//
//ЗаписьPDF.ЗаписатьПодпись(МенеджерКриптографии, ПодписьPDF, Штамп);
//ЗаписьPDF.Закрыть();
Массив = Новый Массив;
Массив.Добавить(«ываываыв»);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Массив);
СтрокаДляОтвета = ЗаписьJSON.Закрыть();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить(«Content-type», «application/JSON; charset=utf-8»);
Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Возврат Ответ;
КонецФункции
Eskeych
34 — 03.10.22 — 16:00
функция передолюана уже во все дыры, не ругайтесь, почищу потом)
Kassern
35 — 03.10.22 — 16:01
(33) Сделайте простенькую проверку.
Файл = Новый файл(ПутьДоФайла);
Файл.Существует() — что выдает?
Kassern
36 — 03.10.22 — 16:02
Скорее всего юзвер, под которым запускается служба апача у вас системная учетная запись, у нее нет прав на чтение этого файла, вот вы и любаетесь с последствиями.
Eskeych
37 — 03.10.22 — 16:03
(35) пробовал создавать, ругается на Новый Файл
Eskeych
38 — 03.10.22 — 16:03
Сейчас скину точную ошибку
Eskeych
39 — 03.10.22 — 16:04
Ошибка при вызове конструктора (ФАйл) вот что пишет
Eskeych
40 — 03.10.22 — 16:06
(36) апач запущен кстати от имени системы, а не юзера
Kassern
41 — 03.10.22 — 16:08
(40) попробуйте от админа запустить и протестить
Eskeych
42 — 03.10.22 — 16:16
и апач и 1с запущены от имени админа
Ivan_495
43 — 03.10.22 — 16:22
путь пропиши d:имя.pdf
Eskeych
44 — 03.10.22 — 16:32
(43) не не работает, даже в папках с общим доступом.
Ivan_495
45 — 03.10.22 — 16:35
с клиента попробуй
Kassern
46 — 03.10.22 — 16:38
(44) можете в base64 передать данный pdf файл и тогда http сервис его без проблем скушает и обработает)
Eskeych
47 — 03.10.22 — 16:44
(46) сейчас пилю регистр в котором буду хранить двоичные данные файлов. и из них формировать док и отправлять. Отпишусь если получится)
Eskeych
48 — 03.10.22 — 17:15
В общем на каталог временных фалов тоже ругается.
НаборЗаписей = РегистрыСведений.БК_РегистрСведений1.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
ИмяВремХранилища = КаталогВременныхФайлов() + «namefile.pdf»;
Строка = НаборЗаписей[0];
ДвочиныйФайл = Строка.Файл.Получить();
Если ДвочиныйФайл <> Неопределено Тогда
ДвочиныйФайл.Записать(ИмяВремХранилища);
КонецЕсли;
Eskeych
49 — 03.10.22 — 17:16
видимо что-то реально с доступом к папкам
Kassern
50 — 03.10.22 — 17:27
(48) зачем что-то записывать, когда есть поток?
Eskeych
51 — 03.10.22 — 17:34
Попытка записи в поток не поддерживающий запись — ответ
Garykom
52 — 03.10.22 — 19:05
(18) >на раб столе C:UsersNewDesktopcovd.pdf
Ты в курсе что рабочий стол одного юзера недоступен другому без админских прав?
Eskeych
53 — 04.10.22 — 09:07
(52) все было запущено от админа и 1с и апач. Кстати указал каталог временных файлов при публикации. ПДФ вроде как открыл, но не хочет писать подпись
Garykom
54 — 04.10.22 — 09:41
Fram
55 — 04.10.22 — 11:15
Интересно все что тс пишет происходит и делается в пределах одной системы. А то все обсуждение можно затирать если это не так )
Eskeych
56 — 04.10.22 — 11:42
(54) в общем сделал и то и то, не пашет. Текущий код:
НаборЗаписей = РегистрыСведений.БК_РегистрСведений1.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
ИмяВремХранилища = КаталогВременныхФайлов() + «namefile.pdf»;
Строка = НаборЗаписей[0];
ДвочиныйФайл = Строка.Файл.Получить();
Каталог = КаталогВременныхФайлов();
ИмяФайла = Строка(Новый УникальныйИдентификатор) + «.pdf»;
ИмяПромеж = Каталог + ИмяФайла;
ДвочиныйФайл.Записать(ИмяПромеж);
ДанныеСертификата = ДанныеСертификата();
Штамп = Штамп(ДанныеСертификата.Наименование, ДанныеСертификата.ДанныеСертификата);
МенеджерКриптографии = Новый МенеджерКриптографии(«Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider», «», 80);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = «145»;
ПодписьPDF = Новый ОписаниеПодписиPDF;
ПодписьPDF.Имя = «ПодписьДоговора»;
ПодписьPDF.Сертификат = Новый СертификатКриптографии(ДанныеСертификата.ДанныеСертификата);
ПодписьPDF.ТипПодписи = ТипПодписиPDF.Сертифицирующая;
//ПодписьPDF.БлокировкаДокумента = Истина;
//ПодписьPDF.Верх = 5;
//ПодписьPDF.Лево = 70;
//ПодписьPDF.НомерСтраницы = 1;
ЗаписьPDF = Новый ЗаписьPDF();
ЗаписьPDF.Открыть(ИмяПромеж);
ЗаписьPDF.ЗаписатьПодпись(МенеджерКриптографии, ПодписьPDF, Штамп);
ЗаписьPDF.Закрыть();
Массив = Новый Массив;
Массив.Добавить(«ываываыв»);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Массив);
СтрокаДляОтвета = ЗаписьJSON.Закрыть();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить(«Content-type», «application/JSON; charset=utf-8»);
Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Возврат Ответ;
из ДД собираю док. Уже ОТКРЫВАЕТ но, не хочет записывать, права на папку и файлы я дал.
Вылетает при выполнении кодманды «ЗаписьPDF.ЗаписатьПодпись(МенеджерКриптографии, ПодписьPDF, Штамп);»
он создает файл. Сохраняет его отображает штамп. Но не доподписывает. подпись оставляет но при проверке пишет что подпись недействительна.
если это все подписывать обработкой то все норм. Кстати, после того как http сервис вываливает с этой ошибкой «Ошибка при вызове метода контекста (ЗаписатьПодпись)» . Нужно чистить кеш иначе даже обработка выдает ошибку 0х00000000 тип оне находит контейнер сетрификата.
Eskeych
57 — 04.10.22 — 11:44
Ошибка при получении свойства сертификата (0x00000000) вот ошибка. Решается если добавить заново базу в список estart
Garykom
58 — 04.10.22 — 13:56
(56) Ты понимаешь что фоновое подписание «на сервере» это не тривиальная задача?
пиши микросервис на Go как я делал в свое время https://github.com/Garykom/mdlp
Ошибка работы 1С 8 с Excel: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Найденные решения:
Полная формулировка ошибки:
{Доработки Документ.УстановкаЦенНоменклатуры.Форма.Доп_ФормаИмпортXLS.Форма(83)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1C_ArhivТест загрузка прайсов[имя_файла].xlsx’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение.WorkBooks.Open(ФормаИмпортXLS.ИмяФайла);. Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru «Ошибка открытия файла Excel на сервере» обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: «v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel»
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
23-09-2020
Журавлев А.С.
(Сайт azhur-c.ru)
-
Есть обработка по выгрузке некоторых данных в файл xml. Возникает такая ошибка:
Ошибка при вызове метода контекста (ОткрытьФайл): Ошибка совместного доступа к файлу ‘E:\документ.xml’ Запись.ОткрытьФайл(ИмяФайла,»UTF-8″);Запрос.УстановитьПараметр("Родитель", ЭлементыФормы.Группа.Значение); Выборка = Запрос.Выполнить().Выбрать(); Если ПустаяСтрока(ИмяФайла) Тогда Предупреждение("Укажите файл данных XML для выгрузки!"); Возврат; КонецЕсли; Файл = Новый Файл(ИмяФайла); Если Файл.Существует() Тогда Ответ = Вопрос("Файл " + ИмяФайла + " существует. Заменить?",РежимДиалогаВопрос.ДаНет); Если Ответ = КодВозвратаДиалога.Нет Тогда Сообщить("Сохранение отменено."); Возврат; КонецЕсли; КонецЕсли; ТекстФайл = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8); Запись = Новый ЗаписьXML; Запись.ОткрытьФайл(ИмяФайла,"UTF-8"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("_1CV8DtUD", "http://www.1c.ru/V8/1CV8DtUD/"); Запись.ЗаписатьСоответствиеПространстваИмен("V8Exch", "http://www.1c.ru/V8/1CV8DtUD/"); Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); Запись.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/data"); Запись.ЗаписатьНачалоЭлемента("V8Exch:Data"); Пока Выборка.Следующий() Цикл Запись.ЗаписатьНачалоЭлемента("Элемент"); ....... Запись.ЗаписатьКонецЭлемента(); КонецЦикла; Запись.ЗаписатьКонецЭлемента(); ТекстФайл.Записать(Запись.Закрыть()); ТекстФайл.Закрыть(); Запись.Закрыть();
Подскажите, в чем может быть дело?
-
Offline
leemuar
Опытный в 1С- Регистрация:
- 21 окт 2010
- Сообщения:
- 310
- Симпатии:
- 0
- Баллы:
- 26
Вероятно файл уже отрыт другим сеансом или приложением
-
нет, не открыт. Я уже и перезагружалась, без толку :angry:
-
Offline
uza
1С, VBA (EXCEL), VB (.NET + WEB)- Регистрация:
- 10 июл 2007
- Сообщения:
- 1.845
- Симпатии:
- 1
- Баллы:
- 29
А что приходит в ИмяФайла?
Если «E:\документ.xml» — то это неправильный путь к файлу. Ибо правильный «E:документ.xml», возможно. -
Там всё правильно, я просто не стала сюда весь путь копировать :angry:
-
Неужели никто не сталкивался с такой ошибкой?
-
Offline
BabySG
Администраторы
Команда форума
Администратор- Регистрация:
- 10 июн 2007
- Сообщения:
- 11.853
- Симпатии:
- 18
- Баллы:
- 29
Ошибка у Вас в коде где-то.
Откуда получаете имя файла?
-
Offline
uza
1С, VBA (EXCEL), VB (.NET + WEB)- Регистрация:
- 10 июл 2007
- Сообщения:
- 1.845
- Симпатии:
- 1
- Баллы:
- 29
А файл вообще доступен для записи?
А то может у Вас прав нет на запись.А ОС какая? Не Vista/7ка ли — а то они «из коробки» любят ограничивать доступ к файлам разным прогам.
-
ИмяФайла — реквизит обработки, типа Строка. Поле ввода на форме с данными ИмяФайла.
-
Offline
Tiger86
Модераторы
Команда форума
Модератор- Регистрация:
- 24 мар 2011
- Сообщения:
- 6.407
- Симпатии:
- 108
- Баллы:
- 104
вот нашла такую инфу, сама не пробовала
обратите внимание. в примере в имени файла наклон разделителей в другую сторону (возможно конечно это не влияет, но все же….) -
Проблема решилась. Я убрала
Запись.ОткрытьФайл(ИмяФайла,"UTF-8");
и вставила
Запись.УстановитьСтроку("UTF-8");
В этой статье мы расскажем об ошибке доступа к файлу 1с. Как решить возникшую проблему, что это за баг и еще немного об этом.
Ошибка доступа к файлу 1C 8.3
«1С: Предприятие» — система программ для автоматизации, улучшения и упрощения деятельности различных сфер компании, начиная от бухгалтерии и заканчивая учетом. 1С: возможности при правильной настройке безграничны . Для предпринимателя — нужно найти хороших программистов.
Нет ни одной программы в современном мире, как бы хороша она не была без ошибок и проблем. Такое случается и с нашим приложением. В ряде случаев виноват в этом криворукий программист. Многие проблемы вы не сможете решить без его участия, но некоторые, вам подсилу и самому.
Причины возникновения
Случается, что люди, которые используют данную прогу сталкиваются с проблемой при запуске программы.
Способы решения
По наименованию явившегося бага поймем что происходит с системой — нет прав для доступа к файлу. Такое случается если юзер создает копию базы и подключает ее. Также ошибка бывает в результате попытки открыть файл по сетевому доступу.
Первостепенное что мы делаем в таком случае — проверяем доступ к файлу. Правая кнопка мыши по файлу -> проверяем стоит ли галочка на «Общий доступ».
Взгляните на права пользователя под которым вы зашли в систему виндоус. У вас должны быть права и на чтение файлов и на запись.
Когда данные к которым нужно получить доступ (база) находится на удаленном (локальном) персональном компьютере — смотрим закладку «Безопасность». В безопасности вы должны убедиться что у пользователя нет запрета на запись.
Предупреждения о проблемах вылазят когда возмущается брандмауэр. Это касается сетевых объектов. Антивирусные программы препятствуют нормальной работе.
Открываем брандмауэр и антивирус и ищем в списке блокируемых программ 1С. Удаляем из списка.
Почистите кеш, ошибки также возникают из-за кеша.
Большой шанс появления ошибки, когда два синонимичных приложения запускаются вместе. К примеру, ЗУП и Бухгалтерия. Если запустить по очереди, проблема исчезнет
Дополнительный способ
Ничего не помогло — воспользуйтесь следующими методами:
Путь к имени файла должен быть допустимым в каталоге отчетов: щелкните вкладку «Вывод». Перейдите на вкладку «Параметры вывода». В поле Имя файла убедитесь, что путь действителен.
Сколько дискового пространства доступно для файла: Откройте Windows Explorer. Выберите Локальный диск (буква диска:), на котором хранится отчет. Щелкните правой кнопкой мыши на локальном диске (буква диска:) и нажмите Свойства. Откроется окно свойств. Проверьте доступное свободное пространство на этом локальном диске.
Убедитесь, что у пользователя есть разрешения на доступ к папке IO_Data: Откройте проводник Windows. Щелкните правой кнопкой мыши основную папку выберите «Свойства».
Перейдите на вкладку «Безопасность». Убедитесь, что у пользователя есть полные права на эту папку и все подпапки. Если вы не можете проверить права доступа, обратитесь к администратору.