Коллективная разработка в 1С8

Коллективная разработка в 1С8

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

 

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

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

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

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

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

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