Перейти к содержимому

Как поместить в хранилище несколько объектов 1с

  • автор:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    Производим поиск ссылок на удаляемый объект: Копировать в буфер обмена

"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип

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

Ошибка помещения объектов в хранилище. Для выполнения операции необходимо поместить в хранилище объекты: - Документ.ПриходнаяНакладная.Форма.ФормаДокумента (объект не захвачен пользователем) - Документ.РасходнаяНакладная.Форма.ФормаДокумента (объект не захвачен пользователем)

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

Операция не может быть выполнена: Объект 'Документ.ПриходнаяНакладная.Форма.ФормаДокумента' содержит ссылки на удаленные объекты: - Справочник.Склады Объект 'Документ.РасходнаяНакладная.Форма.ФормаДокумента' содержит ссылки на удаленные объекты: - Справочник.Склады

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

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

Объект помещен в хранилище: ПримерыИТС Объект помещен в хранилище: Документ.ПриходнаяНакладная.Форма.ФормаДокумента Объект помещен в хранилище: Документ.ПриходнаяНакладная Объект помещен в хранилище: Документ.РасходнаяНакладная.Форма.ФормаДокумента Объект помещен в хранилище: РегистрНакопления.УчетНоменклатуры Объект помещен в хранилище: Интерфейс.Основной Объект помещен в хранилище: Документ.РасходнаяНакладная

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


    Производим поиск ссылок на удаляемый объект:Копировать в буфер обмена

"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип Документ.РасходнаяНакладная.Реквизит.Склад.Тип РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип

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

Объект помещен в хранилище: ПримерыИТС Объект помещен в хранилище: Документ.ПриходнаяНакладная Объект помещен в хранилище: РегистрНакопления.УчетНоменклатуры Объект помещен в хранилище: Документ.РасходнаяНакладная

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

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

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

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

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

1С, помещение в хранилище нескольких объектов, одновременно

Как правильно помещать объекты в хранилище 1С? Самый очевидных для всех способ — это поочередно поместить все захваченные объекты. Это не самый лучший вариант по следующим причинам:

  1. При помещении объекта создается новая версия хранилища — это расточительно с точки зрения затрат ресурсов сервера;
  2. Это долго, если захваченных объектов много;

Помещение нескольких объектов в хранилище, порядок действий:

  • Нужно перейти в окно работы с хранилищем конфигурации:
  • Здесь для удобства можно сразу отобрать только захваченные объекты:
  • Далее нужные объекты можно выделять удерживая «Ctrl», или нажать «Ctrl+A» чтобы выделить все.
  • После того как всё выбрали, нажимаем «Поместить в хранилище»:

Не забываем заполнять Комментарий.

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

Варианты использования хранилища конфигурации

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

Использование группой разработчиков

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

Использование одним разработчиком

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

Автономная работа

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

Отчеты

  • отчет по версиям;
  • отчет по объектам;
  • отчет по комментариям.

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

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

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

Резервное копирование хранилища

Для осуществления резервного копирования хранилища конфигурации необходимо выполнить копирование файла 1cv8ddb.1cd и каталога data при его наличии. Каталог data появляется при работе с хранилищем в режиме совместимости «Не использовать» и содержит файлы объектов метаданных. Каталог cache может не включаться в состав резервной копии, так как содержит вспомогательные файлы с версиями конфигурации. Данный каталог создается автоматически и может периодически очищаться для освобождения места на диске.
После восстановления хранилища конфигурации из резервной копии информация о захваченных объектах будет синхронизирована с преимуществом хранилища конфигурации, т.е. состояние захвата объекта будет в любом случае взято из хранилища конфигурации.

Хранилище конфигурации и механизм поддержки

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

Обновление конфигурации

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

Изменение параметров поддержки

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

Хранилище конфигурации и механизм распределенной ИБ

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

Как поместить в хранилище несколько объектов 1с

галку поставь — рекурсивно

Войти в хранилище. Поставить отбор по себе любимому. Выделить все захваченные и вперед.

Кликай правой кнопкой мыши на названии конфы (верхняя строчка в дереве конфигурации). Жми поместить в хранилище. Там ставь галку — Рекурсивно

Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *