Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основная конфигурация и конфигурация базы данных⇐ ПредыдущаяСтр 13 из 13
Вспомните, с точки зрения пользователя «программа 1C» состоит из платформы и конфигурации. Мы говорили, что в каждом конкретном случае используется одна из множества возможных конфигураций. Настало время сказать, что это не совсем так. Почему не так? Потому что в каждой информационной базе существуют как минимум две конфигурации. Почему не совсем так? Потому что пользователь действительно работает всегда только с одной конфигурацией. Вторая конфигурация предназначена для разработчика или человека, который должен вносить изменения в конфигурацию (например, администратора базы данных). Для пользователя она «не видна». Конфигурация, предназначенная для разработчика, называется Основная конфигурация (или просто Конфигурация - та, которую мы редактировали в конфигураторе). Конфигурация, с которой работают пользователи, называется Конфигурация базы данных. Основную конфигурацию можно редактировать. Конфигурацию базы данных редактировать нельзя, можно только произвести обновление конфигурации базы данных на основе основной конфигурации. Однако у вас может возникнуть естественный вопрос: если у нас есть две конфигурации - одна, которую можно редактировать, и другая, с которой работают пользователи, то почему же тогда основной называется редактируемая конфигурация? Ведь с точки зрения «конечного продукта» основной является именно конфигурация, с которой работают пользователи! Дело в том, что в данном случае название «основная» дано с точки зрения разработчика, и это имеет глубокий практический смысл. В общем случае информационная база 1С: Предприятия может хранить более двух конфигураций: основную конфигурацию, конфигурацию базы данных и несколько конфигураций поставщиков. Кроме этого, вне информационной базы может существовать хранилище. В нем находится конфигурация, предназначенная для групповой разработки. Вне информационной базы может существовать также некоторое количество файлов конфигураций, в том числе файлы новой поставки (рис. 3.65). Рис. 3.65. Структура конфигурации
Конфигурация поставщика, находящаяся в информационной базе, содержит предыдущее состояние поставки. Возможна ситуация, когда конфигурация находится на поддержке одновременно у нескольких поставщиков, каждый из которых поддерживает только свою часть в виде отдельной конфигурации. В этом случае информационная база будет хранить несколько конфигураций поставщиков (состояние предыдущей поставки для каждого поставщика отдельно). Файлы новой поставки могут существовать в виде файлов конфигураций (полная поставка) и файлов обновлений (поставка обновлений). Хранилище конфигурации содержит конфигурацию, предназначенную для групповой разработки. Она хранится не в виде единой конфигурации, а в виде отдельных объектов в разрезе версий конфигурации. Таким образом, мы можем получить из хранилища конфигурацию любой версии - для этого она «собирается» из объектов нужной версии. Теперь представьте, что между всеми этими видами конфигураций существует возможность сравнения и обновления. В этом случае очень легко запутаться, и название Основная конфигурация как нельзя лучше отражает конечную цель всех изменений. Теперь, возвращаясь к основной конфигурации и конфигурации базы данных, нужно заметить, что внутреннее разделение на две конфигурации позволяет вносить изменения, не прерывая работы пользователей, потому что изменения вносятся в основную конфигурацию, с которой пользователи не работают. Затем, когда разработчик будет уверен в том, что все изменения, которые он внес, верны, можно будет быстро произвести обновление конфигурации базы данных, используя основную конфигурацию. Если эти изменения не затрагивают структуру базы данных (например, если не нужно изменять таблицы, если поменялся только программный код в каком-то модуле), то обновить конфигурацию базы данных можно не прерывая работы пользователей. Это так называемое динамическое обновление. Пользователи увидят изменения только после того, как перезапустят свое приложение. Используя метод встроенного языка КонфигурацияБазыДанныхИзмененаДинамически(), можно определить программно, нужно ли перезапускать приложение. Но если изменения касаются структуры базы данных, например, добавился новый реквизит у справочника или изменился тип существующего реквизита, то тогда нужно завершить работу всех пользователей. Разработчик всегда может сравнить основную конфигурацию и конфигурацию базы данных, может вернуться к исходному состоянию основной конфигурации, используя конфигурацию базы данных (если, например, совсем запутался в своих изменениях). Таким образом, взаимодействие двух конфигураций можно представить следующим образом (рис. 3.66). Рис. 3.66. Взаимодействие двух конфигураций Когда разработчик работает с основной конфигурацией, система всегда подсказывает ему, отличается ли его вариант основной конфигурации от того, который сохранен, и отличается ли сохраненный вариант основной конфигурации от конфигурации базы данных. Если разработчик редактирует основную конфигурацию и редактируемый вариант основной конфигурации отличается от того, который сохранен, в заголовке окна дерева конфигурации появляется признак модифицированности конфигурации (*), рис. 3.67.
Если сохраненный вариант основной конфигурации отличается от конфигурации базы данных, в заголовке окна дерева конфигурации появляется знак отличия конфигураций (<! >), рис. 3.68. Рис. 3.68. Заголовок окна дерева конфигурации
Для сохранения основной конфигурации следует использовать команду Конфигурация ► Сохранить конфигурацию, а для обновления конфигурации базы данных - команду Конфигурация ► Обновить конфигурацию базы данных. При выполнении команды Отладка ► Начать отладку система сама сначала сохраняет основную конфигурацию, а затем производит ее сравнение с конфигурацией базы данных. В случае если конфигурации отличаются, выдается запрос на обновление конфигурации базы данных, который вы видели в предыдущих примерах. При выполнении команды Отладка ► Продолжить система, после описанных выше действий, предлагает еще и перезапустить приложение, чтобы прекратить текущий сеанс, запущенный в режиме отладки. Таким образом, система «старается» облегчить жизнь разработчика и автоматизировать часто выполняемые операции. Важным фактом является то, что именно в момент обновления конфигурации базы данных система создает (модифицирует) в базе данных те структуры хранения данных, которые мы описали в виде объектов конфигурации. Таким образом, обычные элементы справочника пользователь добавляет в ту структуру базы данных, которую создала система на основе объекта конфигурации Справочник. Предопределенные элементы этого справочника система добавляет в эту структуру сама, на основе все того же описания этой структуры, которым является объект конфигурации Справочник. Отсюда следует немаловажный факт (о котором говорилось в предыдущем разделе), что если простые элементы справочника «безразличны» для конфигурации, то предопределенные элементы важны для нее, поскольку на них могут быть «завязаны» алгоритмы работы конфигурации. Контрольные вопросы 1. Для чего предназначен объект конфигурации Справочник. 2. Для чего используются реквизиты и табличные части справочника. 3. Зачем нужны иерархические справочники и что такое родитель. 4. Зачем нужны подчиненные справочники и что такое владелец. 5. Какие основные формы существуют у справочника, что такое предопределенные элементы. 6. Зачем нужна основная конфигурация и конфигурация базы данных. 7. Что такое подчиненные объекты конфигурации. 8. Что такое быстрый выбор и когда его использовать.
|