Добрый день! Сегодня в тестовой базе доделала свои доработки, сохранила cf-ник, никаких проблем или чего-то необычного замечено не было. Обновили тестовую базу до актуального релиза, попробовала «Сравнить, объединить с конфигурацией из файла» — вылетела ошибка Неклассифицированная ошибка документа. по причине: Ошибка при выполнении файловой операции ‘\путь к кф-нику27-08-2013.cf’ по причине: Не помогло: чистка кэша, попытки просто открыть эту конфигурацию, перемещение кф-ника на локальный компьютер. Собственно, я больше не знаю, что с ним можно сделать Подскажите, пожалуйста, кто сталкивался
Релизы платформы для тестовой и рабочей базы какие?
1С:Предприятие 8.2 (8.2.18.61) Уже попробовала объединить с чистой конфигурацией — те же результаты
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
В процессе работы с хранилищем конфигурации разработчики иногда сталкиваются с неклассифицированной ошибкой, которая может замедлить или полностью остановить процесс разработки. Эта ошибка может быть вызвана различными факторами, включая неправильные настройки хранилища, ошибки в коде приложения или проблемы с доступом к базе данных конфигурации.
Одним из первых шагов в решении этой проблемы является анализ сообщений об ошибках, которые генерирует хранилище конфигурации. Часто эти сообщения содержат информацию о причине ошибки, что позволяет быстрее определить проблему и предложить соответствующее решение. Если сообщение об ошибке недостаточно четкое, можно использовать метод трассировки стека или отладки для получения дополнительной информации.
Еще одним полезным советом является проверка настроек хранилища конфигурации. Проверьте, что указаны правильные параметры подключения к базе данных, а также убедитесь, что соединение с базой данных установлено и функционирует корректно. Если параметры настройки уже были проверены, попробуйте изменить параметры подключения и повторите попытку. Иногда проблему можно решить путем обновления или переустановки хранилища конфигурации.
Также стоит обратить внимание на код приложения, работающего с хранилищем конфигурации. Возможно, в коде есть ошибки или неточности, которые могут вызывать неклассифицированную ошибку. Проверьте код приложения на предмет синтаксических ошибок, опечаток или неправильного использования API хранилища конфигурации.
И наконец, в некоторых случаях, проблема с хранилищем конфигурации может быть вызвана проблемами с доступом к базе данных. Убедитесь, что ваше приложение имеет необходимые права доступа к базе данных и может выполнять операции чтения и записи. Если необходимо, обратитесь к администратору базы данных или разработчику, чтобы получить подробную информацию о правах доступа и настройках безопасности.
Содержание
- Неклассифицированная ошибка работы с хранилищем конфигурации: переживания и решение проблемы
- Ошибка неклассифицированного типа при работе с хранилищем конфигурации
- Причины возникновения неклассифицированной ошибки
- Советы и рекомендации по исправлению неклассифицированной ошибки
- Профессиональная помощь при работе с хранилищем конфигурации и неклассифицированными ошибками
- 1. Обратитесь к разработчику или технической поддержке
- 2. Поиск сообществ и форумов
- 3. Нанять консультанта или специалиста
- 4. Изучить документацию и материалы
Неклассифицированная ошибка работы с хранилищем конфигурации: переживания и решение проблемы
Работа с хранилищем конфигурации может иногда вызывать различные ошибки, включая неклассифицированную ошибку. Такая ошибка может быть довольно распространенной и может вызывать неудовольствие и разочарование у разработчиков.
Когда возникает неклассифицированная ошибка, первое, что нужно сделать, это не паниковать. Ошибки могут возникать по разным причинам, и в большинстве случаев они могут быть решены путем исследования и применения правильных методов отладки.
Вот некоторые рекомендации по исправлению неклассифицированной ошибки работы с хранилищем конфигурации:
- Проверьте права доступа к хранилищу конфигурации. Убедитесь, что у вас есть достаточные права для доступа к файлам и папкам хранилища. Иногда ошибка может быть вызвана неправильными правами доступа.
- Проверьте правильность параметров подключения. Убедитесь, что вы указали правильные параметры подключения к хранилищу конфигурации, такие как адрес, порт, имя пользователя и пароль.
- Проверьте наличие обновлений. Иногда неклассифицированная ошибка может быть вызвана устаревшей версией хранилища или клиентского приложения. Убедитесь, что у вас установлена последняя версия и, если нет, обновите ее.
- Проверьте целостность хранилища конфигурации. Используйте инструменты проверки целостности, предоставленные вашим хранилищем конфигурации, чтобы убедиться, что файлы и данные не повреждены. Если обнаружены ошибки, попробуйте восстановить хранилище из резервной копии.
- Проверьте журналы ошибок. Прочтите журналы ошибок, которые создаются вашим хранилищем конфигурации, чтобы найти подробную информацию о проблеме. Это может помочь вам понять причину возникновения ошибки и устранить ее.
Не стесняйтесь обращаться за помощью к разработчикам или участвовать в соответствующих форумах или группах для получения советов и рекомендаций по исправлению неклассифицированной ошибки работы с хранилищем конфигурации. Возможно, кто-то уже сталкивался с такой же проблемой или может предложить свои наработки и опыт.
Время | Сообщение |
---|---|
10:30 | Неклассифицированная ошибка: не удалось установить соединение с сервером хранилища. |
10:31 | Перезагрузите сервер хранилища и попробуйте снова. |
Исправление неклассифицированной ошибки может потребовать времени и терпения. Однако следуя рекомендациям, применяя методы отладки и используя доступные ресурсы, вы сможете решить эту проблему и продолжить работу с хранилищем конфигурации.
Ошибка неклассифицированного типа при работе с хранилищем конфигурации
При работе с хранилищем конфигурации, таким как Git или SVN, могут возникать различные ошибки, включая ошибку неклассифицированного типа. Эта ошибка может возникнуть по разным причинам и может привести к проблемам с сохранением и получением конфигурационных файлов.
Ошибки неклассифицированного типа обычно возникают, когда происходит конфликт между локальными изменениями и изменениями в хранилище. Это может быть вызвано неправильным слиянием веток или некорректным обновлением репозитория.
Чтобы исправить ошибку неклассифицированного типа при работе с хранилищем конфигурации, следуйте следующим рекомендациям:
- Обновите хранилище: перед началом работы убедитесь, что у вас установлена последняя версия хранилища конфигурации. Установите все обновления и исправления, которые могут решить проблему.
- Проверьте правильность конфигурации: убедитесь, что все файлы конфигурации корректно настроены и следуют требуемым форматам и структурам. Проверьте наличие ошибок в синтаксисе и опечаток.
- Разберитесь с конфликтами слияния: если ошибка возникла из-за конфликта слияния, используйте инструменты хранилища конфигурации для разрешения конфликта. Обычно это включает в себя слияние изменений или выбор версии файла.
- Создайте резервную копию: перед внесением изменений рекомендуется создать резервную копию текущей рабочей копии. Это поможет избежать потери данных в случае, если что-то пойдет не так.
- Обратитесь к разработчикам: если ни одно из вышеперечисленных решений не помогло, обратитесь к разработчикам хранилища конфигурации. Они могут предоставить дополнительную помощь и рекомендации по исправлению ошибки.
В целом, ошибка неклассифицированного типа при работе с хранилищем конфигурации является типичной проблемой, которая может быть решена путем следования указанным выше рекомендациям. Важно проводить регулярное обслуживание и контролировать состояние хранилища конфигурации, чтобы избежать появления подобных проблем.
Причины возникновения неклассифицированной ошибки
Неклассифицированная ошибка в работе с хранилищем конфигурации может возникнуть по нескольким причинам:
- Ошибки в коде: неисправность в синтаксисе или ошибки в логике программы.
- Несоответствие версий: использование несовместимых версий компонентов или библиотек.
- Проблемы с правами доступа: отсутствие необходимых прав доступа к файлам или директориям.
- Ошибка в настройках конфигурации: неправильно указанные параметры или некорректные значения.
- Проблемы с сетью: потеря связи с хранилищем или недостаточная пропускная способность.
- Конфликт ресурсов: одновременный доступ к одному и тому же ресурсу со стороны нескольких приложений.
- Недостаток ресурсов: нехватка памяти, дискового пространства или процессорной мощности.
В случае возникновения неклассифицированной ошибки, необходимо провести тщательный анализ кода и окружения, чтобы идентифицировать возможные причины. Также стоит обратиться к документации и сообществу разработчиков, чтобы получить дополнительную помощь и рекомендации.
Важно помнить, что неклассифицированная ошибка может быть вызвана различными факторами, поэтому глубокое исследование проблемы и его решение могут потребовать время и ресурсы.
Советы и рекомендации по исправлению неклассифицированной ошибки
Неклассифицированная ошибка работы с хранилищем конфигурации может быть вызвана различными причинами и требует внимательного и систематического подхода к исправлению. Вот несколько полезных советов и рекомендаций, которые помогут вам решить данную проблему:
- Проверьте правильность подключения к хранилищу конфигурации: убедитесь, что вы используете правильные данные для подключения к хранилищу. Проверьте имя пользователя, пароль, адрес сервера и другие параметры.
- Проверьте доступность хранилища: убедитесь, что сервер хранилища доступен и отвечает. Проверьте сетевое подключение и наличие каких-либо ограничений, таких как файрволлы или прокси-серверы.
- Проверьте целостность файлов хранилища: убедитесь, что файлы хранилища не повреждены. Проверьте наличие ошибок чтения или записи в файлы, а также целостность самого хранилища.
- Обновите версию хранилища: если у вас установлена устаревшая версия хранилища, попробуйте обновить его до последней доступной версии. Новая версия может содержать исправления ошибок, которые могут быть связаны с неклассифицированной ошибкой.
- Проверьте логи и журналы ошибок: изучите логи и журналы ошибок хранилища для поиска дополнительной информации о проблеме. В них может быть указана конкретная причина ошибки или другая полезная информация для дальнейшего решения проблемы.
- Обратитесь за поддержкой: если все вышеперечисленные советы не помогли вам решить проблему, обратитесь за поддержкой. Разработчики или специалисты по хранилищам конфигурации могут предложить дополнительную помощь и рекомендации.
Будьте внимательны и методичны при поиске и исправлении неклассифицированной ошибки. Следуйте указанным советам и рекомендациям, а также не стесняйтесь обратиться за помощью, если у вас возникают затруднения.
Профессиональная помощь при работе с хранилищем конфигурации и неклассифицированными ошибками
Работа с хранилищем конфигурации может быть сложной и требовать определенного опыта и знаний. Если вы столкнулись с неклассифицированной ошибкой при работе с хранилищем конфигурации, вам может потребоваться профессиональная помощь. Ниже представлены рекомендации, которые помогут вам найти и обратиться к квалифицированному специалисту.
1. Обратитесь к разработчику или технической поддержке
Если вы работаете с конкретным хранилищем конфигурации, вы можете обратиться к его разработчику или официальной технической поддержке. Они могут предоставить вам подробные инструкции по устранению ошибки и помочь с отладкой вашего кода.
2. Поиск сообществ и форумов
Существует множество сообществ и форумов, где вы можете обратиться за помощью. Пользователи в таких сообществах часто обмениваются опытом и знаниями, и вы можете найти ответ на свой вопрос или помощь от опытных специалистов. Популярные площадки, такие как Stack Overflow, GitHub или Reddit, могут быть отличным источником информации.
3. Нанять консультанта или специалиста
В случае, если проблема сложная или требует квалифицированной помощи, вы можете рассмотреть возможность нанять консультанта или специалиста. Они смогут проанализировать вашу конфигурацию, определить и исправить ошибку, а также предоставить советы по оптимизации вашего процесса работы с хранилищем конфигурации.
4. Изучить документацию и материалы
Изучение документации и соответствующих материалов является необходимым шагом для разработчика, работающего с хранилищем конфигурации. Проверьте официальную документацию хранилища конфигурации, блоги разработчиков, видеоуроки и другие обучающие материалы. Возможно, вы найдете решение своей проблемы или получите идеи, которые помогут вам дальше.
Помните, что работа с хранилищем конфигурации и устранение неклассифицированных ошибок требует терпения и настойчивости. Не стесняйтесь обращаться за профессиональной помощью, чтобы сохранить эффективность и стабильность работы вашего приложения.
Ниже приведены некоторые нечастые ошибки, с которыми нам пришлось столкнуться, и способы как мы их решали.
Неожиданная ошибка в работе архиватора: some_file.zip — C:\Users\user1c\AppData\Local\Temp\some_file.zip».
Платформа | 8.3.21.1622 (x64), серверная |
Период | Апрель 2023 |
Причина | Неизвестна |
Дополнительно | Пример кода, который падает по ошибке:
&НаСервере Процедура Команда1НаСервере() ВремФайл = ПолучитьИмяВременногоФайла("zip"); ЗаписьЗИП = Новый ЗаписьZipФайла(ВремФайл); ЗаписьЗИП.Добавить("<имя-файла-на-сервере>"); ЗаписьЗИП.Записать(); ЧтениеЗИП = Новый ЧтениеZipФайла(ВремФайл); ЧтениеЗИП.ИзвлечьВсе("<имя-каталога-на-сервере>"); |
Решение | Перезапуск сервера приложений/кластера (рестарт сервиса ragent.exe) |
Неклассифицированная ошибка работы с хранилищем конфигурации. По причине: Ошибочный порядок записи XML.
Платформа | 8.3.21.1622 (x64), серверная |
Период | Март 2023 |
Причина | Недостаточно места на диске, где расположено хранилище и/или каталог временных файлов. |
Дополнительно | Ошибка возникала при попытке подключить тестовую базу к существующему хранилищу конфигурации. |
Решение | Освободить место на диске, где расположено хранилище и/или каталог временных файлов. |
В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.
При работе с хранилищем конфигурации время от времени могут возникать ошибки, предупреждения, которые не всегда являются критичными, и легко устраняются. Но зачастую разработчики, особенно новые, с ошибками не знакомы, или путаются в них, поэтому решено было собрать все ошибки и способы их решения в одном месте.
Речь пойдет о файловом варианте работы с хранилищем.
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. Синхронизировать версии платформ.
Это, конечно, не весь список ошибок, который может возникать при работе с хранилищем. Я привёл те ошибки, с которыми я лично не раз сталкивался и решал указанными мной способами. Если у вас есть ошибка, которая не описана, и вы знаете способ ее решения, пишите в комментарий, я с удовольствием добавлю информацию в общую статью.
В статье рассмотрены механизм групповой разработки конфигурации платформы «1С:Предприятие». Изучив статью вы узнаете, каким образом несколько разработчиков могут одновременно вести разработку по изменению конфигурации. Ознакомившись с нашим материалом, вы узнаете:
Применимость
Большая часть материала в статье описана для платформы «1С:Предприятие» редакций от 8.3.4.365 до 8.3.11
Наиболее важные вопросы про хранилище конфигурации
При попытке подключения к информационной базе 1С:Предприятия в режиме Конфигуратора платформа проверяет, не открыта ли текущая информационная база для конфигурирования.
Данная проверка необходима для обеспечения целостности во избежание изменения объектов конфигурации одновременно несколькими пользователями. Однако, как поступить в том случае, когда задача слишком сложна или объёмна для одного разработчика, и для обеспечения разумных сроков разработки необходимо привлечение одновременно нескольких программистов?
Конечно, можно назначить ответственного специалиста, который будет консолидировать изменения всех разработчиков в единую конфигурацию, а результирующий файл передавать заказчику.
Однако платформа 1С:Предприятие позволяет проводить параллельную разработку решения при помощи механизма групповой работы – хранилища конфигурации.
Что такое хранилище конфигурации?
С точки зрения физической структуры хранилище конфигурации представляет собой файловую информационную базу 1С:Предприятия 8 формата 1CD. Хранилище содержит только разрабатываемую конфигурацию, но не содержит пользовательских данных (элементов справочников, документов, движений по регистрам и т.п.).
Каждый программист из рабочей группы создает свою базу, подключает ее к общему хранилищу конфигурации, при этом происходит замещение конфигурации его базы конфигурацией из хранилища. Важно, что каждый разработчик может тестировать и отлаживать свои алгоритмы на собственных наборах данных, в хранилище же будет помещаться только конфигурация информационной базы.
Хранилище конфигурации не дает возможности изменить одновременно один и тот же объект двумя разработчиками. Если необходимо изменить какой-либо объект, он захватывается в хранилище, при этом другой программист не может его ни захватить в хранилище, ни отредактировать.
Далее первый разработчик изменяет захваченный объект, отлаживает алгоритмы его работы на своих тестовых примерах, а после завершения разработки помещает объект обратно в хранилище. Таким образом, в каждый момент времени с одним объектом может работать только один пользователь. Так обеспечивается целостность разрабатываемой конфигурации.
Хранилищем имеет смысл пользоваться только при коллективной разработке?
Хранилище конфигурации предназначается в первую очередь для организации групповой работы нескольких программистов над одной конфигурацией. Каждый разработчик занимается своей частью конфигурации (подсистемой, документом, рабочим местом и т.д.), редактирует свои объекты, тестирует и отлаживает их на своих данных.
Однако, кроме этого, хранилище позволяет вести версионирование изменений, происходящих в процессе работы над конфигурацией. И именно эта функция представляется очень полезной и в случае одного разработчика.
При помощи встроенных в платформу средств можно просмотреть историю версий хранилища, для каждой версии увидеть список измененных объектов, узнать, кто и когда вносил те или иные изменения.
Можно откатиться до одной из предыдущих версий конфигурации в случае обнаружения ошибки. Каждую из сохраненных версий хранилища можно сохранить в файл для дальнейшего анализа, открыть для просмотра.
Версии из хранилища можно сравнить между собой при помощи знакомого окна сравнения-объединения конфигураций.
Какие операции может выполнять пользователь с объектами в хранилище?
Существует четыре операции, которые пользователь может выполнять с объектами хранилища:
- захват объекта в хранилище;
- помещение объекта в хранилище;
- получение объекта из хранилища;
- отмена захвата в хранилище.
При выполнении захвата объекта из хранилища получается последняя версия объекта (в случае отличия текущей версии от последней), объект отмечается как захваченный, его редактирование недоступно другим пользователям.
После завершения редактирования объекта пользователь хочет сделать доступной другим разработчикам новую версию объекта с последними изменениями. Для этого предназначена операция помещения объекта в хранилище. Другой разработчик теперь может получить измененный объект из хранилища, т.е. загрузить новую версию объекта в свою информационную базу, подключенную к хранилищу.
Если же разработчик передумал помещать свои наработки в хранилище, хочет отменить все изменения, то для этого существует операция отмены захвата, при выполнении которой из хранилища будет получена предыдущая версия объекта, а сам объект помечается, как не захваченный, т.е. он опять становится доступен другим пользователям.
Таким образом, после подключения конфигурации к хранилищу все объекты находятся в режиме «только чтение», а для возможности редактирования необходимо выполнить операцию захвата в хранилище.
Какие объекты в хранилище можно редактировать двум разным пользователям одновременно?
Хранилище конфигурации предназначено для групповой разработки конфигурации. В процессе работы может возникнуть потребность редактирования объектов конфигурации различными пользователями.
С точки зрения хранилища конфигурации минимальной единицей, доступной для разработки, является отдельные объекты метаданных (справочник, документ и т.д.), формы и макеты. Реквизиты и табличные части объектов не являются сущностями, которые можно редактировать отдельно от самого объекта. Так, например, для добавления нового реквизита в справочник «Номенклатура» необходимо захватить в хранилище сам справочник. А каждая форма (форма элемента, форма списка или выбора) или макет справочника может редактироваться отдельно.
Таким образом, каждый объект метаданных, форма, макет в один момент времени могут редактироваться только одним пользователем.
Какие права существуют у пользователей хранилища конфигурации?
Каждому пользователю хранилища могут быть назначены следующие виды прав, определяющие разрешенные действия с хранилищем:
- Административные функции (позволяет создавать, изменять и удалять пользователей хранилища, отключать пользователей, подключенных к хранилищу, и отменять захват объектов хранилища, выполненный другими пользователями);
- Изменение состава версий (позволяет выполнять откат, сокращение и объединение версий конфигураций в хранилище);
- Захват объектов (позволяет захватывать объекты в хранилище и вносить изменения в конфигурацию хранилища). Если это право не установлено, то объекты можно только просматривать.
Следует обратить внимание, что для авторизации в хранилище конфигурации заводятся отдельные пользователи, которые никак не связаны с пользователями информационной базы.
Как захватить в хранилище сразу несколько объектов?
Это можно сделать при помощи диалога работы с хранилищем (в меню Конфигурация – Хранилище конфигурации – Хранилище). В открывшемся дереве конфигурации при помощи мыши, стрелок на клавиатуре, кнопок Shift и Ctrl выделяем несколько объектов. После этого при помощи элементов контекстного меню или кнопок командной панели выполняются операции над выбранными объектами.
Для увеличения нажмите на изображение.
Как вывести список объектов хранилища, захваченных конкретным пользователем?
Это можно сделать при помощи диалога работы с хранилищем (в меню Конфигурация – Хранилище конфигурации – Хранилище). В меню выбрать Вид – Список.
В окне установки отбора выбираем пользователя, захваченные кем объекты, мы хотим просмотреть. В списке останутся только интересующие нас записи.
Для увеличения нажмите на изображение.
Где можно увидеть, когда и кем база была отключена от хранилища?
К сожалению, в хранилище конфигурации не логируются события подключения базы к хранилищу и отключения базы от хранилища. Журнал регистрации тоже не сохраняет такую информацию. Поэтому при работе с хранилищем надо быть внимательным, т.к. возможно нечаянно отключить базу от хранилища. При открытии конфигуратора открывается окно авторизации в хранилище. При нажатии кнопки Отмена задается вопрос – следует ли отключить базу от хранилища? По ошибке можно нажать кнопку Да, в результате база будет отключена от хранилища.
Если по ошибке вы отключили базу от хранилища, сохраните текущую конфигурацию в файл, заново подключитесь к хранилищу, затем внесите все свои изменения при помощи операции сравнения-объединения с конфигурацией из сохраненного файла.
Как «хранится» хранилище конфигурации?
Хранилище конфигурации размещается в файле с именем 1Cv8ddb.1CD. Этот файл является обычной файловой базой 1С:Предприятия 8. В ней хранится информация по захваченным объектам, помещенным в хранилище версиям конфигурации, пользователям хранилища и их правам.
Планов по реализации размещения данных хранилища конфигурации в базах SQL-сервера фирма «1С» пока не озвучивала.
В каталоге с файлом 1Cv8ddb.1CD также может быть расположена папка Cache. Данная папка является служебной. В ней сохраняются файлы версий конфигурации хранилища. Файлы создаются при выполнении, например, таких операций, как сравнение с определенной версией хранилища, сохранение версии хранилища в файл и т.д.
Поскольку файл 1Cv8ddb.1CD является файловой базой, на него также распространяются ограничения на размер файла. Напомним, что файл базы данных (.1CD) внутри организован, как множество так называемых внутренних файлов. Каждой из таблиц базы данных соответствует до четырех внутренних файлов:
- файл описания таблицы;
- файл записей данных, в котором находятся все записи таблицы, за исключением полей неограниченной длины;
- файл индексов (если для таблицы не определено ни одного индекса, то этот файл отсутствует);
- файл значений неограниченной длины, в котором хранятся значения неограниченной длины, содержащиеся в полях таблицы.
Размер каждого из этих внутренних файлов не может превышать 4 Гбайт. Поэтому при очередном помещении изменений в хранилище может возникнуть ошибка:
Ошибка операции с хранилищем конфигурации.
по причине:
Превышен максимально допустимый размер внутреннего файла ‘D:\…//1cv8ddb.1CD’
Попробовать решить эту проблемы можно при помощи операции сокращения хранилища. В случае возникновения ошибки с сообщением о нехватке памяти попробовать выполнять эту операцию на компьютере с большим количеством оперативной памяти, либо сокращать только на одну версию за раз.
Также следует обратить внимание, что даже после успешного сокращения размер файла хранилища может не уменьшиться. Пространство внутри файла будет отмечено как свободное, и может быть использовано в дальнейшем.
В каких таблицах информационной базы хранится информация о связи с хранилищем конфигурации?
Существует ряд таблиц, которые обязательно присутствуют в любой информационной базе «1С:Предприятия». Одной из таких таблиц является таблица Files, содержащая служебную информацию, в том числе, о работе с хранилищем конфигурации.
Фирма «1С» не сообщает подробностей о формате записей этой таблицы, отмечая, что формат файлов не предполагает чтения или модификации какими-либо средствами, кроме «1С:Предприятия».
Путем наблюдений установлено, что когда информационная база подключена к хранилищу, в таблице Files существуют две записи, у которых поле Filename имеет значения «depot.dat» и «depot.nfo».
Какие могут возникать проблемы при разработке внешнего вида форм с использованием хранилища конфигураций?
Описывался случай, когда у одного из разработчиков в настройках операционной системы стоял размер текста и других элементов Windows «Крупный» – 150%. Все формы, которые он помещал в хранилище, открывались с искаженными привязками. После отмены масштабирования в настройках проблема ушла.
Существуют рекомендации от фирмы «1С» по разработке форм. В конфигураторе при открытии формы для редактирования при обнаружении несоответствия выводится сообщение: «Разработку форм рекомендуется выполнять в разрешении 96 DPI».
Как следует поступать в случае, когда после помещения объекта в хранилище пропадают внесенные изменения?
Однозначного решения проблемы не обнаружено, однако существует набор действий, которые зачастую помогают в этом случае.
Очистить локальный кэш метаданных информационной базы на компьютере разработчика, у которого воспроизводится проблема. Локальный кэш метаданных для платформы «1С:Предприятие 8.2» расположен в
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\
(%LOCALAPPDATA%\1C\1Cv82\ для ОС Windows Vista и выше)
Идентификатор информационной базы можно посмотреть в файле описаний зарегистрированных информационных баз, расположенном в
%APPDATA%\1C\1CEStart\ibases.v8i
В платформе «1С:Предприятие 8.3» существует файл location.cfg, расположенный в
%LOCALAPPDATA%\1C\1Cv8.
Он служит для указания каталога, который хранит файлы настроек пользователя, в том числе файлы локального кэша.
Очистить кэш версий хранилища, расположенные в подпапке Cache каталога, в котором расположено хранилище (файл 1Cv8ddb.1CD).
Возможно, потребуется отключение от хранилища и повторное подключение к нему.
Также можно попробовать перейти на использование сервера хранилища. Отмечается уменьшение частоты возникновения подобных проблем после перехода на сервер хранилища.
Как решить эту проблему?
После аварийного завершения работы конфигуратора во время захвата объектов в хранилище при последующем подключении к хранилищу появляется сообщение об ошибке «Файл не обнаружен ‘depot.dat.new’».
Для решения проблемы удалите из таблицы Files средствами SQL запись с FileName=’depot.revise’
Исправление данной ошибки должно быть доступно начиная с платформы версии 8.3.3.
Что можно предпринять в этом случае?
После обновления на версию 8.2.19.76, стала регулярно вылетать ошибка:
Неклассифицированная ошибка работы с хранилищем конфигурации.
по причине:
Ошибка выполнения запроса
Ошибка при выполнении запроса POST к ресурсу :
по причине:
server_addr=tcp://хххххх/хххххх descr=Ошибка сетевого доступа к серверу
(Windows Sockets – 10053(0x00002745). Программа на вашем хост-компьютере разорвала установленное подключение. ) line=1097 file=Src\DataExchangeTcpClientImpl.cpp
Подобная ошибка перестает проявляться после перезапуска службы сервера хранилища.
Однако в случае возникновения ошибки можно не перезапускать сервер или конфигуратор, а попробовать выполнить команды Конфигурация – Хранилище конфигурации – Закрыть хранилище/Открыть хранилище.
Как следует поступить при этом?
При получении объектов из хранилища или помещении объектов в хранилище периодически выдается ошибка:
Не удалось заблокировать таблицу ‘USERS’ (или таблицу ‘BINDINGS’)
Ошибка воспроизводилась при попытке получить изменения из хранилища (или подключить новую базу к хранилищу) в то время, пока другой пользователь производит помещение большого количества объектов в хранилище. Проблема уходит после окончания помещения объектов в хранилище.
Также такая ошибка воспроизводилась, если при открытом конфигураторе, подключенном к хранилищу, происходят неполадки сети (даже кратковременное отключение от сети с последующим подключением).
После этого при попытке захватить объект или получить его из хранилища процесс конфигуратор несколько минут не отвечает, затем выдает сообщение об ошибке. В этом случае помогал только перезапуск конфигуратора.
Как разорвать подключение к хранилищу?
Во время работы с хранилищем произошло отключение электричества. После этого разработчик не может подключиться к хранилищу, отключить его не получается (появляется сообщение об ошибке «Невозможно отключить пользователя, работающего с хранилищем»), нового пользователя тоже не добавить (появляется сообщение об ошибке «Не удалось заблокировать таблицу ‘USERS’»).
Необходимо на компьютере, на котором расположено хранилище, закрыть подвисшее соединение с файлами хранилища (самим файлом 1Cv8ddb.1CD и временными файлами, расположенными в этом каталоге).
Это можно сделать при помощи оснастки Управление компьютером (пункт Открытые файлы) или утилиты наподобие Unlocker.
Если эти способы не привели к результату, остается только перезагрузить компьютер с хранилищем, а после перезагрузки очистить оставшиеся временные файлы.
Для увеличения нажмите на изображение.
Хранилищем конфигурации можно пользоваться только в пределах локальной сети?
Не обязательно. Хранилище конфигурации поддерживает удаленный режим работы. Доступ к хранилищу конфигурации могут иметь пользователи локальной сети (по протоколу TCP) и пользователи сети Интернет (по протоколу HTTP).
Для разработчика удаленная работа с хранилищем конфигурации практически ничем не отличается от работы с хранилищем, расположенным на общем сетевом ресурсе. Удаленное хранилище позволяет группе программистов из различных регионов страны совместно работать над общей конфигурацией.
Удаленная работа с хранилищем предполагает работу с соединением с высокой пропускной способностью. Кроме этого, следует учитывать, что при использовании удаленной работы может существенно возрастать время операций, требующих обмена большим количеством информации (например, получение целиком последней версии хранилища).
Удаленную работу с хранилищем конфигурации обеспечивает специальное приложение – сервер хранилища конфигурации (crserver.exe для Windows или crserver для Linux). Возможна одновременная работа с хранилищем конфигурации как удаленно, так и как с общим файловым ресурсом.
При подключении по протоколу TCP конфигуратор разработчика подключается к серверу хранилища конфигурации, который непосредственно производит операции чтения-записи с файлом хранилища конфигурации. В случае использования протокола HTTP в эту цепочку добавляется еще одно звено, а именно веб-сервер.
Конфигуратор разработчика обращается к веб-серверу. Веб-сервер обращается к серверу хранилища, который в свою очередь взаимодействует с хранилищем конфигурации.
Какие проблемы при работе с хранилищем были решены в платформе 8.3?
При выпуске платформы «1С:Предприятие» 8.3.3 разработчики постарались решить наиболее важные проблемы, возникающие при работе с хранилищем конфигурации. В частности:
1) Проблема с превышением допустимого размера таблицы в базе данных хранилища. Данная проблема была актуальна для больших конфигураций и хранилищ с большим количеством версий. Для решения данной проблемы было реализовано специализированное файловое хранилище.
Изменен способ хранения информации в хранилище конфигурации: объекты хранилища теперь хранятся в файловой системе (в папке data, которая занимает большинство места).
Для увеличения нажмите на изображение.
Файл 1Cv8ddb.1CD в этом случае используется только как хранилище информации об измененных объектах, поэтому его размер существенно уменьшился. Новый способ хранения возможен только при отключенном режиме совместимости хранилища конфигурации.
Установленный режим совместимости можно увидеть в окне «Администрирование хранилища конфигурации».
2) Проблема с длительным сравнением объектов конфигурации. Сравнение двух версий отдельных объектов фактически не отличалось по времени от сравнения двух версий конфигурации.
Для решения данной проблемы был реализован механизм выборочного сравнения, позволяющий выполнить сравнение не только выбранных объектов, но и их отдельных свойств (например, модулей). При этом необходимая для сравнения информация извлекается из хранилища по требованию.
В настоящее время не решен вопрос со сравнением некоторых объектов метаданных и свойств (например, права ролей, формы).
При отображении истории объектов хранилища справа в таблице «Свойство» отображаются свойства, которые изменились в данной версии (из состава свойств, которые можно выборочно сравнить).
Для увеличения нажмите на изображение.
Выборочно можно сравнивать следующие свойства:
- модули;
- форма;
- макеты;
- картинка;
- WS-ссылка;
- Расписание;
- агрегаты регистра;
- состав плана обмена;
- стиль;
- рабочая область рабочего стола;
- карта маршрута;
- справка;
- предопределенные элементы;
- пакет XDTO;
- фрагмент командного интерфейса;
- права роли.
Если таблица «Свойство» не заполнена, значит у объекта изменились другие свойства.
3) Проблема с проверкой ссылочной целостности при выполнении операций с хранилищем. Особенно актуальна данная проблема была при попытке поместить или получить изменения после удаления объектов метаданных. С большой долей вероятности механизм контроля ссылочной целостности хранилища требовал отмены захвата уже отредактированных объектов или захвата и удаления ссылок из объектов, захваченных другими пользователями хранилища. В качестве решения данной проблемы постарались свести к минимуму (насколько это позволяет специфика групповой разработки) различия между механизмом контроля ссылочной целостности конфигуратора и хранилища конфигурации.
4) Проблема работы сервера хранилища. Работа сервера хранилища при выполнении некоторых операций (например, рекурсивное помещение изменений в хранилище) была неудовлетворительной, операция могла занимать значительное время. Была выполнена модернизация протокола взаимодействия конфигуратора с сервером хранилища, что позволило, с одной стороны, увеличить скорость выполнения операций с сервером, а с другой стороны – сократить объем передаваемых данных.
В платформе 8.3.4.365 реализовано хранение истории комментариев, которые вводят пользователи при помещении объектов в хранилище конфигурации. В истории хранится 20 последних комментариев. Комментарий может быть введен и сохранен в истории при захвате объекта в хранилище, а при помещении – выбран из истории.
Таким образом, новый формат хранилища 8.3 имеет следующие преимущества:
- повышение быстродействия хранилища (ускорено открытие конфигурации, подключенной к хранилищу; ускорено подключение к хранилищу; ускорено помещение объектов в хранилище; ускорено обновление конфигурации из хранилища, получение объектов, отмена захвата объекта в хранилище; увеличена параллельность помещения объектов в хранилище несколькими пользователями);
- при работе через сервер хранилища выполняется проверка версий платформы, которая гарантирует идентичность используемых платформ (т.е. платформой 8.2 нельзя подключиться к серверу хранилища версии 8.3.4);
- при новом способе хранения информации размер самого хранилища теперь не так критичен.
Что происходит при выполнении оптимизации хранилища на платформе 8.3?
В версии 8.3.3 для устранения проблемы с достижением предела в 4 Гб на одну таблицу в хранилище без установленного режима совместимости объекты метаданных хранятся в виде файлов на диске.
Большое количество файлов может несколько замедлять работу с хранилищем (особенно при расположении хранилища на сетевом диске).
При оптимизации хранилища из неупакованных файлов создается архив, а при наличии большого количества архивов (более 50), архивы переупаковываются в один.
При установленной опции «Предлагать оптимизацию после выполнения операций с хранилищем» в окне «Администрирование хранилища» администратору хранилища будет предлагаться провести оптимизацию при достижении:
- количества неупакованных файлов больше 5000;
- количества архивов более 50.
При установленной галочке «Предлагать оптимизацию после выполнения операций с хранилищем» после помещения объектов в хранилище, отката/слияния версий хранилища разработчику будет задан вопрос:
При нажатии кнопки «Оптимизировать» в подкаталоге pack папки с данными хранилища появляются упакованные файлы.
Для увеличения нажмите на изображение.
Если режим совместимости установлен в «Не использовать», то у хранилища будет новая структура, и работать с ним сможет только платформа версии 8.3.3.
Если режим совместимости установлен в «Версия 8.3.2», то структура хранилища будет такая же, как в версии платформы 8.3.2. Работать с ним смогут платформы версии с 8.2.9 по 8.3.2 включительно.
Оптимизированные алгоритмы работы с хранилищем будут работать только в режиме совместимости «Не использовать».
Операция оптимизации возможна как с помощью диалога администрирования хранилища, так и с помощью ключа командной строки пакетного запуска конфигуратора ConfigurationRepositoryOptimizeData.
Как выполнить резервное копирование хранилища конфигурации?
Для выполнения резервного копирования хранилища конфигурации необходимо скопировать файл 1Cv8ddb.1CD. Служебный каталог Cache можно не копировать, поскольку в нем расположены файлы версий конфигурации хранилища.
Несмотря на то, что файл хранилища не блокируется для чтения платформой, для обеспечения целостности копируемых данных к хранилищу не должны быть подключены пользователи.
Если для хранилища свойство «Режим совместимости» установлено в значение «Не использовать» (а это возможно только при использовании платформы не ниже 8.3.3), то для выполнения резервного копирования хранилища следует скопировать файл 1Cv8ddb.1CD и ПОЛНОСТЬЮ папку data, расположенную в той же папке, что и файл 1Cv8ddb.1CD.
Как выполнить проверку физической целостности файла хранилища?
Поскольку файл 1Cv8ddb.1CD является файловой базой, для проверки его физической целостности можно воспользоваться утилитой chdbfl.exe из папки с установленной платформой. На практике встречались случаи, когда удавалось восстановить файл таким образом, однако фирма «1С» не рекомендует прибегать к использованию этой утилиты для тестирования хранилища конфигурации.
На что еще необходимо обратить внимание при работе с хранилищем?
1) Не оставляйте корень конфигурации захваченным в хранилище. При добавлении нового объекта нужно захватить корень, добавить новый объект (и минимально необходимое количество реквизитов, поскольку, например, нельзя будет обновить конфигурацию базы данных при наличии регистра накопления без регистраторов, при наличии регистра накопления без ресурсов), поместить корень и новый объект в хранилище. После этого новый объект можно заново захватить в хранилище, не блокируя корневой элемент, чтобы не мешать другим разработчикам. Если же поместить пустой регистр в хранилище, то другой разработчик после получения изменений из хранилища не сможет обновить конфигурацию базы данных.
2) При начале работы с хранилищем после открытия ее в конфигураторе выполняем «Обновить конфигурацию из хранилища». При этом в текущую базу загружаются наработки других программистов за предыдущий день, и у нас всегда будет актуальная версия конфигурации.
3) При добавлении новых объектов для ролей, у которых установлен флаг «Устанавливать права для новых объектов» (в типовых конфигурациях это ПолныеПрава), автоматически проставляются разрешительные права на новые объекты, даже если сама роль не захвачена в хранилище.
4) Если отладочные базы разработчиков создаются из копий рабочей базы, установите для каждой из них собственный заголовок главного окна, например, «Копия Иванов». Это позволит избежать ненужной путаницы при наличии нескольких одновременно открытых баз.
5) Каждая тестовая база разработчика подключается к хранилищу под определенным пользователем. Открыв информационную базу в конфигураторе, подключиться к хранилищу под другим пользователем не получится.
Подключать новую базу под именем пользователя, для которого уже есть подключенная конфигурация, не следует, потому что это приведет к невозможности соединения предыдущей базы с хранилищем. Такая ситуация зачастую случается при создании тестовых баз разработчиков из копии рабочей базы.
Рассмотрим в хронологическом порядке, какие еще значимые изменения произошли в механизме хранилища конфигурации:
- Механизм сравнения модулей форм был перенесен в отдельную команду, что позволило сделать данной сравнение без построения отчета по самой форме. Данное изменение повысило комфорт и общее удобство при сравнении модулей форм. (8.3.5)
- Добавлен локальный кэш данных для хранилища. Теперь используются два кэша: локальный и глобальный. Локальный кэш, естественно, располагается на локальном компьютере, подключенном к хранилищу. Он предназначен для ускорения работы. Также стало доступным возможность управлять местом размещения локального кэша, а также его максимальным размером. (8.3.5)
- Произведено очередная оптимизация при работе с хранилищем, в результате которой была повышена скорость работы с ним. Для сохранения обратной совместимости был реализован новый режим совместимости с версией 8.3.3. Ускорение работы будет наблюдаться если данный режим установлен в значение “Не использовать”. (8.3.6)
- На сервере хранилища добавлена проверка целостности данных объекта, который помещается в хранилище. Эта возможность снижает возможность помещения в хранилище некорректных данных объекта конфигурации (8.3.9)
- Добавлена возможность хранить историю хранилища большего размера (десятки тысяч версий). Если вы создаете новое хранилище, то его база данных будет сразу создаваться в формате версии 8.3.8. Если вам нужно перевести уже созданное хранилище под новый формат, следует воспользоваться утилитой cnvdbfl (8.3.10)
- Существенно ускорены операции при работе с хранилищем (8.3.10)
В заключение, рекомендуем вам ознакомиться просто с сногсшибательной статьей от Евангелиста 1С, в которой рассказано как при помощи хранилищ разрабатывается флагманская конфигурация 1С:ERP.
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.