2.7 Работа с конфигурацией базы данных
Дерево объектов конфигурации базы данных
Для просмотра структуры конфигурации базы данных, свойств, форм, макетов и другой информации об объектах можно открыть окно конфигурации базы данных. Для этого нужно выбрать пункт Конфигурация – Конфигурация базы данных – Открыть окно конфигурации БД. По виду оно не отличается от окна Конфигурация.
Приемы работы с объектам и конфигурации базы данных совпадают с приемами работы в окне Конфигурация с тем лишь отличием, что все объекты доступны только для чтения (просмотра).
Обновление конфигурации базы данных
В процессе редактирования конфигурации могут быть созданы новые, изменены существующие или удалены имеющиеся объекты.
Текущая структура базы данных может быть отлична от структуры конфигурации. Отличие конфигураций показывается в заголовке окна Конфигурация символами <!>.
ПРИМЕЧАНИЕ. Знак отличия <!> конфигураций появляется только после сохранения изменений в основной конфигурации. Однако после сохранения основной конфигурации можно продолжить внесение изменений, и в этом случае в заголовке окна Конфигурация
будут присутствовать признаки изменения для обеих конфигураций.
Чтобы выполнить приведение в соответствие конфигурации и конфигурации базы данных, необходимо произвести обновление конфигурации базы данных. Для этого нужно выбрать пункт Конфигурация – Обновить конфигурацию базы данных. Если основная конфигурация еще не была сохранена, то сначала конфигуратор выполнит ее сохранение, а потом произведет обновление конфигурации базы данных.
Если при обновлении конфигурации базы данных было открыто окно сообщений, то оно очищается.
ВНИМАНИЕ! Обновление конфигурации базы данных может потребовать прекращения работы всех пользователей.
Перед обновлением можно сравнить конфигурации, а также провести их объединение.
Если на момент выполнения обновления конфигурации базы данных выполнялась отладка, то после сохранения текущей конфигурации на экран выводится вопрос: Для обновления конфигурации базы данных необходимо прекратить отладку. Продолжить? При ответе Да отладка прекращается, и конфигурация базы данных обновляется. При ответе Нет не производится обновление, и отладка не прекращается.
Обновление конфигурации базы данных требует монопольного доступа конфигуратора к информационной базе. В зависимости от наличия пользователей, работающих с базой данных, и их режимов работы, возможно несколько вариантов поведения системы:
1. конфигуратор выдает сообщение об ошибке исключительной блокировки в том случае, если:
● используется файловый вариант базы данных;
● есть сеансы, подключенные к информационной базе без использования веб-сервера;
● нет сеансов, работающих через веб-сервер;
● обновление конфигурации требует реструктуризации базы данных.
2. конфигуратор предлагает завершить все сеансы и повторить обновление, если:
● обновление конфигурации требует реструктуризации базы данных;
● с файловым вариантом информационной базы работают веб-клиенты или тонкие клиенты, подключенные через веб-сервер;
3. в остальных случаях конфигуратор предлагает выполнить динамическое обновление.
Примечание 1. При выдаче диагностических сообщений указываются характеристики сеансов, которые мешают выполнению действия. Если количество сеансов меньше или равно 5, то выводится подробный список сеансов (с указанием имени компьютера, типа
приложения и т. д.), в противном случае выводится общее число сеансов.
Примечание 2. Работа информационной базы в монопольном режиме не переводит базу данных Microsoft SQL Server в однопользовательский (single user) режим.
Примечание 3. Для ускорения процесса реструктуризации информационной базы, при использовании СУБД Microsoft SQL Server, рекомендуется режим восстановления для базы данных устанавливать в значение Простой или С неполным протоколированием. Смену
режима можно выполнять или перед выполнением реструктуризации или на постоянной основе, если не требуется выполнять восстановление базы данных на произвольный момент времени. Перед сменой режима восстановления базы данных необходимо
выполнить резервное копирование базы данных!
Ошибка монопольного доступа
Если система не может получить монопольный доступ, то имеется возможность только дождаться, пока пользователи будут отключены от информационной базы, и повторить операцию обновления.
Завершение сеансов и попытка обновления
Если для обновления конфигурации базы данных необходимо завершить все сеансы, то пользователю выдается сообщение .
Если выбрана команда Завершить сеансы и повторить, то у пользователя запрашивается подтверждение выбранного действия (Завершение сеансов приведет к аварийному завершению работы пользователей! Выполнить завершение сеансов?) и в случае
утвердительного ответа происходит попытка завершения работы всех сеансов информационной базы. Затем выполняется попытка повторного сохранения конфигурации базы данных.
Завершение всех сеансов приведет к аварийному завершению работы всех клиентских приложений.
Возможны ситуации, когда завершение работы сеанса невозможно. Например, файловый вариант информационной базы опубликован
на веб-сервере, доступ к которому требует клиентского сертификата или на веб-сервере настроена аутентификация и для доступа требуется ввод имени пользователя и пароля. При этом к информационной базе подключения выполняются только с использованием
веб-сервера. Конфигуратор не поддерживает аутентифицированный доступ к веб-серверу и поэтому не может выполнить попытку завершения сеансов. В том случае, если Конфигуратор не смог завершить сеансы доступа к информационной базе, попытку обновления конфигурации базы данных можно либо выполнить позже, либо завершить работу сеансов другими способами.
Динамическое обновление
Если есть возможность выполнить динамическое обновление, пользователю выдается специальное сообщение (см. рис.28).
Динамическое обновление
Если выбрана команда Обновить динамически, то выполняется обновление без завершения работы пользователей. Предполагается, что выполненные изменения будут записаны динамически в виде версии изменений конфигурации (конфигурация базы данных при этом не изменяется). Допускается выполнение повторных изменений основной конфигурации. Если при очередной попытке обновления конфигурации базы данных может быть установлен монопольный режим работы, конфигуратор осуществляет обновление конфигурации базы данных с учетом всех изменений (как текущих, так и предыдущих).
Если было выполнено динамическое обновление, то работающие в этот момент пользователи продолжают работать со старой конфигурацией. Для того чтобы начать работать с обновленной конфигурацией, пользователю необходимо перезапустить систему «1С:Предприятие». Для контроля и оповещения пользователей о произведенных динамических изменениях следует использовать метод глобального контекста КонфигурацияБазыДанныхИзмененаДинамически().
ПРИМЕЧАНИЕ. После выполнения обновления конфигурации базы данных все версии, созданные динамическим обновлением, будут удалены.
Если были обнаружены изменения, требующие реструктуризации базы данных, то на экран выводится диалог со списком таких изменений для подтверждения обновления.
Для подтверждения сохранения нужно нажать кнопку Принять, для отказа – кнопку Отмена.
Фоновое обновление конфигурации базы данных
Общее описание
ПРИМЕЧАНИЕ. Доступно только для лицензии КОРП
Обновление конфигурации базы данных, которое связано с реструктуризацией базы данных, выполняемое для информационных баз большого объема, может занимать длительное время. Во время выполнения обновления, работать с информационной базой невозможно.
Для того чтобы свести потери времени на эту операцию к минимуму, существует специальный режим, выполняющий обновление конфигурации базы данных в фоновом режиме. Фоновое обновление конфигурации базы данных характеризуется следующими
особенностями:
● Доступно только в клиент-серверном варианте информационной базы;
● Может выполняться при закрытом конфигураторе.
● Большая часть фонового обновления конфигурации базы данных выполняется без монопольного доступа к базе данных (включая выполнение операции реструктуризации базы данных).
● Во время фонового обновления недоступны следующие операции:
● Редактирование конфигурации.
● Отладка прикладного решения.
● Выполнение операции обновления конфигурации базы данных.
● Не допускается использование методов УстановитьРежимАгрегатов(), УстановитьИспользованиеАгрегатов(), ПерестроитьИспользованиеАгрегатов().
● Изменение содержимого плана счетов или плана видов расчета, если связанный с ним регистр бухгалтерии или регистр расчета
участвует в операции фонового обновления. Попытка изменить содержимое таких планов счетов или планов вида расчета вызывает ошибку.
● Фоновое обновление конфигурации можно поставить «на паузу» длительностью не более 48 часов. Если «пауза» продлится более 48 часов – фоновое обновление будет отменено.
● Не поддерживается работа фонового обновления для конфигураций, находящихся в режиме совместимости с версией 8.1
● Не поддерживается работа фонового обновления конфигурации базы данных при работе на СУБД IBM DB2 9.1.
Процесс фонового обновления конфигурации состоит из нескольких этапов:
● Фаза обработки:
● Выполняется длительное время.
● Запуск данной фазы может быть выполнен любым способом:
● Интерактивно, из конфигуратора;
● Из встроенного языка (с помощью соответствующих методов);
● С помощью режима пакетного запуска конфигуратора.
● Во время выполнения фазы пользователи могут работать с информационной базой.
● Выполняется реструктуризация основного объема данных для следующих объектов конфигурации:
● Справочники,
● Документы,
● Журналы документов,
● Регистры сведений,
● Регистры накоплений,
● Регистры бухгалтерии,
● Регистры расчета,
● Последовательности,
● Планы счетов,
● Бизнес-процессы,
● Задачи.
● Во время выполнения фазы обработки, система фиксирует все измененные данные для вышеперечисленных объектов, по аналогии с механизмами обмена данными.
● Фаза актуализации:
● Запускается автоматически, после окончания фазы обработки, с интервалом 1 минута.
● Во время выполнения фазы пользователи могут работать с информационной базой.
● Фаза состоит из автоматически повторяющихся итераций. Каждая итерация анализирует изменения, накопленные с момента выполнения предыдущей итерации (или завершения фазы обработки) и выполняет реструктуризацию накопленных изменений.
● Итерации завершаются в момент перехода к следующей фазе.
● Фаза принятия изменений:
● Требует монопольный доступ к информационной базе.
● Во время выполнения фазы пользователи не могут работать с информационной базой.
● Первым шагом этой фазы выполняется актуализация данных, накопленных с момента проведения последней, перед текущей
фазой, итерации фазы актуализации.
● Затем выполняется реструктуризация данных, не участвующих в фазах обработки и актуализации. В этих данных не
предполагается большого объема изменений, и их реструктуризация выполняется быстро.
● Следующим шагом выполняется принятие всех изменений, выполненных в базе данных.
● После этого обновление конфигурации базы данных завершается.
Если фоновое обновление запущено так, что не требуется выполнения реструктуризации базы данных, то в этом случае все обновление выполняется в фазе принятия изменений, переход к которой возможен сразу после начала фонового обновления.
Во время фонового обновления имеется возможность остановить работу сервера или поставить процесс фонового обновления «на паузу».
После остановки сервера или после аварийного завершения рабочего процесса, обслуживающего системное фоновое задание, выполняющее обновление, создание первого сеанса будет происходить несколько большее время, нежели обычно. Это связано с восстановления фонового обновления. Однако сам процесс фонового обновления находится в приостановленном состоянии. Для продолжения работы необходимо возобновить работу фонового обновления. Такое поведение реализовано для того, чтобы не произошло зацикливание системы в том случае, если причиной аварийного завершения рабочего процесса, обслуживающего фоновое обновление, является собственно фоновое обновление.
После восстановления работоспособности сервера, фоновое обновление конфигурации базы данных продолжает работу следующим
образом:
● Если работа была прервана в фазе обработки, то процесс продолжается с последнего объекта конфигурации, обработка которого
не была завершена.
● Если работа была прервана в фазе актуализации – незаконченная итерация начинается заново.
СОВЕТ. Рекомендуется отменять запущенный процесс фонового обновления конфигурации базы данных в тех случаях, когда не планируется завершение фонового обновления конфигурации базы данных (например, процесс поставлен на бесконечную «паузу»). Выполнение данной рекомендации положительно скажется на характеристиках системы, т. к. не будет происходить регистрация изменений для выполнения фазы актуализации.
При выполнении операции фоновой реструктуризации следует учитывать некоторые особенности работы системы:
● Если регистр бухгалтерии или накопления добавлен в состав разделителя, то данный регистр обрабатывается во время фазы
принятия изменений.
● Если изменен тип независимого разделителя (см. здесь), то все объекты, входящие в состав этого разделителя, обрабатываются во время фазы принятия изменений.
● Если изменяется тип измерения, входящего в основной отбор независимого регистра сведений, то такой регистр обрабатывается во время фазы принятия изменений.
Диалог фонового обновления конфигурации базы данных
Для вызова операции фонового обновления конфигурации базы данных нужно выбрать пункт меню Конфигурация – Конфигурация базы данных – Фоновое обновление конфигурации базы данных. Нажатие кнопки Запустить запускает фазу обработки. При этом в окне служебных сообщений отображается текст:
Старт фонового обновления конфигурации БД прошел успешно
Конфигурация недоступна для редактирования. Выполняется фоновое обновление конфигурации базы данных.
После запуска фонового обновления конфигурация блокируется от изменения. Во время выполнения любой фазы, работу фонового обновления можно приостановить с помощью кнопки Приостановить. Для того, чтобы продолжить выполнение фонового обновления
служит кнопка Продолжить.
После окончания фазы обработки начинается фаза актуализации, во время выполнения которой можно перевести систему к выполнению фазы принятия изменений с помощью кнопки Завершить или отказаться от обновления с помощью кнопки Отменить.
СОВЕТ. Рекомендуется отменять запущенный процесс фонового обновления конфигурации базы данных в тех случаях, когда не планируется завершение фонового обновления конфигурации базы данных (например, процесс поставлен на бесконечную
«паузу»). Выполнение данной рекомендации положительно скажется на характеристиках системы, т. к. не будет происходить регистрация изменений для выполнения фазы актуализации.
Флажок Разрешить динамическое обновление служит для того, чтобы определить, нужно ли при нажатии на кнопку Запустить попытаться выполнить динамическое обновление вместо запуска процесса фонового обновления конфигурации базы данных. Если этот флажок установлен, то сразу же после нажатия на кнопку Запустить будет производиться проверка на возможность выполнить динамическое обновление конфигурации. В случае, когда конфигурация допускает такую возможность, вместо фонового обновления конфигурации базы данных будет производиться динамическое обновление.
Флажок Выполнять на сервере служит для того, чтобы определить, где будет выполняться запуск, завершение и отмена. Если этот флажок сброшен, то данные действия будут выполняться на стороне клиентского приложения, а если установлен – то на стороне сервера «1С:Предприятия». Кроме того, если установлен данный флажок, то можно выполнять обновление конфигурации только при наличии права ОбновлениеКонфигурацииБазыДанных, без установленного права Администрирование.
Сохранение конфигурации базы данных в файл
Для сохранения конфигурации базы данных в файл на диск нужно выбрать пункт Конфигурация – Конфигурация базы данных –
Сохранить конфигурацию БД в файл. На экран выводится стандартный диалог выбора файла. Необходимо выбрать каталог и указать
имя файла, в который будет записана конфигурация базы данных.
Сохраненный файл конфигурации базы данных необходим для операции сравнения и объединения конфигураций
Сравнение конфигурации и конфигурации базы данных
Если в процессе внесения изменений в конфигурацию требуется получить отчет об отличиях от конфигурации базы данных, то следует
выбрать пункт Конфигурация – Конфигурация базы данных – Сравнить, объединить с конфигурацией БД.
В случае необходимости можно восстановить измененные объекты.
Отказ от изменений в конфигурации
Для отказа от изменений в конфигурации достаточно выбрать пункт Конфигурация – Конфигурация базы данных – Вернуться к конфигурации БД.
Примечание. Пункты меню Сохранить конфигурацию БД в файл… и Вернуться к конфигурации БД доступны даже в случае закрытой редактируемой конфигурации. Команда Вернуться к конфигурации БД по-прежнему недоступна, когда информационная база подключена к хранилищу конфигурации.