Тема 3.11 Сервисное обслуживание информационных баз
Сохранение конфигурации
Редактирование объектов метаданных, интерфейсов и пользовательских нрав не оказывает немедленного влияния на информационную базу. Для «переноса» в информационную базу изменений, сделанных в конфигурации, следует выполнить процедуру сохранения, которая, при необходимости, будет сопровождаться реструктуризацией информационной базы.
Перед выполнением сохранения конфигурации убедитесь в наличии достаточного свободного пространства на жестком диске: если ожидается реорганизация информационной базы, размер свободного пространства должен быть не меньше текущего размера информационной базы.
Чтобы выполнить сохранение конфигурации, выберите пункт «Сохранить» в меню «Файл» главного меню Конфигуратора.
Автоматическая проверка на не сохраненную информацию выполняется также при закрытии окна «Конфигурация» или при выходе из Конфигуратора. Если необходимо, запускается процедура сохранения конфигурации.
Процесс сохранения конфигурации сопровождается выдачей различных предупредительных и информационных сообщений.
Если изменения не затрагивают структуры метаданных — например, были отредактированы только печатные формы документов, — реорганизация базы данных не требуется. В этом случае выдается запрос «Данные были модифицированы. Сохранить?».
Для сохранения всех сделанных изменений нажмите кнопку «Да». Для отказа от сохранения сделанных изменений нажмите кнопку «Нет».
Если в процессе редактирования конфигурации изменялись объекты метаданных; добавлялись новые документы, справочники, константы и так далее; редактировались свойства у существующих объектов метаданных, — процесс сохранения таких изменений требует реорганизации информационной базы и может занять длительное время. В этом случае выдается запрос о сохранении метаданных. Для отказа от сохранения изменений в конфигурации следует нажать кнопку запроса «Нет». Если нажать кнопку запроса «Да», то программа начнет анализ изменений, произведенных в конфигурации. Через некоторое время на экран будет выдан запрос, в котором будут перечислены те изменения, которые предстоит сделать в информационной базе.
Если в нем нажать кнопку «Отмена», никаких изменений сделано не будет и произойдет возвращение в программу. После нажатия кнопки «Принять» будет произведена реорганизация информационной базы и, в случае ее успешного завершения, на экран будет выдано соответствующее сообщение.
ОБРАТИТЕ ВНИМАНИЕ: В версии 1С 7.7 есть недиагностируемая проблема с обработкой скрытых файлов, которая проявлется на некоторых конфигурациях в том, что система завершает обновление с ошибкой, чреватой потерей информации. Поэтому, перед обновлением информации следует убедиться, что у системных папок 1С и файлов баз данных (*.dbf и *.cdx) сняты атрибут «скрытый» и «системный». В версиях 1С 8.x указанная проблема отсутствует (во всяком случае, на профессиональных форумах разработчиков 1С упоминаний о ней не обнаружено).
Загрузка изменений
Конфигурация задачи (структура метаданных, наборы прав и пользовательские интерфейсы) сохраняется на диске в каталоге с базой данных (определяется параметром /D в командной строке запуска 1 С: Конфигуратора) в файле с именем 1CV7.MD.
Система 1С:Предприятие не позволяет одновременно использовать созданную конфигурацию и вносить в нее изменения при помощи Конфигуратора — при попытке сохранить сделанные изменения будет выдано соответствующее сообщение о блокировке метаданных.
Однако система 1С:Предприятие позволяет разделить процесс создания конфигурации задачи и использования созданной конфигурации, и выполнять эти действия на разных компьютерах. Однако в результате информация в файле конфигурации 1CV7.MD и структура информационной базы, созданная по этому файлу, будут различными на разных компьютерах. Для загрузки измененного файла конфигурации и реорганизации информационной базы в соответствии с этими изменениями существует функция загрузки измененной конфигурации.
Для переноса изменений на другой компьютер необходимо любым путем перенести на этот компьютер (например, при помощи дискет) файл 1CV7.MD, содержащий новую конфигурацию структуры метаданных, и выполнить загрузку изменений.
Для успешной загрузки изменений необходимо соблюдать следующие условия:
- загружаемая конфигурация должна быть прямым потомком той конфигурации, в которую выполняется загрузка;
- конфигурация, в которую выполняется загрузка, не должна была модифицироваться.
На экран будет выдан стандартный диалог открытия файла, при помощи которого следует найти и открыть новый файл метаданных. После этого начнется процесс анализа различий старой и новой структур метаданных и выполнение необходимых преобразований.
Сравнение и объединение конфигураций
Режим сравнения и объединения конфигураций позволяет детально сравнить две конфигурации и объединить их. Возможно выборочное объединение по результатам сравнения. Существенно, что этот режим не требует, чтобы одна из сравниваемых конфигураций была потомком другой, как при загрузке изменений, описанной в предыдущем разделе.Этим режимом можно воспользоваться, например, в случае, когда одну конфигурацию параллельно разрабатывают несколько человек. Время от времени им необходимо объединять результаты работы (или хотя бы один раз объединить все результаты в конце разработки). Тогда, если даже в начале у разработчиков и была некая одинаковая исходная конфигурация, невозможно воспользоваться описанной в предыдущем разделе загрузкой изменений. Точнее, с ее помощью можно внести в исходную конфигурацию изменения, сделанные только одним разработчиком.
Режим сравнения и объединения конфигураций можно также использовать для сравнения двух конфигураций без объединения.
Наконец, в ситуации, когда в исходную конфигурацию нужно загрузить сделанные изменения, также полезно предварительно просмотреть и оценить их, воспользовавшись режимом сравнения и объединения конфигураций.
Сравнению в этом режиме подвергается как общие свойства агрегатных объектов метаданных, таких как справочники, документы, журналы, так и их отдельные реквизиты. Отдельно сравниваются формы объектов: тексты, таблицы и диалоги. При этом результаты сравнения общих свойств и текстов можно просмотреть детально, а по таблицам и диалогам — только зафиксировать наличие различий.
Условия сравнения
Сравниваются объекты метаданных, имеющие одинаковые идентификаторы, например, Справочник.Товары в одной конфигурации и Справочник.Товары в другой считаются одним справочником и будут сравниваться.
В частности, ссылки также сравниваются по идентификаторам. (Сравнение ссылок с одинаковыми идентификаторами необходимо потому, что, кроме идентификатора, у ссылки есть внутреннее программное содержание, которое и позволяет «правильно попадать» по ссылке в нужное место, и программе, возможно, придется изменить это содержание при объединении конфигураций). Например, не будут сравниваться ссылки в случае, когда в графу журнала нужно поместить сумму, являющуюся реквизитом документа Накладная, а идентификатор ссылки записан в текущей конфигурации как Накладная.Сумма, а в загружаемой — как Накладная.Итого. Такая ссылка считается двумя разными ссылками. Первая ссылка считается присутствующей только в текущей конфигурации, а в загружаемой конфигурации — удаленной. Вторая ссылка считается отсутствующей в текущей конфигурации, а в загружаемой конфигурации — новой.
Запуск режима сравнения и объединения конфигураций
Как будет видно ниже, хотя сравниваемые конфигурации можно считать в основном равноправными (приоритет при объединении можно отдать любой из них), в определенном аспекте именно текущая конфигурация считается основной, в которую вносятся не повреждающие ее изменения из загружаемой конфигурации. Исходя из этих соображений, рекомендуется выбирать, какую из двух конфигураций сделать текущей.
Выбранная конфигурация становится текущей, когда с ней запускается 1 С Предприятие в режиме Конфигуратора. Для загрузки второй конфигурации, которую можно будет сравнить и объединить с текущей, нужно в меню «Конфигурация» выбрать пункт «Объединение конфигураций». Появится стандартный диалог «Открыть файл конфигурации», в котором нужно найти и открыть файл 1CV7.MD загружаемой конфигурации (см. о файле 1CV7.MD в предыдущем разделе).
Совет. Если загружаемая конфигурация установлена на компьютере, путь к файлу 1CV7.MD можно предварительно посмотреть, например, в окне «Запуск 1С:Предприятия»: выбрать в нем эту конфигурацию и нажать «Изменить».
Процесс загрузки и сравнения загружаемой конфигурации с текущей сопровождается сообщениями в строке состояния Конфигуратора. В этих сообщениях указываются объекты метаданных, сравниваемые в настоящий момент.
Окно «Объединение конфигураций»
Процесс загрузки и сравнения продолжается несколько секунд, после чего открывается окно «Объединение конфигураций». Оно позволяет:
- ознакомиться с тем, какие объекты метаданных в двух конфигурациях отличаются,
- выбрать объекты, по которым необходимо детально изучить различия,
- вызвать выбранные объекты в специальное окно просмотра,
- установить один из двух возможных режимов объединения конфигураций,
- задать, какие из объектов включить в объединение,
- запустить процесс объединения конфигураций.
Первая колонка окна «Объединение конфигураций» — «Объект» — содержит дерево, на вид отличающееся от дерева в окне «Конфигурация — Метаданные» только тем, что можно установить (или снять) флажок около каждого объекта (см. пункт «Отбор объектов и запуск процесса объединения» ниже).
Вторая колонка — «Статус объекта» — может для конкретного объекта содержать указание «Объект изменен», «Объект добавлен» или не содержать никакого указания. Последнее означает, что различий непосредственно по данному объекту метаданных в сравниваемых конфигурациях не найдено. Однако, нужно иметь в виду, что, в отличие от окна «Конфигурация», в окне «Объединение конфигураций» показаны только те объекты метаданных, по которым найдены какие-либо изменения. Поэтому отсутствие статуса изменения или добавления объекта означает, что это агрегатный объект, и что изменения найдены для какого-то из составляющих его элементов. Чтобы обнаружить измененный или добавленный элемент, нужно развернуть соответствующую агрегатному объекту ветвь дерева.
Третья колонка, «Дополнение», для некоторых объектов содержит сообщение «Возможна потеря данных!!!». Такое сообщение выдастся, если есть вероятность, что изменения могут привести к потере данных.
Например, если у справочника сменилось подчинение, то, вероятно, это может привести к потере данных, что и вызовет такое сообщение. Если же у справочника поменялся комментарий, то к потере данных это привести не может, и сообщения не будет.
Нужно иметь в виду, что данное сообщение ориентировано на выбор загружаемой конфигурации в качестве приоритетной (см. переключатель в нижней части окна): в этом случае оцениваются потери данных в текущей конфигурации. Например, если некоторому параметру в текущей конфигурации определена длина 9 символов, а в загружаемой конфигурации — 5 символов, присвоение приоритета загружаемой конфигурации приведет при объединении к потере данных; именно эта ситуация отражена в колонке «Дополнение». Если же ситуация обратная, то есть, параметру в загружаемой конфигурации определена длина 9 символов, а в текущей конфигурации — 5 символов, то назначение текущей конфигурации приоритетной приведет при объединении к потере данных загружаемой конфигурации; но эта ситуация сообщениями в колонке «Дополнение» не учитывается. То есть, основным режимом работы в режиме объединения конфигураций считается такой, когда приоритет отдается загружаемой конфигурации и оценивается ущерб, который это может причинить текущей.
Режим объединения
В нижней части окна «Объединение конфигураций» можно установить режим объединения, задаваемый методом объединения и приоритетом одной из конфигураций.
Выбор метода «Замещать объекты» означает, что объект метаданных будет добавлен, если он новый, или замещен, если он измененный. Причем переносится вся структура объекта, модули, описания, формы. При этом приоритет однозначно отдается загружаемой конфигурации.
При выборе метода «Объединять объекты» происходящее при объединении конфигураций зависит от установленного приоритета.
Если из пришедшей конфигурации необходимо взять только новое и максимально сохранить старое, необходимо в рамке «Приоритет конфигурации» выбрать текущую конфигурацию. В этом режиме добавляются только новые объекты метаданных.
Тексты объединяются следующим образом:
- удаленное (то есть то, что имеется в текущей конфигурации, по отсутствует в загружаемой) остается в тексте,
- новое (то есть присутствующее в загружаемой конфигурации и отсутствующее в текущей) добавляется,
- измененное (то, что есть в обоих конфигурациях, но различается в них) добавляется в виде комментариев из загружаемой конфигурации и остается неизменным то, что было в текущей.
- таблица текущей конфигурации остается,
- таблица загружаемой конфигурации добавляется, но, если ее имя совпадает с именем таблицы текущей конфигурации, оно изменяется (например, «Таблица» -> «Таблица!»); таким образом, по этому имени в объединенной конфигурации будет вызываться таблица текущей конфигурации, но таблица загружаемой тоже не потеряна.
Диалоги объединяются следующим образом:
- новые элементы добавляются,
- те элементы диалога, что в двух конфигурациях отличаются, остаются такими, какие они в текущей.
Добавляются новые объекты метаданных и меняются измененные.
- удаленное превращается в комментарии,
- новое добавляется,
- измененное в текущей конфигурации превращается в комментарии, а из загружаемой конфигурации добавляется.
Таблицы объединяются следующим образом:
- таблица загружаемой конфигурации добавляется,
- таблица текущей конфигурации остается, но, если ее имя совпадает с именем таблицы загружаемой конфигурации, имя таблицы текущей конфигурации изменяется (тем самым, таблица текущей конфигурации не потеряна, но вызываться будет та, что из загружаемой).
Диалоги объединяются следующим образом:
- новые элементы добавляются,
- те элементы диалога, что в двух конфигурациях отличаются, становятся такими, какие они в загружаемой.
Просмотр изменений
Перед объединением конфигураций полезно просмотреть конкретные различия их объектов. Для этого нужно, установив выделение на строке, соответствующей интересующим объектам, нажать кнопку «Сравнить».
Кнопка недоступна, если объекты не текстовые и не объекты метаданных непосредственно: формы и таблицы визуально не сравниваются, по ним только фиксируется наличие изменений. Можно с помощью кнопки «Открыть» посмотреть, как они выглядят в текущей конфигурации. Для их просмотра в загружаемой конфигурации придется отдельно запустить с ней 1С:Предприятие в режиме Конфигуратора.
Кнопка «Сравнить» недоступна также в случае, если объект не имеет статуса «Объект изменен» или «Объект добавлен» (просмотр не имеет смысла, поскольку нет изменений).
Если кнопка «Сравнить» доступна, ее нажатие открывает окно «Различие между: ...». Если сравниваемые тексты большие, перед открытием окна может пройти несколько секунд.
В двух колонках окна просмотра различий помещены тексты, относящиеся в сравниваемых конфигурациях к выбранному объекту. В текстах разными цветами выделены удаленные, измененные и добавленные (новые) строки. В окне имеется панель инструментов со стандартными для текстового редактора 1С:Предприятия кнопками поиска и закладок, а также двумя кнопками, специфическими для данного окна. Это большие желто-зеленые стрелки, направленные одна вверх, другая вниз, служащие для перехода на начало ближайшего предыдущего или последующего измененного текста. Они полезны в том случае, если попался большой кусок текста без изменений. Для закрытия окна просмотра различий достаточно нажать Esc.
Отбор объектов и запуск процесса объединения
Указать, какие объекты при объединении конфигураций следует включить в процесс объединения, а какие выключить, позволяет флажок около каждого объекта в окне «Объединение конфигураций». Установленный флажок показывает, что данные объекты двух конфигураций будут объединяться. Те объекты, в строке которых текст написан серым, не могут быть самостоятельно включены в объединение конфигураций, так как являются элементами других (агрегатных) объектов. Элементы агрегатного объекта могут быть включены или выключены вместе с самим объектом. Можно включить все и выключить все объекты кнопками «Вкл. все» и «Выкл. все».
После просмотра изменений, выбора режима объединения и установки или снятия «флажков включения в процесс объединения» объектам конфигураций можно запустить процесс объединения кнопкой «ОК».
CC-BY-CA Анатольев А.Г., 24.04.2014