Ошибки при работе с хранилищем конфигурации и способы их решения

Публикация № 1013337

Разработка - Практика программирования

Хранилище конфигурации разработка repository коллективная захват помещение подключение поврежден ошибки Versions Users Неклассифицированная Ошибка соединения хранилищем зафиксировать

85
В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

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

Речь пойдет о файловом варианте работы с хранилищем.

 

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. Синхронизировать версии платформ.

 

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

85

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. user716065 7 02.03.19 08:41 Сейчас в теме
По п.4 - ошибка может появляться также: когда вы для себя разворачиваете копию в базу с которой до этого работали (типа актуализация базы данных). Решение: отключиться от хранилища и снова подключиться к хранилищу под тем же самым логином и паролем.
2. user716065 7 02.03.19 08:43 Сейчас в теме
Ай плохо прочитал: решение вами описано в п.3
3. kuzyara 785 04.03.19 04:31 Сейчас в теме
И самое больное: если вы пришли с утра и на операцию с хранилищем 1с зависает на >10секунд, то значит ночью падала сеть и см. п.7.
4. Артано 658 04.03.19 10:43 Сейчас в теме
п. 8. Файл базы данных поврежден. Может воспроизводиться при проблемах с соединением. Проверить сеть. Перезайти в конфигуратор
5. info1i 33 05.03.19 01:16 Сейчас в теме
Не раз бывало, что пропадали отдельные куски кода, целые разработки из истории хранилища после, примерно, месяца-двух работы. Только не надо про кэш и т.п... Пришлось настроить в планировщике ежедневную архивацию папки с хранилищем.
ZUL_MTFKA; +1 Ответить
6. Xershi 698 05.03.19 01:19 Сейчас в теме
(5) скорее всего работали не один и с хранилищем не умеете работать!
7. info1i 33 05.03.19 01:32 Сейчас в теме
(6) Я же просил, не надо т.п... :) Так бывало, бывало не раз, не у меня одного; код пропадает не последний, а где-то из середины истории; возможно, платформа, но опыт теперь заставляет архивировать.
8. info1i 33 05.03.19 01:38 Сейчас в теме
(7) Добавлю: окончательно в столь редком баге убедился, когда распаковал архивную папку и нашел в ней пропавшую разработку, примерно коммитов 4-7 назад перед последним.
12. wizard.ilmir02 96 06.03.19 18:57 Сейчас в теме
(8) Данная проблема возникает если захватывать и изменять объект метаданных в рабочей базе, накатывая изменения динамическим обновлением. После этого при помещение в хранилище будет помещаться не реальные изменения в конфигураторе, а кеш самого старого активного пользователя в базе.
zqzq; Rego1337h; Boyborodin; AntonSm; +4 Ответить
9. Xershi 698 05.03.19 09:07 Сейчас в теме
(7) да пропадает именно не последний. И такие горе разработчики удивляются как так. А все потому что криво работают...
10. info1i 33 05.03.19 09:10 Сейчас в теме
(9) Пожалуйста, вместо слова "криво работают" лучше напишите, в каких случаях такую ситуацию можно воспроизвести - это будет более конструктивно и по теме статью, полезнее.
16. rudnitskij 11.03.19 15:35 Сейчас в теме
(10) Работаю с несколькими базами на разных серверах, описанную вами проблему наблюдаю только на одной. Причем с периодичностью раз в два-три месяца
11. vasilev2015 1387 06.03.19 08:48 Сейчас в теме
(9)
Куски кода при работе с хранилищем могут теряться из-за проблем с локальным кэшем конфигурации, когда база разработчика вообще теряет связь с действительностью.
Давайте украшать (полит)корректностью и конструктивизмом каждый комментарий ))).
13. Xershi 698 07.03.19 00:15 Сейчас в теме
(11) да. Это основная проблема когда делают все правильно.
Но есть другая, когда вместо получить жмут захватить. А потом удивляются что хранилище не так работает!
14. kansler 09.03.19 19:03 Сейчас в теме
решение для п.3. Если все выйдут из конфигураторов, подключенных к хранилищу, то потом снова можно зайти под своим логином. Т.е. эта проблема возникает совсем не обязательно из-за того, что под твоим логином кто-то другой зашел.
15. sergey_garin 11.03.19 09:45 Сейчас в теме
Бывает такое:
«Неклассифицированная ошибка работы с хранилищем конфигурации»

Может возникать, когда к хранилищу подключаются разными версиями платформы. Например: 8.3.10.2667 и 8.3.12.1529
Решение: очистить глобальный кэш хранилища и синхронизировать версии платформ.
Прикрепленные файлы:
Смешной 1С; +1 Ответить
17. user1162192 24.04.19 13:27 Сейчас в теме
18. gubanoff 46 17.06.19 11:56 Сейчас в теме
(0) для решения проблемы 7) с зависшими подключениями у себя сделали следующее:
- вынесли хранилище в отдельную виртуалку
- настроили ночную перезагрузку виртуалки, чтобы закрывались соединения
- после загрузки добавили скрипт, который удаляет все временные файлы из каталога хранилища.
Оставьте свое сообщение