1с ошибка создания файла

Обновлено: 08.07.2024

Имеем три машины:
М1 - машина с расшаренным ресурсом
М2 - машина с сервером 1С
М3 - машина с клиентом 1С
В 1С в настройках работы с файлами указываю Хранить файлы в томах на диске. Том хочу создать в ресурсе на М1.
Вопрос первый - какой пользователь должен иметь доступ в этот ресурс? Тот, от которого на М2 сервер запущен? Или тот, который на М3 клиента запускает? Или как?
Теперь немного меняем ситуацию. На М3 к базе 1С подключаемся через внешнее соединение и пытаемся присоединять файлы.
Вопрос второй - а в этом случае какому пользователю нужен доступ в общий ресурс?
Поскольку файлы присоединить у меня не получилось, то есть ощущение, что ответы на первый и второй вопрос разные.
К сожалению, вся эта система от меня далеко, управляется не мной, т.е. нет возможности по-быстрому перепробовать все комбинации. Да и вообще, был бы рад получить теоретическое обоснование.
Заранее спасибо!

p.s. Спасибо ответившим. Я до сих пор и не сомневался, что права на ресурс нужны серверу, ну, пользователю под которым он запущен. Но вот какая проблема.
Конфигурация описана выше. Если я работаю в обычном клиенте 1С на М3 я могу добавлять файлы без проблем, т.е. том настроен правильно, он доступен, ограничений по размерам нет.
И есть у меня код, который нужно выполнять, подключаясь к этой же базе через внешнее соединение. Код присоединяет файлы к документам.
Если файлы хранить в базе, то всё работает отлично - файлы добавляются. Но если я включаю хранение файлов на диске, то при попытке присоединить файл получаю ошибку:
: Ошибка при добавлении присоединенного файла "1234567890.pdf":
Не удалось добавить файл ни в один из томов.
Список ошибок:
Ошибка при добавлении файла "1234567890.pdf"
в том "Том1" (\\М1\Тома 1С\20170922\):
"Ошибка при создании каталога "\\М1\Тома 1С\20170922\":
"Неправильный путь к файлу '\\М1'. 161(0x000000A1): Указан недопустимый путь. ".".

клиент работает с сервером, а сервер с файловым ресурсом. Соответственно нужны права для компьютера и пользователя от имени которого работает 1с

Jump

Вопрос первый - какой пользователь должен иметь доступ в этот ресурс?

Пользователь под которым работает сервер 1с.

Вопрос второй - а в этом случае какому пользователю нужен доступ в общий ресурс?

Тому же самому - пользователю под которым запущен сервер 1с.

Файлы хранит 1с, и работает с ними 1с.
Все пользователи работают только с сервером, и не могут работать с файлами, если им нужен доступ к файлу они просят сервер, и сервер выдает им нужный файл. Поэтому пользователям 1с права на файлы не нужны вообще.

При работе с 1С:Документооборот пользователи неизбежно сталкиваются с ошибками. Данная система действительно имеет ряд программных недоработок, из-за которых возникают сбои. Но эта тема обсуждалась много раз. Здесь речь пойдет о наиболее распространенных ошибках пользователей и о том, как их избежать. Эта информация позволит сэкономить время и защитить бизнес от возможных проблем.

Операторы системы ошибаются по двум причинам:

  • Первая связана с недостатком опыта и невнимательностью.
  • Вторая – со сложным и не очень понятным интерфейсом программы.

Поскольку мы говорим о системе 1С:Документооборот, основные дискуссии в части удобства интерфейса вызывает новейшая разработка – интерфейс «Такси». Это новая разработка с максимально дружественным интерфейсом. Новичкам он нравится. А опытные пользователи привыкли к старому варианту и не считают, что его надо было менять. Но создатели систем на платформе 1С:Предприятие учитывают опыт внедрения других решений и отзывы миллионов пользователей. Если не брать в расчет незначительные недостатки, можно сказать, что в "Такси" удобный и понятный интерфейс. Все формы были оптимизированы, а меню, команды и диалоговые окна расположены так, чтобы минимизировать пользовательские ошибки. А тот факт, что во всех программах 1С используется единый интерфейс, упрощает обучение и позволяет избежать многих ошибок.

Наиболее часто встречающейся ошибкой, которую пользователи допускают при работе в системе, является: Не завершено редактирование открытого ранее на изменение файла

Многие занимают файл для внесения каких-то изменений, а потом забывают завершить его редактирование. В итоге, он не помещается в специальное хранилище на сервере, и шрифт названия меняется на ярко-зеленый.


Если попытаться закрыть этот документ, появится окно с предупреждением. Система предложит сначала закончить редактирование файла.


Иногда документ остается занятым для редактирования из-за того, что во время работы пропало соединение с сервером. В этом случае, когда пользователь войдет в систему, он увидит на рабочем столе все файлы, которые были заняты им для редактирования.


Закончить редактирование или продолжить работу с занятыми документами можно прямо из окна виджета.

В программных продуктах 1С предусмотрены подобные ситуации. Система своевременно уведомляет пользователей об их ошибках, что позволяет свести их количество к минимуму. Чтобы обеспечить стабильную работу предприятия, руководству имеет смысл обеспечить обучение сотрудников, дать им возможность консультироваться с экспертами, предоставить актуальные и понятные инструкции. Работа с документами и системами автоматизации процессов должна подчиняться специально разработанному регламенту. Не надо забывать и о возможности контролировать исполнительскую дисциплину в самой системе.

Система имеет настройки, позволяющие исключить ошибки.

Настройка: протоколирование работы в системе

В Конфигураторе открыть меню «Администрирование», в выпадающем списке выбрать «Настройка журнала регистрации».


Откроется окно, где можно настроить события, которые будут протоколироваться в журнале.


Там же можно установить периоды разделения журнала. Система будет разбивать его на отдельные файлы, где перечислены события за заданный период времени (неделю, месяц или год). Это упрощает администрирование и хранение информации. В том же окне меняется формат данных журнала регистрации с текстового (по умолчанию) на легкий и современный SQLite.


Выбрав подходящие настройки, надо сохранить изменения. После этого все отмеченные события будут фиксироваться в журнале, и пользователь сможет быстро находить причину какой-либо ошибки.

Только надо учесть, что объем, который занимает на диске журнал регистрации, достаточно большой. Поэтому имеет смысл выделить для него специальное хранилище. В том же окне есть команда «Сократить». С ее помощью пользователь может переносить ранее зафиксированные события в архив или удалять те данные, которые уже не нужны.


Настройка: версионирование объектов

Продукты 1С сохраняют историю изменений, внесенных в информационную базу. Механизм позволяет узнать, какой пользователь и когда отредактировал тот или иной документ, какие изменения были сделаны. Чтобы настроить версионирование, надо зайти в «Общие настройки системы».



Выбрать пункт «Версионирование объектов».


Поставить галочку и перейти по ссылке «Настройки».


Там дается список всех объектов, для которых можно настроить версионирование. То есть, система будет не только фиксировать информацию об изменениях (кто и когда их внес). При необходимости пользователь сможет вернуться к более ранней версии документа.

Для каждого объекта устанавливается, когда следует создать новую версию и время ее хранения (важно знать, что это влияет на объем информационной базы). Для сохранения версий файлов настройки не нужны, это делается по умолчанию. Если для объекта установлен режим версионирования, пользователь сможет просматривать историю его изменений.


Можно не только просматривать все версии, но и сравнивать их между собой, выбирать, какую следует считать актуальной.

Возможности системы и четкое регламентирование всех бизнес-процессов позволяют избежать ошибок при работе в 1С:Документооборот.

Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.

Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.

Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.

Причины появления ошибки в 1С

Разберем основные моменты, связанные с частым появлением сбоев при работе с базой данных. Они возникают в разных ситуациях, и определить их истинную причину не всегда возможно.

Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.

Часто возникающие ошибки 1С

Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:

  1. Недостаточно памяти.
  2. Ошибка доступа.
  3. Ошибка формата потока.
  4. Ошибка СУБД: Файл базы данных поврежден.
  5. Неправильное отображение блоков формы.
  6. Внутренняя ошибка компоненты dbeng.
  7. Dump при запуске.
  8. Неверный формат хранилища.
  9. Ничего не работает.

Для того, чтобы научиться исправлять возникающие ошибки, рассмотрим каждый пункт по отдельности.

Недостаточно памяти

Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.

Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.

Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.

Ошибка доступа

Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.

Ошибка формата потока

Когда пользователь только запускает программу, на экране может появиться окно сбоя. Оно предлагает завершить работу или перезапустить. Причиной выступает некорректное завершение работы приложения.

Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.

Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.

Ошибка СУБД: Файл базы данных поврежден

Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:

  • Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
  • Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.

Неправильное отображение блоков формы

Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:

Если приведенные методы не помогают, рационально будет провести обновление платформы.

Внутренняя ошибка компоненты dbeng

Dump при запуске

Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».

На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.

Неверный формат хранилища

Ничего не работает

Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:

  • чистится кэш;
  • открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
  • выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
  • обновление «1С».

Если это не критичная ошибка, она должна исправляться при установке актуальной версии программного комплекса. В остальных ситуациях необходимо пользоваться помощью профессиональных мастеров, которые отлично понимают принцип подобных продуктов.


Первое что необходимо сделать — это проверить права на файлы и папки в нужном каталоге. Права на папку должны быть 755, на файлы 664. Ни в коем случае не выставляйте права 777 на папки или файлы, даже на время.

В моём случае этот метод не сработал, я стал копать дальше. Нашел такой совет. в файле /bitrix/php_interface/dbconn.php установить такие константы.

define( "BX_FILE_PERMISSIONS", 0660 );

define( "BX_DIR_PERMISSIONS", 0775 );

@ini_set( "memory_limit", "512M" );

Но этого не потребовалось, т.к. эти значения уже были заданы и по идее всё должно было работать. На одном из форумов посоветовали изменить права доступа и владельца к нужной категории через консоль. Но я посчитал, что если всё до этого работало, то не нужно так далеко залазить, проблема явно была в не в этом, для Вас приведу код в котором можно изменить права доступа к каталогам и файлам через консоль. Говорят может помочь.

find . -type d -exec chmod 775 < >\;

find . -type f -exec chmod 664 < >\;

В моём случае решение оказалось куда проще. Все сайты лежали в корневой директории, один из них являлся общим ядром. Но по какой-то причине прекратился общий доступ к «главному сайту» и всё что нужно было сделать — это открыть доступ.

Поскольку сайты на учётных записях закрыты процессы, запущенные на одном сайте, не имеют прав для обращения к каталогам, выходящим за пределы этого сайта. Для доступа из окружения веб-сервера потребуется открыть общий доступ к каталогу. Мой проект находится на beget и эта операция делается очень просто через файловый менеджер.

  1. Зайдите в нужную директорию
  2. В верхней части экрана нажмите на кнопку “Инструменты” -> “Настроить общий доступ к текущей директории”:
  3. Установите переключатели “Чтение и запись” и “Включая вложенные папки”, нажмите кнопку “Открыть доступ”:



Если представленные варианты не принесли желаемого результата, то пишите в комментарии, будет время, что-нибудь придумаем.

Читайте также: