Добрый день! Сегодня в тестовой базе доделала свои доработки, сохранила cf-ник, никаких проблем или чего-то необычного замечено не было. Обновили тестовую базу до актуального релиза, попробовала «Сравнить, объединить с конфигурацией из файла» — вылетела ошибка Неклассифицированная ошибка документа. по причине: Ошибка при выполнении файловой операции ‘путь к кф-нику27-08-2013.cf’ по причине: Не помогло: чистка кэша, попытки просто открыть эту конфигурацию, перемещение кф-ника на локальный компьютер. Собственно, я больше не знаю, что с ним можно сделать Подскажите, пожалуйста, кто сталкивался
Релизы платформы для тестовой и рабочей базы какие?
1С:Предприятие 8.2 (8.2.18.61) Уже попробовала объединить с чистой конфигурацией — те же результаты
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Ниже приведены некоторые нечастые ошибки, с которыми нам пришлось столкнуться, и способы как мы их решали.
Неожиданная ошибка в работе архиватора: some_file.zip — C:Usersuser1cAppDataLocalTempsome_file.zip».
Платформа | 8.3.21.1622 (x64), серверная |
Период | Апрель 2023 |
Причина | Неизвестна |
Дополнительно | Пример кода, который падает по ошибке:
&НаСервере Процедура Команда1НаСервере() ВремФайл = ПолучитьИмяВременногоФайла("zip"); ЗаписьЗИП = Новый ЗаписьZipФайла(ВремФайл); ЗаписьЗИП.Добавить("<имя-файла-на-сервере>"); ЗаписьЗИП.Записать(); ЧтениеЗИП = Новый ЧтениеZipФайла(ВремФайл); ЧтениеЗИП.ИзвлечьВсе("<имя-каталога-на-сервере>"); |
Решение | Перезапуск сервера приложений/кластера (рестарт сервиса ragent.exe) |
Неклассифицированная ошибка работы с хранилищем конфигурации. По причине: Ошибочный порядок записи XML.
Платформа | 8.3.21.1622 (x64), серверная |
Период | Март 2023 |
Причина | Недостаточно места на диске, где расположено хранилище и/или каталог временных файлов. |
Дополнительно | Ошибка возникала при попытке подключить тестовую базу к существующему хранилищу конфигурации. |
Решение | Освободить место на диске, где расположено хранилище и/или каталог временных файлов. |
В статье рассмотрены механизм групповой разработки конфигурации платформы «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 SettingsApplication Data1C1Cv82
(%LOCALAPPDATA%1C1Cv82 для ОС Windows Vista и выше)
Идентификатор информационной базы можно посмотреть в файле описаний зарегистрированных информационных баз, расположенном в
%APPDATA%1C1CEStartibases.v8i
В платформе «1С:Предприятие 8.3» существует файл location.cfg, расположенный в
%LOCALAPPDATA%1C1Cv8.
Он служит для указания каталога, который хранит файлы настроек пользователя, в том числе файлы локального кэша.
Очистить кэш версий хранилища, расположенные в подпапке 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=SrcDataExchangeTcpClientImpl.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.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
Ой! Данный функционал ещё в разработке
Текст ошибки может звучать по-разному, например:
- Поле объекта не обнаружено (ХХХХХХ);
- Значение не является значением объектного типа (ХХХХХХ);
- Метод объекта не обнаружен (ХХХХХХ);
- Во время сохранения файла возникла ошибка.
Такие ошибки чаще всего возникают при некорректной работе базы 1С.
Для решения может помочь одно из следующих действий:
- Очистите кэш платформы 1С.
- Проверьте права пользователя в 1С.
- Проверьте, включено ли использование внешнего модуля. Если да, создайте резервную копию информационной базы, после чего отключите внешний модуль.
Внешний модуль в управляемых конфигурациях (БП 3.0, ЗУП 3.1 и др.) находится в прочих настройках обмена. Если отметка проставлена — снимите её, после чего перезапустите 1С.
Внешний модуль в неуправляемых конфигурациях (БП 2.0, ЗУП 2.5, УПП 1.3 и др.) находится по пути Отчеты → Регламентированные отчеты → Настройки → Для настройки параметров документооборота нажмите здесь (внизу). Отметьте пункт Использовать встроенный модуль документооборота, после чего перезапустите 1С.
- Сделайте диагностику 1С-отчетности, отправьте отчет по диагностике и сообщите номер обращения специалисту технической поддержки 1С-Отчетность.
- Запустите Конфигуратор 1С. Выберите пункт Отладка → Начать отладку.
- Удостоверьтесь, что конфигурация находится на полной поддержке 1С, т.е. в нее не были внесены изменения и она соответствует конфигурации поставщика.
Запустите Конфигуратор 1С. Если конфигурация закрыта, то необходимо ее открыть: Конфигурация → Открыть конфигурацию. Слева в меню напротив названия конфигурации должен быть значок замка – объект поставщика не редактируется.
- Попробуйте запустить 1С в тонком клиенте, для этого после нажатия на ярлык 1С выберите базу, затем нажмите Изменить → Далее → Основной режим запуска: выберите пункт Тонкий клиент → Готово. Запустите 1С.
- Измените переменные среды. Рекомендуем обратиться к системному администратору для выполнения данных действий.
- Проверьте кодировку в операционной системе Windows по инструкции смена кодировки. Рекомендуем обратиться к системному администратору для выполнения данных действий.
В случае системного языкового пакета, отличного от русского, программа 1С не может работать с внешней компонентой для отображения сертификатов. Для решения этой ситуации можно изменить параметры в системном реестре. Рекомендуем обратиться к системному администратору для выполнения данных действий.
Номер статьи: 129674145
Обновлено: 29.03.2023 12:55+0000
Хранилище конфигурации 1С: развертывание и работа
При коллективной разработке требуется контроль за историей разработки, отслеживание объектов, которые дорабатываются в текущий момент.
Для этого и предназначено хранилище конфигурации.
- если в конфигурации более одного разработчика
- несколько баз, но решение единое и требуется их синхронизация
- просто требуется сохранять историю разработки даже одного программиста
Значит вам надо разворачивать хранилище конфигураций.
Быстрый переход
- Как это делается поэтапно:
- Работа с хранилищем
- Особенности работы
- Особенности хранения
- Механизм оптимизации
Как это делается поэтапно:
- Зайти в «Конфигуратор» и создать хранилище
- Указать его расположение (папку на которую есть права на запись)
- Задать имя Администратора и его пароль
- Далее, конфигурация подключится к созданному хранилищу
- Следующий шаг: добавление пользователей в хранилище — каждая база разработки привязывается к отдельному пользователю. Эти пользователи никак не связаны с пользователями информационной базы. Зайдите в «Администрирование хранилища»
- Добавляете и задаете пароль:
- Устанавливаете его права, достаточно прав на «Захват хранилища»
- Создаете новую базу из копии (или используете уже существующую), изменения должны быть сохранены, поскольку при первом подключении конфигурация синхронизируется с данными хранилища
- Указываете данные ранее созданного пользователя
- Вот и всё: подключение к хранилищ успешно завершено
Работа с хранилищем
При каждом старте запуске конфигурации требуется :
- подключиться к хранилищу указав пароль, либо прописать его в параметрах запуска 1с «ConfigurationRepositoryP»(Пользователь: «ConfigurationRepositoryN», хранилище: «ConfigurationRepositoryF»)
- либо отказаться от подключения, но не отвязывать хранилища — в этом случае вы сможете править только ранее «Захваченные» объекты, остальные только на просомтр
Для начала работы с объектом его требуется «Захватить» объект — установить монопольный доступ на его разработку. До этого все объекты доступны только на чтение (подобно «Поставке» до снятия с поддержке).
Это можно произвести двумя способами:
Далее, вы работаете с объектом как обычно.
После окончания у вас два основных варианта:
- отменить захват, при этом у вас объект восстановится их хранилища (этим отменяются также внесенные правки)
- поместить измененный объект
В другой базы разработчик по вашему сигналу может обновить конфигурацию из хранилища:
Это основные команды для работы с хранилищем.
Особенности работы
- Для добавление объектов, захватывается корень конфигурации
- Для добавления/изменения реквизита объекта — захватывается сам объект
- Для изменения формы или макета захватывать объект не обязательно (это отдельные сущности)
- Не используйте при этом иерархический захват (долго)
- Помещайте только проверенные объекты
- Не отпускайте до конца разработки (полной отладки)
- Саму конфигурацию(корень) держите захваченным недолго (другие пользователи не смогут добавлять)
- Периодически делайте копии конфигурации
- Возможна «рассинхронизация» захваченных объектов, система это отслеживает.
- При обновлении копии базы, при первом запуске требуется сначала отключится из хранилища, затем подключится повторно (не забудьте поменять пользователя)
- Частичное помещение может привести не работоспособности (добавили объект, не подправили форму и т.п)
- Не логируется подключение и отключение к хранилищу (как и полное отключение базы от хранилища).
- При подключении, если не ввести пароль, то можно отключить (специально или случайно):
Отбор захваченных объектов
- можно отобрать все захваченные
- захваченные определенным пользователем
В целом, хранилище работает очень стабильно:
- проблемы возникали при сетевом хранении: слетало поле данных у реквизитов, скорее всего потеря данных в процессе помещения).
- «хранилище конфигурации повреждено» такая ошибка происходит один раз в год — просто создали заново (делайте дополнительные копии этой папки).
Для резервного копирования достаточно настроить сохранение
1Cv8ddb.1CD и ПОЛНОСТЬЮ папку data, расположенную в той же папке, что и файл 1Cv8ddb.1CD
Если http-Сервер не отвечает или сбрасывает соединение, то может возникнуть ошибка «Неклассифицированная ошибка работы с хранилищем конфигурации»:
При «Ошибке сетевого доступа к серверу» попробуйте перезапустить службу хранилища и выполнить команду «Хранилище конфигурации/Закрыть хранилище/Открыть хранилище».
Если такая ошибка происходит при полном помещении, попробуйте помещать объекты частями — иногда срабатывают таймауты ответа сервера.
Уменьшилось удобство при повторном подключении
При восстановлении базы из копии сохраняются настройки подключения к хранилищу, но слепок может быть не верным, требуется переподключиться повторно к хранилищу.
Раньше, настройки: адрес хранилища и пользователь сохранялись, оставалось только внести пароль — это было гораздо быстрее.
Субъективно и процесс начальной синхронизации стал дольше — не припоминаю долго висящего состояния «Построение снимка версии конфигурации»
В 8.3. появился режим совместимости на вкладке «Прочее» в администрировании хранилища: этим можно включить новый формат хранения.
Особенности хранения
«Хранилище» до 8.3.3 это обычная файловая база, в виде файла 1Cv8ddb.1CD, в которой дополнительно хранится информация о захватах.
Внутренние таблицы не могут быть больше 4 ГБ иначе может быть ошибка: «Ошибка операции с хранилищем конфигурации. по причине: Превышен максимально допустимый размер внутреннего файла», но такое встречается только при очень интенсивной работе с хранилищем (много версий макетов и других емких объектов).
С версии 8.3.3 появилась папка «data»: Скорее всего для более универсальной работы с системами версионного контроля.
В случае проблем с рассинхронизацией можно почистить каталог «Cache» в папке хранилища.
Механизм оптимизации
Находится на вкладке «Прочие»
Производится упаковка файлов метаданных в папку pack
Рекомендация будет предлагаться при достижении:
- Количества неупакованных файлов больше 5000.
- Количества архивов более 50.
Рекламные объявления содержат единственные правдивые сведения, которые можно найти в газетах.