Дорабатывал обработку загрузки прихода из Excel. Обработка изначально была не моя, все хорошо работало, но внезапно клиент в облаке переехал с файловой базы на SQL, потому что файловая тормозила.
И тут 1С начала писать, что файл не обнаружен. Оказывается, код загрузки из Excel был написан только под толстого клиента. Пришлось дорабатывать стандартным образом:
//На клиенте
ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);//На сервере
ПолноеИмяФайла = ПолучитьИмяВременногоФайла(«XLS»);
ДД.Записать(ПолноеИмяФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);
Доработал и забыл. Как вдруг новая напасть — попросили доработать обработку, начинаю ее отлаживать, а она не считывает данные из XLSX файла.
Причем выдает ошибку доступа к временному файлу:
Я попробовал записывать во временный каталог, но это не принесло результата:
ТекКаталог = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ТекКаталог);
ПолноеИмяФайла = ТекКаталог + «\» + Новый УникальныйИдентификатор() + ТипФайла; //ПолучитьИмяВременногоФайла(«XLS»);ДД.Записать(ПолноеИмяФайла);Ф = Новый Файл(ПолноеИмяФайла);
Сообщить(ПолноеИмяФайла + » Существует: » + Ф.Существует());ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст); //, ТипФайлаТабличногоДокумента.ODS);
Причем 1С писала, что файл существует:
Тогда почему же она не может его считать? Задачу нужно было решить срочно, причем прикладную логику я уже сделал, а споткнулся на мелочи. Я уже было хотел перейти на локальный компьютер для разработки (тем более что на сервере из соображений быстродействия отключена отладка). Но тут мне пришла мысль впервые попробовать использовать не временные файлы, а потоки:
ПотокДанных = Новый ПотокВПамяти();
ЗаписьДД = Новый ЗаписьДанных(ПотокДанных);
ЗаписьДД.Записать(ДД);
ЗаписьДД.Закрыть();
ПотокДанных.Перейти(0, ПозицияВПотоке.Начало);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПотокДанных, СпособЧтенияЗначенийТабличногоДокумента.Текст, ТипФайлаТабличногоДокумента.ODS);
ПотокДанных.Закрыть();
Увы, при этом выдавалась все та же ошибка доступа. Кроме того, в документации я посмотрел, что из памяти можно считывать не все форматы, а только MXL и ODS. Бред, конечно, но такова 1С.
И тут до меня дошло попробовать поменять расширение на XLSX:
//на клиенте
ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);
Ф = Новый Файл(ПолноеИмяФайла);
ТипФайла = Ф.Расширение);//на сервере
ТекКаталог = ПолучитьИмяВременногоФайла();
СоздатьКаталог(ТекКаталог);
ПолноеИмяФайла = ТекКаталог + «\» + Новый УникальныйИдентификатор() + ТипФайла;
ДД.Записать(ПолноеИмяФайла);ДД = Новый ДвоичныеДанные(ПолноеИмяФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПолноеИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст);
И всё заработало. У 1С, как обычно, беда с диагностикой ошибок. Она пишет совсем не ту ошибку, которая вызывает проблему. Доступ к файлу есть, просто формат файла 1С определяет по расширению, а не содержимому файла.
Время факт: 0,5 час. На поиски решения проблемы.
Иногда пользователь программы 1С может столкнуться с сообщениями программы «Ошибка режима доступа к файлу 1С»…
…а также «Ошибка совместного доступа к файлу» 1С 8.3.
Само название ошибки уже говорит пользователю о случившемся: в первом случае – о нарушении прав доступа. Такое сможет случиться, когда пользователь скопировал информационную базу, подключил, а при открытии по сети всплыла такого рода ошибка с указанием сетевого пути к объекту. В этом случае, первое, на что сразу надо обратить внимание – на права доступа, щелкнув правой кнопкой на свойства объекта. Нажав кнопку «Общий доступ», проверить настройки.
Доступ пользователя Windows, который запустил сеанс программы 1С, должен быть не только на чтение, но и на запись.
Если база располагается на локальном ПК, необходимо проверить на закладке «Безопасность», что для пользователя установлено разрешение на запись или не стоит запрет на запись.
Предупреждение о проблемах с совместным доступом с указанием пути к конкретному объекту, кроме сбоя сетевых настроек, может быть следствием предустановок брандмауэра, антивирусных программ, которые стопорят сетевые подключения. Необходимо открыть их настройки и посмотреть, не будет ли 1С в списке заблокированных программ. Если это так, следует удалить ее из списка или добавить файл информационной базы 1С в исключения, предотвратив его блокировку.
Если при возникновении ошибки система указывает на временные файлы, например C:\Users\…\AppData\Local\Temp\, то очистка кэш может решить проблему с ошибкой.
Высока вероятность появления такой ошибки – при одновременном запуске двух программ (ЗУП и Бухгалтерии), одна из которых была базовой версией. Когда программы запустили по очереди, ошибка не появлялась.
Для решения проблемы с ошибкой доступа, как видите, потребуется немного времени, главное – понять причину и исключить ее повторение.
Ситуация очень похожа.
Конфигурация собственная.
Платформа 1С:Предприятие 8.1 (8.1.9.57).
База серверная — POSTGREE.
Обновления производятся через поддержку.
Обновлялись до версии 1.3.9 — всё отлично.
А обновление 1.3.10 — не встаёт.
При попытке обновления программа вываливается с ошибкой: «Ошибка доступа к файлу ‘… temp\v8_*_*.tmp’
Выяснили, что на базе еще до обновления на 1.3.10, т.е. на 1.3.9 — не открывается документ Контракт, 1С валится сразу с ошибкой.
На базе старой с 1.3.8 — документ Контракт работает отлично.
Выяснили, что в 1.3.9 у документа Контракт был добавлен новый реквизит.
Взял базу с 1.3.9 — удалил из документа этот реквизит — принял изменения на БД.
И теперь отлично обновился поддержкой до 1.3.10.
Вот такая фигня. Пока всё это выяснили — потратили 3 часа.
На других объектах с такими же параметрами сервера, 1С и конфигурации, данной ошибки не возникало.
Почему такая ситуация может возникать и как с этим бороться?
Ошибка совместного доступа к файлу 1C в 8.3
Ошибка, сообщающая о проблеме с доступом к файлу или совместном доступе к файлу — та неприятность, с которой нередко сталкиваются пользователи 1C 8.3. Сейчас мы расскажем о причинах появления этого бага и о том, как его устранить.
Права пользователя
Понять, с чем связана та или иная ошибка, можно по самому названию. Соответственно, надо удостовериться, что дело не в нарушении прав доступа. Ошибка с указанием сетевого пути вылезает при попытке открытия информационной базы по сети после того, как пользователь скопировал и подключил ее.
Рекомендуем проверить настройки прав доступа:
1. нажмите правой кнопкой мыши на ярлык информационной базы и откройте «Свойства»;
2. нажмите на «Общий доступ»;
3. если в настройках доступ указан лишь к чтению объекта, то надо дать разрешение и на запись.
Что касается информационной базы, расположенной на локальном ПК, то здесь необходимо удостовериться, что на вкладке «Безопасность» стоит разрешение на запись.
Настройки блокирования
Причиной нарушения совместного доступа могут служить настройки брандмауэра и антивируса, стопорящих сетевые подключения. Чтобы понять, так ли это, надо зайти в их настройки и посмотреть, имеется ли 1C в перечне заблокированных программ. При положительном ответе 1C нужно удалить из списка и добавить в исключения, чтобы предотвратить в дальнейшем ее блокирование.
Хотим обратить ваше внимание, что самостоятельно заходить и изменять настройки антивирусных программ стоит лишь в исключительных случаях. Такие программы обеспечивают безопасность ваших данных. В случае нехватки опыта в данной сфере рекомендуем обратиться к специалистам, которые помогут вам снять блокировку 1C.
Чистка кэша
В ошибке может указываться путь к временным файлам. К примеру, C:\Users\…\AppData\Local\Temp\. В таком случае советуем прибегнуть к очистке кэша.
Одновременный запуск программ 1С
Повышенный риск возникновения данной ошибки отмечается при единовременном запуске двух программ (ЗУП и Бухгалтерии), одна из которых является базовой версией. Если программы запускать поочередно, то ошибка не появится.
Заключение
Как видно, чтобы решить проблему с ошибкой доступа, совершенно необязательно тратить много времени. Достаточно понять, в чем заключается причина, и сделать все возможное для исключения ее повторения.
Если по какой-то причине вам не удалось справиться с проблемой, или же у вас возникли вопросы по использованию программ и обновлению 1C, то обратитесь к нашим специалистам.
Отзывы о компании
-
Сивелькина С. В.
ПАО «НИКО-БАНК» выражает свою благодарность за оперативную и грамотную работу.
В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы «Гарант».
Безусловным плюсом в работе компании «МастерСофт» является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.
-
Мордвинцев С. П.
Коллектив компании «АЭРОПОРТ ОРЕНБУРГ» выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.
-
Ряховская Н. А.
ООО «Орский Вагонный Завод» выражает искреннюю благодраность за качество обслуживания вашими специалистами. Консультации и поставка антивирусов всегда проходят оперативно и на высоком профессиональном уровне.
Уверены, что и в дальнейшем наше сотрудничество на взаимовыгодных условиях продолжится.
-
Кетерер Т. М.
Главный бухгалтер муниципального бюджетного учреждения дополнительного образования «Дворец творчества детей и молодёжи» Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
«Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе «1С: Бухгалтерия бюджетного учреждения 8» непосредственно Шевлягина Юлия.
Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе «Зарплата и Кадры»).
Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы…».
Перейти к содержанию
1C обновление: ошибка доступа к файлу tmp
На чтение 4 мин Опубликовано Обновлено
При обновлении программы 1С, пользователи иногда могут столкнуться с ошибкой доступа к файлу tmp. Эта ошибка возникает, когда программа не может получить доступ к временному файлу, который необходим для успешной установки обновления.
Основная причина этой ошибки — отсутствие прав доступа к папке с временными файлами программы 1С. Обычно это происходит из-за неправильных настроек или ограничений операционной системы. Чтобы решить эту проблему, необходимо предоставить необходимые права доступа к папке tmp.
Ниже приведены основные шаги, которые помогут вам исправить ошибку доступа к файлу tmp во время обновления программы 1С:
- Проверьте права доступа — убедитесь, что у вас есть административные права для доступа к папке с временными файлами 1С. Проверьте права доступа на запись и чтение для вашего пользователя или группы.
- Измените настройки безопасности — откройте свойства папки tmp и убедитесь, что ваш пользователь или группа имеют полный доступ. Если нет, добавьте их в список разрешенных пользователей.
- Перезапустите компьютер — после внесения изменений в настройки безопасности, перезапустите компьютер, чтобы изменения вступили в силу. После перезагрузки попробуйте выполнить обновление 1С снова.
Если после выполнения всех вышеуказанных действий ошибка доступа к файлу tmp все еще возникает, рекомендуется обратиться в службу поддержки 1С для получения дополнительной помощи.
Причины возникновения ошибки
Ошибка доступа к файлу tmp при обновлении 1С может возникать по разным причинам. Рассмотрим некоторые из них:
- Недостаточные права доступа: Наиболее распространенной причиной ошибки является недостаточный уровень прав доступа к папке tmp. Если пользователю, запускающему обновление, отсутствуют необходимые права на чтение, запись или выполнение в данной папке, то возникает ошибка.
- Файл tmp не существует: Если файл или папка tmp отсутствуют на сервере или удалены по ошибке, то при попытке обновления возникает ошибка доступа. В этом случае необходимо создать новый файл или восстановить удаленный.
- Неправильные настройки сервера: Некорректная конфигурация сервера может привести к ошибке доступа к файлу tmp. Например, неправильно указанные пути к папке tmp или неверные параметры безопасности могут стать причиной проблемы.
- Конфликт с другими программами: Если в процессе обновления возникают конфликты с другими активными программами или процессами на сервере, это может привести к ошибке доступа к файлу tmp. Например, антивирусное программное обеспечение или брандмауэры могут блокировать доступ к папке tmp.
- Недостаточное место на диске: Если на сервере, где установлена 1С, не хватает свободного места на диске, то это может вызвать ошибку доступа к файлу tmp при обновлении. Необходимо освободить место на диске перед запуском процесса обновления.
Это лишь несколько причин, по которым может возникать ошибка доступа к файлу tmp при обновлении 1С. В каждом конкретном случае необходимо провести дополнительный анализ и исследование ошибки, чтобы определить точную причину и принять соответствующие меры для ее устранения.
Решение проблемы
Чтобы исправить ошибку доступа к файлу tmp при обновлении 1С, следуйте этим рекомендациям:
- Удостоверьтесь, что у вас есть права на запись и чтение в каталог tmp.
- Проверьте файловую систему каталога tmp на наличие ошибок.
- Убедитесь, что каталог tmp не является символической ссылкой, а является физической директорией.
- Установите правильные разрешения для каталога tmp и его подкаталогов. Рекомендуется установить права 777 на каталог tmp для отладки ошибки, но после решения проблемы, не забудьте вернуть правильные настройки безопасности.
- Проверьте, нет ли в каталоге tmp других файлов или папок с таким же именем, которые могут создавать конфликты. Если такие файлы или папки есть, удалите их или переименуйте.
- Убедитесь, что каталог tmp находится в том же разделе файловой системы, где установлен сервер 1С.
- Проверьте, что отсутствуют неисправности в жестком диске или других компонентах сервера, которые могут вызывать ошибки доступа к файлу tmp. В этом случае, обратитесь к администратору сервера.
После применения указанных рекомендаций, ошибка доступа к файлу tmp при обновлении 1С должна быть исправлена. Если проблема не исчезает, обратитесь к специалисту за дополнительной помощью.