Коллективная разработка в 1С8
Основным предназначением хранилища конфигурации является организация совместной разработки конфигурации группой разработчиков. Главным преимуществом подобной разработки является возможность изменения одной и той же конфигурации несколькими разработчиками одновременно. Хранилище ведет историю изменений конфигурации, что позволяет в любой момент получить конфигурацию более ранней версии или же вернуться к этой версии. Каждая версия конфигурации, создаваемая в хранилище, может содержать комментарий, описывающий произведенные изменений, и метку – выделяющую данную версию из остальной истории конфигурации.
Платформа 1С:Предприятие предоставляет возможность формирования нескольких видов отчетов по истории конфигурации хранилища:
- отчет по версиям;
- отчет по объектам;
- отчет по комментариям.
Каждый из этих отчетов может быть сформирован, используя отбор, дающий возможность указать, какие объекты конфигурации должны участвовать в отчете, какие версии конфигурации (имеется возможность задания диапазона версий, как номерами версий, так и датами), а также список пользователей, чьи изменения привели к созданию новых версий конфигурации.
Отчет по версиям – в данном отчете содержится информация о версиях конфигурации хранилища. Для каждой версии отображается пользователь, создавший ее, списки добавленных/измененных/удаленных объектов, а также комментарий к данной версии хранилища.
Отчет по объектам – в данном отчете содержится информация об объектах конфигурации хранилища. Для каждого объекта конфигурации отображается список комментариев к версиям конфигурации, в которых данный объект конфигурации добавлялся/изменялся/удалялся.
Отчет по комментариям – данный отчет содержит информацию о версиях конфигурации, сгруппированную по комментариям к версиям. Для каждого уникального комментария отображается информация об объектах, которые были добавлены/изменены/удалены в версиях конфигурации хранилища, имеющих данный комментарий.
Хранилище конфигурации представляет собой базу данных, в которой сохраняются все изменения конфигурации, сделанные в процессе её разработки. После подключения информационной базы к хранилищу из него в информационную базу загружается последняя версия конфигурации, и все объекты метаданных конфигурации становятся недоступными для редактирования.
Гранулой редактирования – объектами разработки – являются все основные объекты метаданных (такие как справочники, документы, регистры сведений), а также формы и макеты. Объекты разработки могут редактироваться независимо друг от друга разными пользователями. Реквизиты, табличные часть и т.д. не являются отдельными объектами с логической точки зрения, поэтому они не были включены в состав объектов разработки. Данные объекты метаданных редактируются в составе своих родительских объектов, являющихся объектами разработки.
Для получения возможности редактирования объекта необходимо произвести его захват в хранилище. При выполнении захвата из хранилища будет получена (в случае наличия) новая версия объекта разработки. После внесения изменений объект необходимо поместить в хранилище, после этого обновленная версия объекта становится доступной для других пользователей, участвующих в процессе разработки конфигурации. Если же изменения не должны быть помещены в хранилище, то предусмотрена процедура отмены захвата, при которой из хранилища получается старая версия объекта разработки. Таким образом, можно выделить четыре простейшие операции работы с хранилищем:
- захват объекта в хранилище;
- помещение объекта в хранилище;
- получение объекта из хранилища;
- отмена захвата в хранилище.
Для параллельной разработки конфигурации в хранилище используется стратегия пессимистической блокировки: в то время, пока объект разработки редактируется одним пользователем, другие пользователи не имеют возможности его редактировать.
Стоит обратить внимание на тот факт, что при подключении информационной базы к хранилищу конфигурации происходит полная замена текущей редактируемой конфигурации конфигурацией хранилища . Это необходимо для обеспечения полного соответствия идентификаторов объектов метаданных. Если все же имеется информационная база, часть объектов метаданных конфигурации которой необходимо перенести в конфигурацию хранилища, то необходимо:
- выгрузить конфигурацию из информационной базы в файл,
- подключить информационную базу к хранилищу конфигурации,
- выполнить захват объектов, которые необходимо заместить,
- произвести объединение с требуемой конфигурацией.
Важно понимать, что предметом разработки является конфигурация, а не отдельные объекты. Хранилище ведет историю развития конфигурации. При помещении объектов разработки в хранилище создается новая версия конфигурации, для которой записываются: дата создания версии, пользователь, создавший версию, а также списки объектов разработки, которые были добавлены, изменены, удалены в процессе получения данной версии конфигурации. История объектов разработки не ведется. Несмотря на то, что имеется возможность просмотра истории объекта разработки, отдельно загрузить из хранилища объект разработки какой-либо версии конфигурации невозможно, возможна лишь загрузка из хранилища версии конфигурации целиком. Однако все же имеется возможность получения объекта определенной версии конфигурации: необходимо захватить объект и выполнить объединение с версией конфигурации, в которой данный объект имеет требуемое состояние.
При создании новой версии конфигурации хранилища имеется возможность записать комментарий к этой версии. Рекомендуется комментировать версии конфигурации, для того чтобы впоследствии можно было понять, что именно было изменено в данной версии конфигурации. Для наиболее значимых версий (например: выпуск релиза) рекомендуется также устанавливать метку – строку, кратко описывающую версию конфигурации хранилища.
В процессе разработки конфигурации с использованием хранилища рекомендуется периодически получать актуальное состояние объектов разработки. Это позволяет избежать возможных трудностей при помещении объектов в хранилище (например при удалении объектов метаданных из конфигурации).
Средства работы с хранилищем конфигурации позволяют просматривать историю версий конфигурации хранилища, сохранять конфигурацию определенной версии в файл, сравнивать с другими версиями конфигурации данного хранилища или же сравнивать с другой конфигурацией из файла.
Если по каким-либо причинам хранилище конфигурации недоступно, то имеется возможность продолжать работу с объектами разработки, захваченными ранее в хранилище. Таким образом, можно вести разработку, не имея постоянной непосредственной связи с хранилищем конфигурации.