H A D G E H O G s, в момент создания файла сервер а не имеет к нему ни какого отношения
вот код
Процедура ВыгрузитьВКаталог() Экспорт
ВыборкаУзлов = ПланыОбмена.Полный.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
Если Не ВыборкаУзлов.ВыполнятьОбмен Тогда
Продолжить;
КонецЕсли;
Если ВыборкаУзлов.Ссылка = ПланыОбмена.Полный.ЭтотУзел() Тогда
Продолжить;
КонецЕсли;
НайденныеФайлы = НайтиФайлы(ВыборкаУзлов.КаталогУзла,»Message_» + «*.xml»);
//С помощью объектов ЗаписьXML и ЗаписьСообщения выполняем запись изменений
//для выбранного узла в xml-файл.
попытка
Узел = ВыборкаУзлов.Ссылка;
ЗаписьXML = Новый ЗаписьXML();
если НайденныеФайлы.Количество()<10 тогда
ИмяФайлаСообщения = Узел.КаталогУзла + «Message_» +
СокрЛП(ПланыОбмена.Полный.ЭтотУзел().Код) +
«_» + СокрЛП(Узел.Код) +»(«+»0″+Строка(НайденныеФайлы.Количество()) +»)»+».xml»;
Иначе
ИмяФайлаСообщения = Узел.КаталогУзла + «Message_» +
СокрЛП(ПланыОбмена.Полный.ЭтотУзел().Код) +
«_» + СокрЛП(Узел.Код) +»(«+Строка(НайденныеФайлы.Количество()) +»)»+».xml»;
КонецЕсли;
ЗаписьXML.ОткрытьФайл(ИмяФайлаСообщения);
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML,Узел);
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();
//Затем создаем новое письмо, прикрепляем к нему полученный xml-файл и
//отправляем по адресу, указанному в реквизите ЭлектронныйАдрес узла.
Если Константы.ВыводитьСообщенияОбмена.Получить() Тогда
Сообщить(«ОБМЕН: Сообщение обмена для узла » + Узел.Наименование +
» отправлено!», СтатусСообщения.Информация);
КонецЕсли;
Исключение
Сообщить(«Обмен не выполнен.Ошибка : «+ОписаниеОшибки());
КонецПопытки;
//УдалитьФайлы(ИмяФайлаСообщения);
КонецЦикла;
КонецПроцедуры
В этой статье мы расскажем об ошибке доступа к файлу 1с. Как решить возникшую проблему, что это за баг и еще немного об этом.
Ошибка доступа к файлу 1C 8.3
«1С: Предприятие» — система программ для автоматизации, улучшения и упрощения деятельности различных сфер компании, начиная от бухгалтерии и заканчивая учетом. 1С: возможности при правильной настройке безграничны . Для предпринимателя — нужно найти хороших программистов.
Нет ни одной программы в современном мире, как бы хороша она не была без ошибок и проблем. Такое случается и с нашим приложением. В ряде случаев виноват в этом криворукий программист. Многие проблемы вы не сможете решить без его участия, но некоторые, вам подсилу и самому.
Причины возникновения
Случается, что люди, которые используют данную прогу сталкиваются с проблемой при запуске программы.
Способы решения
По наименованию явившегося бага поймем что происходит с системой — нет прав для доступа к файлу. Такое случается если юзер создает копию базы и подключает ее. Также ошибка бывает в результате попытки открыть файл по сетевому доступу.
Первостепенное что мы делаем в таком случае — проверяем доступ к файлу. Правая кнопка мыши по файлу -> проверяем стоит ли галочка на «Общий доступ».
Взгляните на права пользователя под которым вы зашли в систему виндоус. У вас должны быть права и на чтение файлов и на запись.
Когда данные к которым нужно получить доступ (база) находится на удаленном (локальном) персональном компьютере — смотрим закладку «Безопасность». В безопасности вы должны убедиться что у пользователя нет запрета на запись.
Предупреждения о проблемах вылазят когда возмущается брандмауэр. Это касается сетевых объектов. Антивирусные программы препятствуют нормальной работе.
Открываем брандмауэр и антивирус и ищем в списке блокируемых программ 1С. Удаляем из списка.
Почистите кеш, ошибки также возникают из-за кеша.
Большой шанс появления ошибки, когда два синонимичных приложения запускаются вместе. К примеру, ЗУП и Бухгалтерия. Если запустить по очереди, проблема исчезнет
Дополнительный способ
Ничего не помогло — воспользуйтесь следующими методами:
Путь к имени файла должен быть допустимым в каталоге отчетов: щелкните вкладку «Вывод». Перейдите на вкладку «Параметры вывода». В поле Имя файла убедитесь, что путь действителен.
Сколько дискового пространства доступно для файла: Откройте Windows Explorer. Выберите Локальный диск (буква диска:), на котором хранится отчет. Щелкните правой кнопкой мыши на локальном диске (буква диска:) и нажмите Свойства. Откроется окно свойств. Проверьте доступное свободное пространство на этом локальном диске.
Убедитесь, что у пользователя есть разрешения на доступ к папке IO_Data: Откройте проводник Windows. Щелкните правой кнопкой мыши основную папку выберите «Свойства».
Перейдите на вкладку «Безопасность». Убедитесь, что у пользователя есть полные права на эту папку и все подпапки. Если вы не можете проверить права доступа, обратитесь к администратору.
Отказано в доступе к указанному файлу. Возможно у вас нет нужных прав
При попытке инсталляции, обновления или запуска какого-либо файла пользователь может получить сообщение об отказе в доступе. Наиболее часто это связано со злокачественным действием вирусных программ, а также с действием антивируса и системного брандмауэра, по ряду причин блокирующих доступ к упомянутому файлу. В данном материале я расскажу, в чём суть ошибки «Отказано в доступе к указанному файлу. Возможно у вас нет нужных прав». А также что необходимо предпринять для возобновления доступу к требуемому цифровому содержимому.
- Причины ошибки «Отказано в доступе к указанному файлу»
- Как исправить проблему на своем ПК
- Способ №1. Решаем ошибку отказа в доступе с вирусами
- Способ №2. Временно отключаем антивирус и брандмауэр
- Способ №3. Снятие блокировки Windows, если нет нужных прав
- Способ №4. Получение разрешения для доступа к файлу
- Способ №5. Убеждаемся, что файл не удалён или не перенесён
- Способ №6. Проверяем целостность файловых компонентов системы при отказе в доступе
- Способ №7. Сброс параметров безопасности на ПК
- Способ №8. Создаём новый профиль пользователя при отсутствии нужных прав
- Способ №9. Используем сторонние программы для восстановления доступа к файлу
- Заключение
Причины ошибки «Отказано в доступе к указанному файлу»
Среди причин появления проблемы следует отметить следующие:
- Доступ заблокировал вирусный зловред;
- Доступ блокирует антивирусная программа или системный брандмауэр;
- Доступ потерян вследствие случайного сбоя ПК;
- Пользователь запускает файл не от имени администратора;
- Запрашиваемый пользователем файл в данный момент недоступен (в частности, это касается доступа к сетевым «расшареным» файлам и папкам, расположенным на других компьютерах);
- Нужный файл был удалён или перемещён в другое место;
- Требуемый файл или его ярлык на рабочем столе повреждены;
- Виндовс по различным причинам заблокировала доступ к упомянутому файлу.
Читайте также: Ошибка соединения — Нет маршрута в Teamviewer как исправить?
Как исправить проблему на своем ПК
Чтобы решить возникшую ошибку «Отказано в доступе к указанному файлу. Возможно у вас нет нужных прав» необходимо воспользоваться перечнем способов, о которых я расскажу ниже. Но прежде чем воспользоваться приведёнными советами, попробуйте просто запустить нужный файл от имени администратора (наводим на него курсор, жмём на правую клавишу мыши, и выбираем «Запуск от имени администратора»), это может помочь решить возникшую проблему.
Способ №1. Решаем ошибку отказа в доступе с вирусами
В статистическом большинстве случаев главными виновниками возникшей проблемы являются вирусные программы, заблокировавшие пользователю доступ к необходимому файлу. При этом попытки выполнить какие-либо контрдействия в обычном режиме блокируются вирусной программой.
Для разрешения ситуации рекомендую скачать (перенести на компьютер) такие антивирусные инструменты как «AdwCleaner» и «Dr.Web CureIt!», и запустить их в безопасном режиме.
Для осуществления этого выполните следующее:
- Выберите перезагрузку компьютера;
- При включении компьютера жмите на «F8», чтобы получить доступ к меню безопасного режима;
- Загрузитесь в безопасном режиме;
- Последовательно активируйте упомянутые антивирусные продукты, и проведите с их помощью очистку системы. После удаления всех найденных ими зловредов перезагрузите ваш ПК.
Способ №2. Временно отключаем антивирус и брандмауэр
Второй наиболее часто встречающейся причиной дисфункции является блокировка доступа к нужному файлу со стороны антивируса ибрандмауэра. Обычно они осуществляют блокировку в ситуации, когда содержимое файла вызывает существенные подозрения на присутствие в нём вредоносного ПО. Если вы твёрдо уверены в содержимом этого файла, тогда попросту временно отключите ваш антивирус и брандмауэр, и попытайтесь запустить нужный файл. В некоторых случаях помогло лишь полное удаление антивирусной программы и внешнего брандмауэра (особенно это касается «Comodo firewall»).
Это может быть полезным: Ошибка файловой системы 2147219196 в Windows 10 как исправить.
Способ №3. Снятие блокировки Windows, если нет нужных прав
В некоторых случаях ОС Виндовс может по ряду причин заблокировать запуск данного файла. Для его разблокировки необходимо навести на него курсор, нажать правую клавишу мыши, выбрать «Свойства», а затем нажать на «Разблокировать».
Способ №4. Получение разрешения для доступа к файлу
В ряде случаев для запуска требуемого файла необходимо обладать правами администратора для запуска нужного файла (как мной уже упоминалось выше). Или входить в группу «Администраторы домена» при условии, что ваш ПК входит в данный домен. При наличии данных условий пользователь получает допуск к данному файлу.
Чтобы получить необходимые разрешения выполните следующее:
- Наведите курсор на проблемный файл, нажмите на правую клавишу мыши, в возникшем меню выберите «Свойства»;
- В открывшемся меню свойств щёлкнете по вкладке «Безопасность»;
- В «Группа или пользователи» щёлкните на имя вашей учётки, чтобы отобразить имеющиеся у вас разрешения для работы с данным файлом;
- Если необходимых разрешений недостаточно, нажмите на «Изменить», и установить все необходимые галочки для нужных разрешений, и нажмите на «Ок».
Способ №5. Убеждаемся, что файл не удалён или не перенесён
Ошибка доступа может быть связана с ситуацией, когда запрашиваемый файл ранее был удалён или перенесён в другое место на жёстком диске. Убедитесь, что запрашиваемый вами файл находится на своём обычном месте. А если вы запускаете его с помощью ярлыка на рабочем столе, то будет лучше пересоздать указанный ярлык.
Способ №6. Проверяем целостность файловых компонентов системы при отказе в доступе
Нужно запустить командную строку на компьютере от имени администратора, и в ней введите:
sfc.exe /scannow
После окончания проверки перезагрузите ваш ПК.
Рекомендуем к прочтению: Ошибка List Index out of bounds(-1,0) как исправить.
Способ №7. Сброс параметров безопасности на ПК
В ряде случаев поможет полный сброс параметров безопасности системы. Запуск командной строки от имени администратора, и в ней наберите:
После этого нажмите ввод и перезагрузите вашу систему.
Сбросьте параметры безопасности
Способ №8. Создаём новый профиль пользователя при отсутствии нужных прав
В ряде случаев возникновение данной ошибки обусловлено повреждённым профилем пользователя. Рекомендуется создать новый профиль пользователя с административными правами, и уже с него запустить проблемный файл, проблема «отказано в доступе» может быть исправлена.
Способ №9. Используем сторонние программы для восстановления доступа к файлу
Если вирус ранее скрыл нужный файл от видимости (и доступа), рекомендуется воспользоваться сторонним софтом, уровня «Data Recovery Wizard» и аналогов, которые проверят и восстановят доступ к скрытым ранее файлам.
Заключение
В большинстве случаев проблема с доступом возникает в ситуации действия вирусных и антивирусных программ, по определённым причинам блокирующим доступ к нужному нам файлу. Рекомендуется воспользоваться всем перечисленным в данном материале комплексом советов, это поможет решить проблему с «Отказано в доступе к указанному файлу. Возможно у вас нет нужных прав».
Представьте, что вы пытаетесь использовать свое любимое приложение и видите сообщение об ошибке Windows 10. Процесс не может получить доступ к файлу, поскольку он используется другим процессом. Теперь единственным решением, которое придет вам в голову, будет закрытие сообщения об ошибке. К сожалению, этот метод не исправит ошибку на вашем компьютере. Прочтите всю статью, чтобы узнать о способе исправления ошибки на ПК с Windows 10.
Список причин сообщения об ошибке доступа к файлу приведен в этом разделе:
-
Административные привилегии. Вы можете увидеть сообщение об ошибке, если основным папкам для доступа к драйверам не предоставлены административные привилегии.
-
Другой процесс использует порт 80 или порт 443. Если какой-либо другой процесс использует диапазон IP-адресов, порт 80 или порт 443, вы можете столкнуться с этим сообщением об ошибке.
-
Неправильно настроен подраздел реестра ListenOnlyList. Подраздел ListenOnlyList и порт IIS могут быть неправильно настроены в редакторе реестра.
Метод 1: основные методы устранения неполадок
Первый способ исправить процесс не может получить доступ к файлу в Windows 10 — попытаться применить основные методы устранения неполадок, приведенные ниже.
1. Закройте фоновые процессы
Если в фоновом режиме открыто много приложений, вы можете увидеть сообщение об ошибке на своем ПК. Вы можете решить эту проблему, закрыв все приложения, работающие в фоновом режиме, по приведенной здесь ссылке.
2. Запустите приложение от имени администратора
Сообщение об ошибке может появиться, если приложению не предоставлены права администратора; вы можете исправить ошибку, запустив приложение от имени администратора.
1. Нажмите клавишу Windows, введите «Командная строка» и нажмите «Запуск от имени администратора».
Примечание. Приложение командной строки выбрано в пояснительных целях.
2. Нажмите кнопку «Да» в окне запроса контроля учетных записей, чтобы запустить приложение от имени администратора.
Способ 2: изменить диапазон IP-адресов
Процесс не может получить доступ к файлу. Ошибка может возникнуть, если другие процессы используют порт 80 или порт 443. Вы можете попробовать изменить диапазон IP-адресов процесса или установить другой диапазон IP-адресов, чтобы устранить проблему.
1. Запустите командную строку от имени администратора.
2. Введите следующие команды в приложении и нажмите клавишу Enter, чтобы установить другой диапазон IP-адресов для портов TCP.
netsh int ipv4 set dynamicport tcp start=10000 num=1000
3. Введите следующие команды в приложении и нажмите клавишу Enter, чтобы установить другой диапазон IP-адресов для портов UDP.
netsh int ipv4 set dynamicport udp start=10000 num=1000
Способ 3: разрешить конфликт портов IIS
Сообщение об ошибке, в котором процесс не может получить доступ к файлу, поскольку он используется другим процессом, может появиться в случае конфликта с портом IIS и службой HTTP. Вы можете устранить ошибку, изменив подраздел ListenOnlyList в редакторе реестра.
1. Откройте командную строку от имени администратора.
2. Введите команду netstat –ano и нажмите клавишу Enter, чтобы запустить утилиту Netstat.exe и просмотреть список активных подключений.
3. Введите команду net stop http и нажмите клавишу Enter, чтобы остановить службу HTTP на вашем ПК.
Примечание. Служба HTTP будет использовать порт IIS, поэтому перед изменением ключа необходимо остановить эту службу.
4. Введите Y и нажмите клавишу Enter в окне Продолжить эту операцию?
5. Нажмите клавишу Windows, введите «Редактор реестра» и нажмите «Открыть».
6. Перейдите в каталог ListenOnlyList, используя следующий путь расположения в редакторе реестра.
ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParametersListenOnlyList
7. Щелкните правой кнопкой мыши все IP-адреса по отдельности, отличные от значения по умолчанию 0.0.0.0, и выберите параметр «Удалить», чтобы удалить подраздел.
8. Нажмите кнопку «Да» в окне «Подтвердить удаление значения UAC».
9. Закройте редактор реестра и перезагрузите компьютер.
10. Запустите командную строку, как указано выше, чтобы убедиться, что служба HTTP запущена.
11. Введите команду net start http и нажмите клавишу Enter.
Способ 4: изменить номер порта
Одной из причин, по которой процесс не может получить доступ к файлу в Windows 10, является использование периферийного агента HubCapp. Это стороннее программное обеспечение, которое можно использовать для доступа к драйверам и весам, подключенным к вашему ПК в качестве периферийных устройств. Однако, если номер порта в программном обеспечении конфликтует с другими процессами, вы можете столкнуться с этой ошибкой.
1. Нажмите одновременно клавиши Windows + E, чтобы открыть проводник и перейти к папке периферийного агента HubCapp, используя путь расположения.
C:Program Files (x86)HubCapp Peripheral Agent
Примечание. Перед внесением изменений закройте периферийный агент HubCapp.
2. Дважды щелкните файл setup.xml в списке.
Примечание. Вы также можете создать копию этого файла на рабочем столе и переименовать его в setup.xml_OLD. После изменения файла на рабочем столе вы можете переместить файл в эту папку.
3. Измените значение MinPortNumber с 50000 на 60000 и нажмите клавиши Ctrl+S, чтобы сохранить файл.
4. Откройте периферийный агент HubCapp на своем ПК, чтобы проверить, решена ли проблема.
Часто задаваемые вопросы (FAQ)
Q1. Отвечает ли какое-либо стороннее приложение за сообщение об ошибке доступа к файлу на ПК с Windows 10?
Ответ Периферийный агент HubCapp — это стороннее программное обеспечение, которое может получить доступ к периферийным устройствам, подключенным к вашему ПК. Если номер порта в программном обеспечении настроен неправильно, вы можете увидеть это сообщение об ошибке.
Q2. Почему процесс не может получить доступ к файлу, когда я пытаюсь открыть любое приложение?
Ответ Сообщение об ошибке обычно возникает из-за неправильной настройки номера порта и диапазона IP-адресов. В статье описаны способы изменения номера порта и диапазона IP-адресов для устранения ошибки.
***
В этой статье обсуждаются причины и способы исправления процесса, который не может получить доступ к файлу, поскольку он используется другим процессом. Попробуйте реализовать все методы, описанные в статье, и, пожалуйста, оставьте свои предложения и вопросы в разделе комментариев.
1С Предприятие 11.4.11. В модуле обмена с сайтом делаю XML выгрузку каталога из 1С на диск. Пишет «Ошибка доступа к каталогу обмена //tsclient/C/webdata
Причина не в системных правах и не в фаерволе, а это какой-то безопасный режим включился, но не нахожу где снять эту галочку. Снятие флажка защиты от опасных действий с админа не помогает.
Проблема появилась после установки модуля обмена с сайтом от Битрикса. До этой установки выгрузки на диск работали корректно. Сейчас же не работает ни в родном модуле, ни в битриксовом.
Если загружаюсь с копии информационной базы, где модуль Битрикса не установлен, там все выгружает.
Подскажите путь к настройкам, в которых искать проблему
-
Вопрос задан14 июл. 2022
-
220 просмотров
Пригласить эксперта
Пользователь от имени которого запущена 1С имеет доступ к каталогу, указанному в ошибке?
Как и написал Денис, проверить есть ли доступ к каталогу у юзера операционной системы где запущена 1С, если обмен запускается в фоновом задании это юзер службы Агента 1С;
Безопасный режим можно отключить в списке установленных расширений, для расширения выполняющего обмен
из вида пути //tsclient следует, что делается попытка выгрузки на подключенный диск в сессии rds (клиентское подключение). у сервера, который производит выгрузку, указанный сетевой путь отсутствует однозначно, так как процесс сервера не связан с сессией rds . могу порекомендовать создать общий каталог (shared) к которому имеют доступ обе системы.
-
Показать ещё
Загружается…
30 янв. 2023, в 08:15
20000 руб./за проект
30 янв. 2023, в 08:09
1000 руб./за проект
30 янв. 2023, в 07:48
500 руб./за проект
Минуточку внимания
66268
Руководитель Центра
сопровождения 1С
28 февраля 2019
Обслуживание 1С
Актуальность проверена: 26.01.2023
Получить консультацию
Бесплатно
Обслуживание 1С
Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ
Иногда пользователь программы 1С может столкнуться с сообщениями программы «Ошибка режима доступа к файлу 1С»…
…а также «Ошибка совместного доступа к файлу» 1С 8.3.
Само название ошибки уже говорит пользователю о случившемся: в первом случае – о нарушении прав доступа. Такое сможет случиться, когда пользователь скопировал информационную базу, подключил, а при открытии по сети всплыла такого рода ошибка с указанием сетевого пути к объекту. В этом случае, первое, на что сразу надо обратить внимание – на права доступа, щелкнув правой кнопкой на свойства объекта. Нажав кнопку «Общий доступ», проверить настройки.
Доступ пользователя Windows, который запустил сеанс программы 1С, должен быть не только на чтение, но и на запись.
Если база располагается на локальном ПК, необходимо проверить на закладке «Безопасность», что для пользователя установлено разрешение на запись или не стоит запрет на запись.
Предупреждение о проблемах с совместным доступом с указанием пути к конкретному объекту, кроме сбоя сетевых настроек, может быть следствием предустановок брандмауэра, антивирусных программ, которые стопорят сетевые подключения. Необходимо открыть их настройки и посмотреть, не будет ли 1С в списке заблокированных программ. Если это так, следует удалить ее из списка или добавить файл информационной базы 1С в исключения, предотвратив его блокировку.
Если при возникновении ошибки система указывает на временные файлы, например C:Users…AppDataLocalTemp, то очистка кэш может решить проблему с ошибкой.
Высока вероятность появления такой ошибки – при одновременном запуске двух программ (ЗУП и Бухгалтерии), одна из которых была базовой версией. Когда программы запустили по очереди, ошибка не появлялась.
Для решения проблемы с ошибкой доступа, как видите, потребуется немного времени, главное – понять причину и исключить ее повторение.
Другие статьи по теме
Обновления 1С
Как обновить 1С самостоятельно. Рассмотрим пошаговые действия для обновления типовой конфигурации 1С:Предприятия 8 на примере 1С:Бухгалтерии 3.0.
Настройка 1С Бухгалтерия 8.3 с нуля
Настройка 1С:Бухгалтерия позволят задать программе конкретную функциональность, выбрать варианты ведения учета, ввести ряд конкретных значений и параметров.
Установка 1С
Начинающие пользователи программ, разработанных на платформе «1С:Предприятие», подойдя к моменту покупки «коробки» или уже приобретя ее, естественно задаются вопросом: «Как установить 1С Предприятие?»…
John_XP 2 / 2 / 0 Регистрация: 13.03.2011 Сообщений: 50 |
|||||||||||||
1 |
|||||||||||||
22.03.2011, 15:13. Показов 5082. Ответов 10 Метки нет (Все метки)
У меня есть переменная string fpath; //путь к файлу.
Вот, что я делаю:
Однако так и не появляется ничего.
а файл теста находится в:
__________________ 0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
22.03.2011, 15:13 |
Ответы с готовыми решениями: Ограничен доступ к файлу Доступ к занятому файлу Закрыть доступ к файлу Многопоточный доступ к файлу 10 |
d3nver 144 / 128 / 27 Регистрация: 20.12.2010 Сообщений: 242 |
||||||||
22.03.2011, 15:21 |
2 |
|||||||
Да! Спасибо! Помогло!
Однако так и не появляется ничего. Application.StartupPath: ты в переменную fpath заносишь и путь к файлу приложения и путь к тесту.
И не совсем понял где ты это делаешь. В приведенном коде этой строки нет. 1 |
John_XP 2 / 2 / 0 Регистрация: 13.03.2011 Сообщений: 50 |
||||
22.03.2011, 15:46 [ТС] |
3 |
|||
Когда я указываю полный путь, у меня все равно появляется эта запись:
В какой папке он находится? 0 |
d3nver 144 / 128 / 27 Регистрация: 20.12.2010 Сообщений: 242 |
||||
22.03.2011, 15:54 |
4 |
|||
Когда я указываю полный путь, у меня все равно появляется эта запись:
В какой папке он находится? в папке твоего проекта, а точнее в : 0 |
2 / 2 / 0 Регистрация: 13.03.2011 Сообщений: 50 |
|
22.03.2011, 16:08 [ТС] |
5 |
В общем таки, и ничего не добился… 0 |
d3nver 144 / 128 / 27 Регистрация: 20.12.2010 Сообщений: 242 |
||||
22.03.2011, 16:16 |
6 |
|||
ну а я не понял в чем проблема
Если файл не откроется, значит по этому пути нет файл либо ты его неправильно назвал. 0 |
2 / 2 / 0 Регистрация: 13.03.2011 Сообщений: 50 |
|
22.03.2011, 16:28 [ТС] |
7 |
//имя файла теста должно быть указанно 0 |
144 / 128 / 27 Регистрация: 20.12.2010 Сообщений: 242 |
|
22.03.2011, 16:36 |
8 |
//имя файла теста должно быть указанно ты у меня спрашиваешь? не я ж задание выписывал Это значит что имя файла для теста ты вводишь как аргумент командной строки. И самое основное: в студии нужно указать аргументы командной строки. Раз ты запускаешь проект из студии, в настройках проекта нужно указать эти аргументы командной строки. 0 |
2 / 2 / 0 Регистрация: 13.03.2011 Сообщений: 50 |
|
22.03.2011, 16:49 [ТС] |
9 |
Microsoft Visual C# Express Edition 2008 0 |
144 / 128 / 27 Регистрация: 20.12.2010 Сообщений: 242 |
|
22.03.2011, 18:32 |
10 |
если ты хочешь брать имя файла из аргументов командной строки, то тебе нужно в студии задать эти самые аргументы. А там путь указан как: значит аргументом будет просто имя файла с тестом. 0 |
Fretsaw 5 / 5 / 0 Регистрация: 22.06.2010 Сообщений: 22 |
||||
16.06.2011, 06:58 |
11 |
|||
0 |
При загрузке файла Выгрузка и загрузка xml выходит сообщение
Ошибка доступа к файлу ‘C:1C_ToolsВыгрузка и загрузка123.xml’
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта(162)}: ЧтениеXML.ОткрытьФайл(ИмяФайла);
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.Форма.Форма.Форма(561)}: РеквизитФормыВЗначение(«Объект»).ВыполнитьЗагрузку(ИмяВременногоФайла);
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.Форма.Форма.Форма(540)}: ЗагрузитьДанныеНаСервере(Адрес, Файл.Расширение);
{ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.Форма.Форма.Форма(254)}: ЗагрузитьДанныеЗавершение(Истина, АдресФайлаВоВременномХранилище, ИмяФайлаЗагрузки, Неопределено);
по причине:
Ошибка доступа к файлу ‘C:1C_ToolsВыгрузка и загрузка123.xml’
что это может быть, если на тестовой базе все нормально выходит
Доброе время суток. Извините, если тема-баян. Новичок.
1С версия 8.3, хотя, наверняка, версия не имеет значения.
Создал новую учетную запись пользователя для доступа к серверу. Создал новую учетную запись для доступа в 1С. При входе в 1С система выдаёт сообщение «Ошибка доступа к файлу С:Documents and SettingDefault UserLocal SettingsApplication Data1C1Cv82c74191c7-dd5d-44e6-bdfc-469105e7385a’. 5(0x00000005): Отказано в доступе»
Вход новым пользователем 1С через ранее существовавшие учетные записи доступа к серверу происходит корректно.
Понятно, что где-то не хватает прав доступа. Где и каких? Для какой учётной записи — входа на сервер или в 1С?
Заранее спасибо.
В 64-битной ОС Windows 10 с выключенным контролем учетных записей (UAC) из 32-битного клиентского приложения, запущенного интерактивно без элевации (не через команду «Запуск от имени администратора»), выполняю попытку записать файл «C:Program Files1cv8conflogcfg.xml» и получаю исключение Ошибка доступа к файлу ‘C:Program Files1cv8conflogcfg.xml’ Моя учетная запись естественно входи в группу Администраторы. Как грамотно (с учетом идеологии контроля учетных записей) записать такой файл? Если даю доступ учетным записям «Все приложения» или «Все ограниченные приложения», то ошибка остается. Если даю доступ всем (учетная запись «Все») на этот файл, то ошибка уходит. Можно ли как то временно запросить у пользователя элевацию на конкретную файловую операцию? Как из кода 1С запустить приложение с элевацией?
Первое, что приходит в голову выполнить bat/shell скрипт. А пользователь пароль админа знает или нет?
«с выключенным контролем учетных записей (UAC)» // Его нельзя выключить. Наверное, имеется в виду самое «нижнее» положение ползунка в настройке уровней УАС?
>>Как грамотно (с учетом идеологии контроля учетных записей) записать такой файл? не отключать UAC не писать в системные директории.
так а если файл настроек системного журнала должен лежать именно в этом каталоге? По вашей теории нельзя автоматизировать этот процесс.
Файл настроек системного журнала? А какое отношение 1с может иметь к системному журналу?
технологического журнала имелось в виду
Технологический журнал, это журнал приложения. А приложение не должно хранить свои журналы, логи и прочие временные файлы в системных директориях. Т.е журналов там не должно быть. В речь идет про файл logcfg.xml — это файл настройки приложения. Он записывается при установке программы. И соответственно должен изменяться, перезаписываться, или удалятья только при установке или удалении данной программы.
Т.е есть базовый принцип — приложение не должно писать в Program Files, и уж тем более не должно там ничего хранить.
Я не разделяю ваше мнение, что файл настроек технологического журнала должен записыватсья при установке/удалении 1с. Это не временный файл, это не лог — это конфигурационный файл приложения (1с) для настройки логирования. Где ему еще лежать? Как минимум я знаю 2 случая, когда этот файл меняетя из 1с. В ЦУП и обработке настройки тех журнала.
Поясню — Если файл изменяется при работе программы, то его нельзя размещать в Program Files. Там можно размещать только файлы изменяемые при установке программы!
я даже затрудняюсь представить где должны лежать конфиги приложения (конфиги для того и есть, что бы их менять по потребности). 1. Конфиг это скорее постоянный файл чем временный. Часто без конфига приложение просто не будет запускатсья, а удаление временных файлов не должно влиять на работоспособность приложения. 2. Разработчики 1с решили, что конфиги должны лежать в папке c установленной платформой. 3. Довольно много программ хранят конфиги в <home directory>/conf , я сейчас много работаю с apache hadoop стеком и там все конфиги лежат именно в этом каталоге.
Все конфиги должны лежать в HomeDir. Это основа. В линуксе немного по другому, но принцип тот же.
Так, а что для платформы является home dir? Разве не папка куда установленая программа?
И самый ключевой момент в том, что разработчки платформы ожидают файл именно в том месте и пользователю остаеться только подстраиваться под ситуацию.
Пользователь знает пароль, но не хочет его вводить. Да.
HomeDir — домашняя директория пользователя, от имени которого запущена программа.
Да пофиг что там ожидают разработчики. Вопрос был в том, как идеологически правильно обеспечить доступ к файлу, я объяснил. А как там думают разработчики — дело третье.
прав не хватает пользователю, под которым сервер запущен, поди
До меня вам точно не удалось донести суть. В папке пользователя лежат настройки относящиеся к конерктному пользователю, в папке с утановленной программой конфиги относящиеся к программе в целом.
Что нехватает прав это понятно. Не хватает прав пользователю, под которым записана программа. Почему не хватает — потому что пользователям нельзя писать в эту директорию.
считай, что у меня телепатический припадок.
По идеологии Windows в Programm Files хранится сама программа и необходнимые для нее библиотеки и данные. Они записываются в момент инсталляции, и используются только на чтение. В нее запрещено писать пользовательским программам.
Т,е хранить в Programm Files можно что угодно, а менять нельзя.
Спасибо. Хоть что то по существу вопроса =) Видимо придется использовать старый добрый hstart, который теперь поддерживает элевацию.
можно ссылку с описанием данной идеалогии? подойдет и на английском.
можно тупо прав накинуть на этот самый сам по себе logcfg.xml еще можно «mklink -j» и заныкать куда-то этот logcfg.xml, куда права есть. или в 1cv88..*inconfconf.cfg прописать ConfLocation, опять же туда, где есть права
Еще бы найти полностью бесплатную утилиту для выполнения команд системы с элевацией.
Того что запись в эту папку запрещена вам недостаточно?
wmic process create google that
Конечно нет. Это лишь подтвержает, что конфигурацие должен заниматься человек с правами админа. Не вижу никих проблем записать файл из скрипта.
чем не устроил вариант из ?
Вот именно — вносить изменения туда может только админ, и система. Но никак не пользователь. А программа запускается от пользователя.
Научи запускать из 1С скрипт PowerShell и ловить выходной поток (сообщения).
я подразумевал, что весь код записи файла будет в скрипте. То есть вы его динамически сформировали, положили во временный каталоги и оттуда скриптом копировали в конечную директорию
в коментах так же приводили пример через bat
Опять через runas. Он всегда просит вводить пароль.
Решение найдено. elevate — Command-Line UAC Elevation Utility This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
Утилита действительно работает и не запрашивает пароль, но показывает окно командного интерпретатора. Поэтому все таки пришлось вернуться к старому доброму hstart.
Тэги:
Комментарии доступны только авторизированным пользователям
-
Есть обработка по выгрузке некоторых данных в файл 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");
