Основная конфигурация и конфигурация базы данных
До сих пор мы не углублялись в структуру системы 1С:Предприятие 8.0, но теперь пришло время сказать об этом несколько слов.
Вспомните, с точки зрения пользователя, программа 1С состоит из платформы и конфигурации. Мы говорили, что в каждом конкретном случае используется одна из множества возможных конфигураций. Настало время сказать, что это не совсем так.
Почему не так? Потому что в каждой информационной базе существуют, как минимум, две конфигурации.
Почему не совсем так? Потому что пользователь действительно работает всегда только с одной конфигурацией. Вторая конфигурация предназначена для разработчика или человека, который должен вносить изменения в конфигурацию (например, администратора базы данных). Для пользователя она "не видна".
Конфигурация, предназначенная для разработчика, называется Основная конфигурация (или просто Конфигурация – та, которую мы редактировали в Конфигураторе). Конфигурация, с которой работают пользователи, называется Конфигурация базы данных.
Узнай больше!
О том, сколько и каких конфигураций существует в информационной базе можно прочитать в главе "Немного о конфигурациях" на странице 535.
Основную конфигурацию можно редактировать, конфигурацию базы данных редактировать нельзя, можно только произвести обновление конфигурации базы данных на основе основной конфигурации.
Такое внутреннее устройство позволяет вносить изменения в конфигурацию, не прерывая работы пользователей (поскольку изменения вносятся в основную конфигурацию). Затем, когда разработчик будет уверен в том, что все изменения, которые он внес, верны, можно будет быстро произвести обновление конфигурации [52] базы данных, используя основную конфигурацию. Но для этого придется завершить работу всех пользователей.
Разработчик всегда может сравнить основную конфигурацию и конфигурацию базы данных, может вернуться к исходному состоянию основной конфигурации, используя конфигурацию базы данных (если, например, совсем запутался в своих изменениях
).Таким образом, взаимодействие двух конфигураций можно представить следующим образом:
Когда разработчик работает с основной конфигурацией, система всегда подсказывает ему, отличается ли его вариант основной конфигурации от того, который сохранен, и отличается ли сохраненный вариант основной конфигурации от конфигурации базы данных.
Если разработчик редактирует основную конфигурацию и редактируемый вариант основной конфигурации отличается от того, который сохранен, в заголовке окна дерева конфигурации появляется признак модифицированности конфигурации (*):
[53]
Если сохраненный вариант основной конфигурации отличается от конфигурации базы данных, в заголовке окна дерева конфигурации появляется знак отличия конфигураций (<!>):
Для сохранения основной конфигурации следует воспользоваться командой
КонфигурацияСохранить конфигурацию,
а для обновления конфигурации базы данных необходимо выполнить команду
КонфигурацияОбновить конфигурацию базы данных.
При выполнении команды ОтладкаНачать отладку, система сама сначала сохраняет основную конфигурацию, и затем производит ее сравнение с конфигурацией базы данных. В случае если конфигурации отличаются, выдается запрос на обновление конфигурации базы данных, который вы видели в предыдущих примерах.
При выполнении команды ОтладкаПродолжить, система, после описанных выше действий, предлагает еще и перезапустить приложение, чтобы прекратить текущую отладочную сессию.
Таким образом, система старается облегчить жизнь разработчика и автоматизировать часто выполняемые операции.
Важным фактом является то, что именно в момент обновления конфигурации базы данных, система создает (модифицирует) в базе данных те структуры хранения данных, которые мы описали в виде объектов конфигурации.
Таким образом, обычные элементы справочника пользователь добавляет в ту структуру базы данных, которую создала система на основе объекта конфигурации Справочник, а предопределенные элементы этого справочника система добавляет в эту структуру сама, на основе все того же описания этой структуры, которым является объект конфигурации Справочник. [54]
Отсюда следует немаловажный факт (о котором говорилось в предыдущем разделе), что если простые элементы справочника "безразличны" для конфигурации, то предопределенные элементы важны для нее, поскольку на них могут быть "завязаны" алгоритмы работы конфигурации. [55]