Меню Закрыть

1С работа с хранилищем конфигурации

Содержание

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

Принцип работы

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

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

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

  • захват объекта в хранилище;
  • помещение объекта в хранилище;
  • получение объекта из хранилища;
  • отмена захвата в хранилище.

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

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

  • выгрузить конфигурацию из информационной базы в файл,
  • подключить информационную базу к хранилищу конфигурации,
  • выполнить захват объектов, которые необходимо заместить,
  • произвести объединение с требуемой конфигурацией.

Важно понимать, что предметом разработки является конфигурация, а не отдельные объекты. Хранилище ведет историю развития конфигурации. При помещении объектов разработки в хранилище создается новая версия конфигурации, для которой записываются: дата создания версии, пользователь, создавший версию, а также списки объектов разработки, которые были добавлены, изменены, удалены в процессе получения данной версии конфигурации. История объектов разработки не ведется. Несмотря на то, что имеется возможность просмотра истории объекта разработки, отдельно загрузить из хранилища объект разработки какой-либо версии конфигурации невозможно , возможна лишь загрузка из хранилища версии конфигурации целиком. Однако все же имеется возможность получения объекта определенной версии конфигурации: необходимо захватить объект и выполнить объединение с версией конфигурации, в которой данный объект имеет требуемое состояние.

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

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

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

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

Режимы использования

Для работы с хранилищем конфигурации предусмотрено несколько способов:

  • с подключением информационной базы к хранилищу;
  • без подключения информационной базы к хранилищу.

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

Работа с подключением информационной базы к хранилищу

Этот режим является основным режимом работы с хранилищем. Он используется для групповой разработки конфигурации несколькими пользователями.

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

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

Читайте также:  Фото на аву в стим для девушек

Работа без подключения информационной базы к хранилищу

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

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

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

  1. Создать новую информационную базу.
  2. Открыть хранилище конфигурации.
  3. Из хранилища конфигурации загрузить конфигурацию нужной версии.
  4. Заполнить информационную базу необходимыми данными.
  5. Подготовить дистрибутив конфигурации.
  6. В процессе модернизации конфигурации хранилища для выпуска новых дистрибутивов необходимо повторить процедуру, начиная с пункта 2, и, если новых данных вводить не требуется, сразу выполнить подготовку дистрибутива.

Режим совместимости хранилища конфигурации

Начиная с версии платформы 8.3.3, в хранилище добавлен режим совместимости. Режим совместимости позволяет старшим версиям платформы работать с хранилищами, созданными в младших версиях платформы (начиная с версии 8.3.2), без конвертации.

Режим совместимости можно установить в окне "Администрирование хранилища" на закладке "Прочие". На данный момент можно установить один из двух режимов совместимости: " Версия 8.3.2 " и " Не использовать ". При смене режима и нажатии кнопки "Установить" происходит конвертация базы данных хранилища конфигурации.

Особенности работы хранилища в режиме совместимости " Версия 8.3.2 ":

  • осуществляется строгий контроль ссылочной целостности при получении/помещении объектов;
  • объекты метаданных хранятся в базе данных хранилища;
  • режим устанавливается по умолчанию для существующих хранилищ конфигураций.

Особенности работы хранилища в режиме совместимости " Не использовать ":

  • контроль ссылочной целостности такой же, как и на уровне объектов метаданных. Это позволяет повысить параллельность процесса разработки конфигурации, т.к. необходимо захватывать меньшее количество зависимых объектов;
  • объекты метаданных хранятся в файловой системе, что позволяет существенно увеличить объем данных, которые можно поместить в хранилище;
  • режим устанавливается для вновь создаваемых хранилищ конфигураций.

Контроль ссылочной целостности

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

Пример : удаление справочника Склады из демонстрационной конфигурации " Примеры ИТС ":

  • происходит проверка имеющихся на этот объект ссылок в других объектах: Копировать в буфер обмена
  • после удаления обнаруженных ссылок справочник Склады успешно удаляется из конфигурации, хотя ссылка на него по-прежнему имеется в интерфейсе Основной (кнопка Склады из подменю Справочники содержит действие " Склады: Открыть справочник ") и формах документов ПриходнаяНакладная , РасходнаяНакладная (поля ввода, предназначенные для редактирования реквизитов Склад по-прежнему имеют тип СправочникСсылка.Склады).

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

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

В режиме совместимости " Не использовать " хранилище конфигурации обеспечивает контроль ссылочной целостности только на уровне объектов метаданных; на уровне интерфейсов, форм и макетов контроль не ведется.

Анализ ссылок производится рекурсивно: сначала производится анализ объекта, с которым производится действие в хранилище; затем при обнаружении необходимости выполнения операции над дополнительными объектами аналогичный анализ производится для них, и так до тех пор, пока ссылки всех требуемых объектов не будут проанализированы.

Особенности конфигурирования

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

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

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

Удаление объектов конфигурации

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

Однако при помещении в хранилище, если на удаленный объект имеются ссылки в других объектах, средства работы с хранилищем потребуют помещение этих объектов в хранилище с очищенными ссылками на удаленный объект.

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

Читайте также:  97254 Код какой страны с мобильного

В режиме совместимости " Версия 8.3.2 " после этого необходимо удалить все ссылки на удаляемый объект из форм, интерфейсов и макетов.

В режиме совместимости " Не использовать " удалять ссылки на удаляемый объект из форм, интерфейсов и макетов не требуется.

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

Пример: удаление справочника Склады из демонстрационной конфигурации " Примеры ИТС " в режиме совместимости хранилища " Версия 8.3.2 ":

  • Производим поиск ссылок на удаляемый объект: Копировать в буфер обмена
  • Захватываем данные объекты и удаляем из них реквизиты, ссылающиеся на справочник Склады.
  • Захватываем интерфейс " Основной " и удаляем из него кнопку Склады из подменю Справочники с действием " Склады: Открыть справочник ".
  • Захватываем корневой объект конфигурации и справочник Склады.
  • Удаляем справочник Склады из конфигурации.
  • Производим попытку помещения корневого объекта конфигурации в хранилище:

После нажатия кнопки OK в окне сообщений будет выведена следующая информация: Копировать в буфер обмена

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

    После нажатия кнопки OK в окне сообщений будет выведена следующая информация: Копировать в буфер обмена

  • Удаление справочника Склады завершено.
  • Пример: удаление справочника Склады из демонстрационной конфигурации " Примеры ИТС " в режиме совместимости хранилища " Не использовать ":

    • Производим поиск ссылок на удаляемый объект:Копировать в буфер обмена
    • Захватываем данные объекты и удаляем из них реквизиты, ссылающиеся на справочник Склады.
    • Захватываем корневой объект конфигурации и справочник Склады.
    • Удаляем справочник Склады из конфигурации.
    • Производим попытку помещения корневого объекта конфигурации в хранилище:

    После нажатия кнопки OK в окне сообщений будет выведена следующая информация:Копировать в буфер обмена

  • Удаление справочника Склады завершено.
  • Таким образом, удаление объекта метаданных из конфигурации, разрабатываемой при использовании хранилища, требует аккуратности и внимательности.

    Оптимизация хранения данных в хранилище конфигурации

    В режиме совместимости хранилища " Не использовать " объекты метаданных хранятся в файловой системе, что позволяет существенно увеличить объем данных, которые можно поместить в хранилище.

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

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

    Хранилище конфигурации в 1С 8.2 и 8.3 — это инструмент для групповой разработки решения, встроенный в платформу 1С: Предприятие 8. Хранилище позволяет вести многопользовательскую разработку решений неограниченным количеством пользователей. С его помощью можно увидеть полную историю разработки конфигурации и каждый шаг разработчиков в подробностях.

    Рассмотрим настройки и работу с хранилищем конфигурации подробнее.

    Как работает хранилище 1С

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

    Так же в этой БД хранится информации о том, кем захвачен тот и или иной объект. Захват объекта — это метка, устанавливаемая разработчиком. Установленный захват позволяет избежать коллизий при групповой разработке. Пока объект захвачен, никто не может его редактировать.

    Захватить можно как объект целиком (рекурсивно), так и отдельно объект или формы.

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

    Как создать хранилище 1С

    Создать хранилище достаточно просто, для этого необходимо выбрать в меню «Конфигурация — Хранилище конфигурации» пункт «Создать хранилище». В появившемся меню достаточно указать путь к будущему расположению хранилища и логин/пароль пользователя-администратора:

    При создании сделайте обязательно резервную учетную запись с административными правами — очень часто это выручает.

    Как подключиться к хранилищу 1С

    Чтобы подключиться к хранилищу конфигурации, нужно выбрать в меню в меню «Конфигурация — Хранилище конфигурации» пункт «Подключиться к хранилищу». В появившемся окне необходимо указать путь к хранилищу и логин/пароль пользователя, нажать «Подключиться»:

    Получите 267 видеоуроков по 1С бесплатно:

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

    Администрирование хранилища конфигурации 1С

    Для администрирования хранилища 1С необходимо выбрать в меню конфигурации следующий пункт — «Конфигурация — Хранилище конфигурации — Администрирование»:

    • На вкладке «Пользователи» можно добавить или удалить новых пользователей, а также определить состав прав для каждого из них.
    • На вкладке «Подключения» можно просмотреть всех пользователей, подключившихся к хранилищу, по необходимости отключить их.
    • На вкладке «Отмена захвата» Вы можете снять захват любого пользователя на определенный объект, если конечно же Вы имеете права на это.
    Читайте также:  Как включить режим турбо в процессоре intel

    Как просмотреть историю хранилища 1С

    Для просмотра истории надо зайти в меню «Конфигурация — Хранилище конфигурации», выбрать пункт «История хранилища»:

    В истории хранилища 1С можно увидеть, когда, кем и что было изменено.

    Разработка с хранилищем 1С 8.3

    Работу с хранилищем условно можно разделить на основные действия:

    • обновление конфигурации из хранилища конфигурации 1С;
    • обновить статусы хранилища 1С;
    • захват в хранилище;
    • помещение в хранилище.

    Остановимся подробнее на каждом действии:

    Обновить статусы хранилища 1С

    Производит получение последних статусов объектов (захвачен или нет).

    Вызывается: «Конфигурация — Хранилище конфигурации — Обновить статусы».

    Обновление конфигурации из хранилища конфигурации 1С

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

    Вызывается: «Конфигурация — Хранилище конфигурации — Обновить конфигурацию из хранилища».

    Захват в хранилище конфигурации 1С

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

    Произвести захват можно, вызвав правой кнопкой контекстное меню у объекта метаданных:

    В открывшемся окне можно установить некоторые настройки:

    • Выполнять рекурсивно — позволяет захватить все подчиненные объекты — формы и т.д.
    • Разрешать получать захваченные — позволяет получать другим пользователям промежуточные версии объекта

    Помещение в хранилище 1С

    После изменения объекта его необходимо поместить обратно в хранилище, делается это так же, как захват, только выбирается пункт «Поместить в хранилище»:

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

    • Выполнять рекурсивно — позволяет поместить все подчиненные объекты — формы и т.д.
    • Оставить захваченными — позволяет поместить «промежуточную» версию объекта, оставив при этом захват пользователем

    Как добавить новый объект в хранилище 1С

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

    Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

    К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

    В 1с версии 7.7 совместная разработка или доработка конфигурации была настоящим мучением. Для того чтобы поддерживать одну конфигурацию даже вдвоем, приходилось делать две копии актуальной базы, затем, после внесенных изменений вручную переносить изменения из конфигурации одной копии в конфигурацию другой. Только потом можно было обновить основную поддерживаемую конфигурацию! Усугубляло положение отсутствие подсистем.

    В восьмой версии 1с для совместной разработки используется хранилище конфигурации. Работа с хранилищем происходит следующим образом:

    • Создаем хранилище

    Выбираем в меню "Конфигурация"->"Хранилище конфигурации"->"Создать хранилище. "

    Указываем путь к каталогу хранилища. (Каталог должен быть доступен для всех разработчиков!)

    После того как хранилище создано, заходим в пункт меню "Конфигурация"->"Хранилище конфигурации"->"Администрирование" для того чтобы создать пользователей для разработчиков

    . и создаем пользователей

    • Подключаем конфигурации разработчиков к хранилищу конфигурации


    выбираем пункт меню "Конфигурация"->"Хранилище конфигурации"->"Подключиться к хранилищу. "

    Далее конфигуратор нас спросит

    Так как у нас с вами копии основной базы пока идентичны, смело нажимаем кнопку "Да" и указываем путь к хранилищу, имя пользователя и пароль

    Ждём, пока произойдет сравнение конфигурации с хранилищем.

    Если всё прошло успешно, то справа от объектов конфигурации в дереве объектов должна появиться пиктограммка замка.

    • Работа с хранилищем конфигурации

    По умолчанию все объекты конфигурации имеют пиктограммку "замок". Для того чтобы изменить объект конфигурации нужно его захватить, то есть выбрать в контекстном меню объекта пункт "Захватить в хранилище"

    указать настройки захвата

    У объекта в дереве конфигурации появится пиктограмма

    Если объект захвачен другим разработчиком, то объект в дереве конфигурации выглядит так

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


    • Если требуется отменить сделанные изменения и освободить объект от захвата, то выбираем в контекстном меню объекта пункт "Отменить захват"

    • Если требуется восстановить объект из хранилища, то то выбираем в контекстном меню объекта пункт "Получить из хранилища. ". При этом внесенные изменения в то время, как объект был захвачен, теряются.

    • Так же можно просмотреть историю версий и сравнить захваченный и измененный объект с объектом в хранилище.

    • После того, как работа в копиях завершена(или завершен какой-то промежуточный этап), можно обновить конфигурацию основной базы для этого нужно выбрать пункт в меню "Конфигурация"->"Хранилище конфигурации"->"Обновить конфигурацию из хранилища" или "Конфигурация"->"Хранилище конфигурации"->"Сравнить/объединить конфигурацию с хранилищем".

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

    Рекомендуем к прочтению

    Добавить комментарий

    Ваш адрес email не будет опубликован.