1с вылетает при подключении к хранилищу
При работе с хранилищем конфигурации время от времени могут возникать ошибки, предупреждения, которые не всегда являются критичными, и легко устраняются. Но зачастую разработчики, особенно новые, с ошибками не знакомы, или путаются в них, поэтому решено было собрать все ошибки и способы их решения в одном месте.
Речь пойдет о файловом варианте работы с хранилищем.
1. Ошибка аутентификации в хранилище конфигурации
Самая понятная из возможных ошибок. Данная ошибка возникает при вводе неверного логина и пароля.
Изменить логин и пароль может пользователь с административными правами на вкладке "Пользователи" окна "Администрирование хранилища конфигурации"
2. Пользователь существующей связи отличается от текущего
Тут важно понимать принцип работы хранилища конфигурации. Хранилище используются для коллективной разработки, т.е. у каждого разработчика есть своя база для разработки, есть свой пользователь хранилища, и все под своими логинами подключаются в свои базы. На практике бывает, что существуют общие базы, например на сервере для тестирования, и если она подключается к хранилищу, для нее необходимо заводить также отдельный логин и заходить в нее под ним (для удобства, в качество логина общей серверной базы можно использовать имя самой базы). Девиз хранилища: на каждую базу свой логин в хранилище.
Данная ошибка возникает, когда текущая база уже подключена к хранилищу под каким-то логином, а вы пытаетесь ввести другой логин. Это может быть по разным причинам:
- вы зашли в общую базу и пытаетесь войти под своим логином хранилища. Необходимо выяснить логин этой конкретной базы, и заходить под ним, но не переподключать под своим. Посмотреть, под каким логином подключена каждая база может пользователь с административными правами в хранилище, на вкладке "Подключения" окна "Администрирование хранилища конфигурации"
- вы развернули базу, которая уже была подключена к хранилищу. Необходимо отключить конфигурацию от хранилища и подключить заново.
3. Пользователь уже аутентифицирован в хранилище
Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. И с ней работают под этим логином в данный момент.
При такой ошибке вы не сможете подключиться под введенным логином. Необходимо подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.
4. Для данного пользователя уже имеется конфигурация связанная с данным хранилищем конфигурации
Предупреждение похоже на ошибку из предыдущего пункта, но есть небольшое отличие.
Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. Но с ней не работают под этим логином в данный момент.
Предупреждение позволяет подключиться под введенным логином, но нужно понимать последствия. Если вы подключитесь под эти логином, то у другого пользователя рано или поздно возникнет ошибка из предыдущего пункта или аналогичное предупреждение. Рекомендую подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.
5. При получении данных из хранилища или захвате объекта: Не удалось зафиксировать таблицу для чтения "Versions"
Данная ошибка возникает, когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.
Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.
6. При подключении к хранилищу: Не удалось зафиксировать таблицу для чтения "Users"
Данная ошибка может возникать:
- когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.
Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.
- когда в этот самый момент другой пользователь помещает большой объем данных в хранилище
Необходимо подождать, пока другой пользователь закончит помещение объектов в хранилище.
7. Файл не является файлом базы данных
Ошибка соединения с хранилищем конфигурации по адресу:
\\Server\Repository\project1
по причине:
Файл не является файлом базы данных '//Server/Repository/project1/1cv8ddb.1CD'
Данная ошибка может возникать при подключении к хранилищу:
- если есть зависший фоновый процесс к этой базе.
Необходимо зайти в диспетчер задач и принудительно снять зависший фоновый процесс, после этого повторно попробовать подключиться к хранилищу. Если база серверная, то этот процесс может быть зависшим у кого-то, кто работал с базой ранее. Необходимо найти, кто последний работал и попросить почистить у себя в диспетчере зависший процесс.
- если есть зависший сеанс другой базы, подключенной к этому хранилищу на этом компьютере
Так бывает, что одновременно приходится работать с разными базами в одном хранилище. Если про одну базу надолго забыть, и в ней будет появляться ошибка №5, то другую базу с этим хранилищем вы открыть не сможете. Необходимо завершить "забытые" сеансы.
8. Файл базы данных поврежден.
Ошибка соединения с хранилищем конфигурации по адресу:
\\Server\Repository\project1
по причине:
Файл базы данных поврежден '\\Server\Repository\project1\//1cv8ddb.1CD'
Данная ошибка может возникать:
- когда разработчики, подключенные к одному хранилищу, работают на разных версиях платформы и один из них поместил что-то из новой версии платформы.
- когда файл базы данных был действительно поврежден (отключение электричества, скачки напряжения и т.п.)
1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу
2. Почистить кэш хранилища
3. Одному запустить конфигуратор от имени администратора
4. Подключиться к хранилищу
Если указанные действия не помогли, можно воспользоваться утилитой chdbfl.exe, но в моей памяти мне она ни разу не помогла и единственным выходом было создание хранилища с нуля.
9. Неклассифицированная ошибка работы с хранилищем конфигурации
Данная ошибка может возникать, когда к хранилищу подключаются разными версиями платформы. Например: 8.3.10.2667 и 8.3.12.1529
1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу
2. Очистить глобальный кэш хранилища
3. Синхронизировать версии платформ.
10. Ошибка "База данных не открыта"
Данная ошибка может возникать при подключении к хранилищу:
- если есть зависший фоновый процесс к этой базе;
- если есть зависшие блокировочные файлы в каталоге хранилища.
1. Если причина в зависших фоновых процессах на локальном компьютере, то лечение как в п.7.
2. Если п.7 не помог, то необходимо всем закрыть конфигураторы, зайти в каталог хранилища, и удалить блокировочные файлы размером 0 байт.
11. Ошибка "Ошибка совместного доступа к хранилищу конфигурации"
При получении данных из хранилища возникает ошибка:
---- Начало операции с хранилищем конфигурации ----
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Повтор попытки получения объектов из хранилища конфигурации
Ошибка совместного доступа к хранилищу конфигурации:
\\Server\Repository\project1
Не удалось заблокировать таблицу 'OBJECTS'
---- Операция с хранилищем конфигурации отменена ----
Данная ошибка может возникать при получении данных из хранилища:
- если в этот момент с другого компьютера запущен процесс оптимизации хранилища;
1. Дождаться окончания оптимизации хранилища
2. Повторно запросить получение данных из хранилища.
Это, конечно, не весь список ошибок, который может возникать при работе с хранилищем. Я привёл те ошибки, с которыми я лично не раз сталкивался и решал указанными мной способами. Если у вас есть ошибка, которая не описана, и вы знаете способ ее решения, пишите в комментарий, я с удовольствием добавлю информацию в общую статью.
При работе с хранилищем конфигурации время от времени могут возникать ошибки, предупреждения, которые не всегда являются критичными, и легко устраняются. Но зачастую разработчики, особенно новые, с ошибками не знакомы, или путаются в них, поэтому решено было собрать все ошибки и способы их решения в одном месте.
Речь пойдет о файловом варианте работы с хранилищем.
1. Ошибка аутентификации в хранилище конфигурации
Самая понятная из возможных ошибок. Данная ошибка возникает при вводе неверного логина и пароля.
Изменить логин и пароль может пользователь с административными правами на вкладке "Пользователи" окна "Администрирование хранилища конфигурации"
2. Пользователь существующей связи отличается от текущего
Тут важно понимать принцип работы хранилища конфигурации. Хранилище используются для коллективной разработки, т.е. у каждого разработчика есть своя база для разработки, есть свой пользователь хранилища, и все под своими логинами подключаются в свои базы. На практике бывает, что существуют общие базы, например на сервере для тестирования, и если она подключается к хранилищу, для нее необходимо заводить также отдельный логин и заходить в нее под ним (для удобства, в качество логина общей серверной базы можно использовать имя самой базы). Девиз хранилища: на каждую базу свой логин в хранилище.
Данная ошибка возникает, когда текущая база уже подключена к хранилищу под каким-то логином, а вы пытаетесь ввести другой логин. Это может быть по разным причинам:
- вы зашли в общую базу и пытаетесь войти под своим логином хранилища. Необходимо выяснить логин этой конкретной базы, и заходить под ним, но не переподключать под своим. Посмотреть, под каким логином подключена каждая база может пользователь с административными правами в хранилище, на вкладке "Подключения" окна "Администрирование хранилища конфигурации"
- вы развернули базу, которая уже была подключена к хранилищу. Необходимо отключить конфигурацию от хранилища и подключить заново.
3. Пользователь уже аутентифицирован в хранилище
Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. И с ней работают под этим логином в данный момент.
При такой ошибке вы не сможете подключиться под введенным логином. Необходимо подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.
4. Для данного пользователя уже имеется конфигурация связанная с данным хранилищем конфигурации
Предупреждение похоже на ошибку из предыдущего пункта, но есть небольшое отличие.
Данная ошибка возникает, когда любая другая база уже подключена к хранилищу под логином, который вы вводите в текущей базе. Но с ней не работают под этим логином в данный момент.
Предупреждение позволяет подключиться под введенным логином, но нужно понимать последствия. Если вы подключитесь под эти логином, то у другого пользователя рано или поздно возникнет ошибка из предыдущего пункта или аналогичное предупреждение. Рекомендую подключиться в хранилище под другим логином, либо найти того, кто подключился в другой базе под этим логином и договориться о том, кто использует этот логин.
5. При получении данных из хранилища или захвате объекта: Не удалось зафиксировать таблицу для чтения "Versions"
Данная ошибка возникает, когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.
Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.
6. При подключении к хранилищу: Не удалось зафиксировать таблицу для чтения "Users"
Данная ошибка может возникать:
- когда вы уже длительное время подключены к хранилищу и за период работы были разрывы соединения.
Чтобы избавиться от ошибки, необходимо закрыть конфигуратор и зайти заново.
- когда в этот самый момент другой пользователь помещает большой объем данных в хранилище
Необходимо подождать, пока другой пользователь закончит помещение объектов в хранилище.
7. Файл не является файлом базы данных
Ошибка соединения с хранилищем конфигурации по адресу:
\ServerRepositoryproject1
по причине:
Файл не является файлом базы данных ‘//Server/Repository/project1/1cv8ddb.1CD’
Данная ошибка может возникать при подключении к хранилищу:
- если есть зависший фоновый процесс к этой базе.
Необходимо зайти в диспетчер задач и принудительно снять зависший фоновый процесс, после этого повторно попробовать подключиться к хранилищу. Если база серверная, то этот процесс может быть зависшим у кого-то, кто работал с базой ранее. Необходимо найти, кто последний работал и попросить почистить у себя в диспетчере зависший процесс.
- если есть зависший сеанс другой базы, подключенной к этому хранилищу на этом компьютере
Так бывает, что одновременно приходится работать с разными базами в одном хранилище. Если про одну базу надолго забыть, и в ней будет появляться ошибка №5, то другую базу с этим хранилищем вы открыть не сможете. Необходимо завершить "забытые" сеансы.
8. Файл базы данных поврежден.
Ошибка соединения с хранилищем конфигурации по адресу:
\ServerRepositoryproject1
по причине:
Файл базы данных поврежден ‘\ServerRepositoryproject1//1cv8ddb.1CD’
Данная ошибка может возникать:
- когда разработчики, подключенные к одному хранилищу, работают на разных версиях платформы и один из них поместил что-то из новой версии платформы.
- когда файл базы данных был действительно поврежден (отключение электричества, скачки напряжения и т.п.)
1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу
2. Почистить кэш хранилища
3. Одному запустить конфигуратор от имени администратора
4. Подключиться к хранилищу
Если указанные действия не помогли, можно воспользоваться утилитой chdbfl.exe, но в моей памяти мне она ни разу не помогла и единственным выходом было создание хранилища с нуля.
9. Неклассифицированная ошибка работы с хранилищем конфигурации
Данная ошибка может возникать, когда к хранилищу подключаются разными версиями платформы. Например: 8.3.10.2667 и 8.3.12.1529
1. Всем разработчикам закрыть все конфигураторы, подключенные к хранилищу
2. Очистить глобальный кэш хранилища
3. Синхронизировать версии платформ.
Это, конечно, не весь список ошибок, который может возникать при работе с хранилищем. Я привёл те ошибки, с которыми я лично не раз сталкивался и решал указанными мной способами. Если у вас есть ошибка, которая не описана, и вы знаете способ ее решения, пишите в комментарий, я с удовольствием добавлю информацию в общую статью.
При работе с хранилищем конфигурации иногда возникает проблема долгого захвата/помещения объектов — любая даже самая маленькая операция захвата/помещения объекта выполняется десятки секунд. Переподключение к хранилищу не помогает. Очистка кэша версий конфигурации хранилища на сервере не помогает. Очистка локального кэша версий конфигурации не помогает. Через интерфейс конфигуратора 8.3.15 я нашел возможность очистки только этих кэшей. Но в пакетном запуске конфигуратора еще есть возможность очистки локальной базы данных хранилища — ConfigurationRepositoryClearCache. Пример такой команды
1cv8 DESIGNER /S myservermybase /ConfigurationRepositoryF tcp://repserver/repbase /ConfigurationRepositoryN myname /ConfigurationRepositoryP mypass /ConfigurationRepositoryClearCache
Именно эта очистка решила проблему в моем случае. Однако формировать корректную строку пакетного запуска с таким параметром непросто.
Вот более простой способ очистки локальной базы данных хранилища
Related Posts
11 Comments
А в каких условиях это работает? У меня все каталоги cfgrepo, найденные в подкаталогах C:UsersAppDataLocal1C1Cv8 пусты.
(1) Назначение БД в папке cfgrepo по всей видимости в том, что она хранит локальную информацию о том, кем захвачен каждый объект метаданных. Если она пуста, то все должно работать быстро.
(2) Каталоги пусты, но не всегда работает быстро, иногда просто считывает по 3-4 минуты. А иногда захват происходит моментально.
Каталоги пусты, но не всегда работает быстро, иногда просто считывает по 3-4 минуты. А иногда захват происходит моментально.
В статье я описал решение проблемы, когда каждая операция выполняется долго. Не нужно проверять все каталоги. Нужно проверять только от конкретной базы.
Постоянно сталкиваюсь с этой ситуацией при подключению к хранилищу.
Выяснил: если подключиться к хранилищу, и остаться в конфигурации, хранилище будет тормозить и жестко.
Подключиться и перезапустить программу все работает гут.
У меня это четкая закономерность.
(5) Ничего не понял. Когда открываете конфигуратор выдается запрос на ввод логина и пароля для подключения к хранилищу. Вводите, затем, закрываете конфигуратор, открываете заново и больше ничего не вводите?
(5) Тоже так срабатывает. При первом подключении базы к хранилищу закрываю, открываю и всё работает ок.
Но все равно иногда тормоза бывают.
(8) Эта кнопка касается только серверной БД хранилища. В статье же речь про локальную БД хранилища.
Добавил в статью еще один способ открыть каталог кэшей базы.
Спасибо за информацию, но мне не помогло. Взаимодействие с хранилищем происходит очень медленно.
(5) Не понял. Каждый раз отключатся и подключатся когда появляются тормоза? Да это же умереть можно, это очень долгий процесс.
Все из нас когда-нибудь сталкивались с подобными сбоями платформы. Кто-то чаще, кто-то реже. Решений тоже уйма от простой чистки кэша и переустановки платформы, до изменений политик и правки глубин реестра. Все уже давно описано и поисковик выдает рецепты счастливой жизни без записей в dump.
Сомневаюсь, что моя ситуация уникальна, но найти что-то похожее не удалось. Поэтому изложу свой опыт в надежде, что кому-то он сэкономит время и нервы.
На рабочий компьютер был установлен свежий Windows 10 Pro Версия 1803 (Сборка ОС 17134.345) и платформа (8.3.12.1595).
Платформа работала нестабильно и периодически выпадала в ошибку наподобие этой
Чаще вылетало даже не предприятие, а конфигуратор, когда помещаешь что-то в хранилище. Перезапуск не помогал. После очистки кэша все становилось нормальным, но проблема снова возвращалась.
Ок. Открываем "Панель управленияСистема и безопасностьАдминистрированиеПросмотр событий". Далее смотрим ветку "Журналы WindowsПриложение" и фильтруем по ошибкам. Видим следующую картину
Смотрим имя сбойного модуля и его расположение. Далее идем по этому пути разбираться
Оказывается это компонента MS Visual Studio 2015 (Visual C++). Идем на официальный сайт, выкачиваем и ставим более свежую версию.
После установки идем в System32 и копируем нашу dll. Далее заменяем в папке с платформой 1С.
1C приняла библиотеку как родную и на данный момент сбои прекратились. Если что-то изменится, то дополню статью.
Работа с хранилищем конфигурации
В 1с версии 7.7 совместная разработка или доработка конфигурации была настоящим мучением. Для того чтобы поддерживать одну конфигурацию даже вдвоем, приходилось делать две копии актуальной базы, затем, после внесенных изменений вручную переносить изменения из конфигурации одной копии в конфигурацию другой. Только потом можно было обновить основную поддерживаемую конфигурацию! Усугубляло положение отсутствие подсистем.
В восьмой версии 1с для совместной разработки используется хранилище конфигурации. Работа с хранилищем происходит следующим образом:
Выбираем в меню "Конфигурация"->"Хранилище конфигурации"->"Создать хранилище. "
Указываем путь к каталогу хранилища. (Каталог должен быть доступен для всех разработчиков!)
После того как хранилище создано, заходим в пункт меню "Конфигурация"->"Хранилище конфигурации"->"Администрирование" для того чтобы создать пользователей для разработчиков
. и создаем пользователей
- Подключаем конфигурации разработчиков к хранилищу конфигурации
выбираем пункт меню "Конфигурация"->"Хранилище конфигурации"->"Подключиться к хранилищу. "
Далее конфигуратор нас спросит
Так как у нас с вами копии основной базы пока идентичны, смело нажимаем кнопку "Да" и указываем путь к хранилищу, имя пользователя и пароль
Ждём, пока произойдет сравнение конфигурации с хранилищем.
Если всё прошло успешно, то справа от объектов конфигурации в дереве объектов должна появиться пиктограммка замка.
По умолчанию все объекты конфигурации имеют пиктограммку "замок". Для того чтобы изменить объект конфигурации нужно его захватить, то есть выбрать в контекстном меню объекта пункт "Захватить в хранилище"
указать настройки захвата
У объекта в дереве конфигурации появится пиктограмма
Если объект захвачен другим разработчиком, то объект в дереве конфигурации выглядит так
После того, как нужные изменения внесены, следует объект поместить снова в хранилище со сделанными изменениями. Выбираем в контекстном меню объекта конфигурайции пункт "Поместить в хранилище. "
- Если требуется отменить сделанные изменения и освободить объект от захвата, то выбираем в контекстном меню объекта пункт "Отменить захват"
- Если требуется восстановить объект из хранилища, то то выбираем в контекстном меню объекта пункт "Получить из хранилища. ". При этом внесенные изменения в то время, как объект был захвачен, теряются.
- Так же можно просмотреть историю версий и сравнить захваченный и измененный объект с объектом в хранилище.
- После того, как работа в копиях завершена(или завершен какой-то промежуточный этап), можно обновить конфигурацию основной базы для этого нужно выбрать пункт в меню "Конфигурация"->"Хранилище конфигурации"->"Обновить конфигурацию из хранилища" или "Конфигурация"->"Хранилище конфигурации"->"Сравнить/объединить конфигурацию с хранилищем".
Во втором случае произойдет более "мягкое" обновление конфигурации, то есть, можно будет посмотреть отчет по различиям объектов исходной конфигурации и хранилища.
Приятной вам разработки!
Каждая из типовых конфигураций 1С имеет свою собственную внутреннюю структуру и требует точных знаний особенностей настройки системы.
Для настройки 1С 8 заказчик составляет перечень требований, куда входят необходимые ему функции и наборы инструментов.
1Скрипт-менеджер
Выгрузка и загрузка данных. 1С7.7
Конфигурация IT-сервис.(Управляемое приложение)
Читайте также: