Бета-версия предназначена только для создания новых проектов, использующих библиотеки. Она не содержит инструментов для выделения библиотечной функциональности из существующих проектов.
Цель бета-версии — познакомить разработчиков с новой технологией и получить обратную связь.
Библиотека — это набор объектов конфигурации «1С:Предприятия» плюс дополнительная информация, которую использует 1C:EDT. Назначение библиотеки в том, чтобы встроить в проект некоторую готовую функциональность, а затем обновлять ее по мере выхода новых версий библиотеки.
Набор объектов конфигурации, содержащийся в библиотеке, реализует ту функциональность, которая встраивается. Дополнительная информация, содержащаяся в библиотеке, позволяет 1C:EDT контролировать конфликты внедрения библиотек или их совместного использования.
Физическим воплощением библиотеки является файл с расширением clib или xlib.
.clib-файл (configuration library) это библиотека приложения, она содержит целое прикладное решение. Такую библиотеку можно использовать для создания библиотечного проекта, который будет целиком или частично находиться на поддержке у этой библиотеки.
.xlib-файл (extension library) это библиотека расширения. Она содержит одно расширение. Такую библиотеку можно использовать для создания библиотечного расширения, которое будет находиться на поддержке у этой библиотеки и адаптироваться под разных заказчиков.
Библиотечный проект имеет ссылку на свою библиотеку. Сама библиотека находится в репозитории. О том, что проект использует библиотеки, можно узнать в свойствах проекта в поле Библиотеки.
В панели Навигатор все библиотечные объекты отображаются так, как будто они находятся в рабочей области. Библиотечные объекты, которые не имеют изменений, выделены синим цветом. Объекты, не принадлежащие библиотеке (собственные объекты проекта) отображаются как обычно, черным цветом.
В перспективе Файлы структура каталогов проекта выглядит так, как будто все библиотечные объекты находятся в рабочей области: в каталоге src есть каталоги с классами объектов, в которых находятся каталоги самих объектов.
Если изменения библиотечного проекта запрещены, то в файловой системе библиотечных объектов нет, есть только те объекты, которые не принадлежат библиотеке, которые добавлены непосредственно в проект.
Если вы включаете возможность редактирования какого-нибудь библиотечного объекта и вносите в него изменения, то тогда этот объект тоже физически появляется в рабочей области, а в панели Навигатор он начинает отображаться черным цветом, как собственный объект проекта.
В процессе отладки или для передачи пользователям 1C:EDT экспортирует библиотечный проект в информационную базу. В этом случае в базе создается обычная конфигурация, содержащая все объекты (как проекта, так и его библиотеки) и не содержащая никакой информации о библиотеках, поддержке, поставке и пр.
Для хранения библиотек, внедренных в проекты, 1C:EDT создает локальный репозиторий в файловой системе. Чтобы посмотреть список используемых библиотек, в главном меню нажмите . Здесь же рядом находится Репозиторий библиотек расширений.
При работе в операционной системе Windows локальный репозиторий расположен в данных приложения: %APPDATA%\1cedt\lib-cnf-rep.
Для того, чтобы библиотеки, встроенные в проекты, можно было обновлять автоматически (или максимально используя автоматические возможности), в них используются правила поставки и правила поддержки.
Правила поставки задает разработчик библиотеки. Они указывают, какие объекты можно изменять, а какие совершенно точно должны оставаться неизменными в библиотечном проекте.
Правила поддержки задает разработчик библиотечного проекта, то есть тот человек, который использует библиотеку. С помощью этих правил он указывает 1C:EDT, в каких объектах, при обновлении библиотеки, нужно искать конфликты, а какие объекты нужно просто взять из новой версии или, наоборот, не изменять тот код, который есть в проекте.
Существует 4 правила поставки. Одно из них запрещает какие-либо изменения и пользователь библиотеки на это повлиять никак не может. Изменения запрещены — с точки зрения разработчика это правило означает, что объект настолько важен для данной библиотеки, что при любом его изменении пользователем библиотеки (если бы такое было возможно), нет смысла в дальнейшей поддержке этой библиотеки;
Два других правила разрешают пользователю библиотеки вносить изменения и отличаются лишь своей информационной составляющей. Одно говорит, что "изменять можно, скорее всего это не приведет к конфликтам". Другое — "лучше не изменять, но если очень надо, то можно":
Последнее правило поставки, Включение в конфигурацию не рекомендуется, имеет техногенный характер и предназначено в основном для разработки объектов из библиотеки стандартных подсистем. При подключении библиотеки к существующему проекту объекты, для которых установлено данное правило, по умолчанию не помечаются к включению в проект.
После своего создания библиотечный проект закрыт от изменений, поэтому обновление его библиотеки выполнятся автоматически и без конфликтов.
Несмотря на то, что проект закрыт от изменений, 1C:EDT сразу же автоматически формирует правила поддержки:
Пользователь библиотечного проекта может включить возможность изменения проекта и использовать правила, установленные автоматически, либо установить свои: