Урок 7.
"Обновление конфигураций".

В наши дни в бухгалтерском учете происходит настоящая революция. В связи с этим программы, предназначенные для ведения бухгалтерского учета, претерпевают огромные изменения. И так как фирма 1С постоянно выпускает обновления конфигураций,очень остро стоит вопрос об использовании и применении этих обновленных конфигураций. Кроме этого, даже если Вы не используете обновления фирмы 1С, Вы можете писать самостоятельно обновления для конфигураций, используемых на Вашем предприятии. Такое часто происходит, например, когда у Вас уникальная, разработанная лично Вами конфигурация. По этому сегодня я расскажу о том, как правильно обновлять конфигурации, тем более, что ошибок встречается много.

    Сначала хотелось бы уточнить одно понятие. Под «обновлением» я подразумеваю перенос части конфигурации из конфигурации А(новая конфигурация-источник) в конфигурацию Б (уже используемая конфигурация). При этом перед нами стоит задача максимально сохранить информацию в используемой конфигурации Б.

Рассмотрим существующие варианты объединения:

Ручное объединение. Если Вы находитесь в Конфигураторе, система позволяет скопировать любой объект (справочник, документ, реквизит).После копирования – Вы можете вставить этот объект в любую другую конфигурацию. Порядок действий прост:

    1. Открываете конфигуратор А.
    2. Находите нужный объект (например, документ «Выписка»)
    3. Копируете его через «Действия» - «Запомнить»
    4. Открываете конфигуратор Б.
    5. Выделяете тот объект, где надо вставить скопированный объект.
    6. Вставляете его через «Действия»- «Вставить»
    7. Скопированный ранее объект появится там, где Вы его вставили.

Плюсы метода: если объектов не много, то легко и быстро.

Минусов больше: надо хорошо знать, что копировать и переносить – Вы должны очень хорошо ориентироваться в обеих конфигурациях. И есть один подводный камень, который может свести на «нет» все Ваше копирование или сделать его вообще не возможным. При копировании сложных объектов (документов, справочников) может получиться так, что в объекте есть реквизит типа «Справочник.NNN». А справочника NNN в конфигурации – приемнике НЕТ. В этом случае при вставке объекта с этим реквизитом – система «потеряет» его тип – такого типа просто нет в этой конфигурации. Потеря типа может потом обернуться для Вас катастрофой. И не надо думать, что «пронесет». Есть не больше 10 типов данных, которые есть в любой конфигурации (число, дата, строка и т.д.). Остальные типы возникают в процессе работы. Легко придумать ситуацию, когда ручное копирование вообще не применимо: пусть документ типа А содержит реквизит типа «Документ.Б», а документ Б содержит реквизит типа «Документ.А». Можете проверить – не удастся скопировать вручную эти документы без потери типа. Единственное, что потом можно будет сделать – зайти в документы и вручную проставить типы этих реквизитов.

Этот способ мало пригодный для практической работы. Но знать про него надо. Способ применим как в версии 7.5 так и в версии 7.7.

Загрузка измененной конфигурации. Эффективный быстрый способ. Хорош тем, что при его выполнении думать не надо - все делается автоматически и практически без Вашего участия . Надо только соблюдать некоторые условия. Чтобы выполнить загрузку измененной конфигурации необходимо:

  1. Зайти в Конфигуратор базы-приемника. Обратите внимание – ПРИЕМНИКА!
  2. В меню «Конфигурация» выбрать «Загрузить измененную конфигурацию»
  3. В открывшемся окне указать файл 1cv7.md конфигурации-источника
    Вот здесь то и могут начаться проблемы. Система может задать вопрос «ВНИМАНИЕ! Выбранный файл конфигурации не является потомком данного файла. При реструктуризации может произойти разрушение данных!! Продолжить?»  В  любом случае: даже если Вы сейчас нажмете «ДА» - разрушение данных НЕ ПРОИЗОЙДЕТ до тех пор, пока Вы не сохраните конфигурацию. По этому отвечаем «ДА».
  4. Откроется дерево метаданных – привычные Вам справочники, документы и т.д.  Это уже НОВАЯ конфигурация.
  5. Осталось только сохранить конфигурацию через меню «Файл» -«Сохранить». Пока Вы не сохранили – можно закрыть конфигуратор и отказаться от изменения. Как только Вы сохраните – возврата назад уже не будет. Но система может отказаться сохранять конфигурацию!!! Причин может быть много.  Например, в конфигурации-приемнике  был документ А, имеющий проводки, но по каким-то причинам в загружаемой конфигурации – его нет (удалили). Система не даст удалить проведенный документ – придется сначала его  распровести, а потом снова загружать измененную конфигурацию.

Но самый большой вопрос: что такое «Выбранный файл конфигурации не является потомком данного файла»? Руководство по администрированию не дает точного определения понятия «потомок». В руководстве написано, что для успешной загрузки надо чтобы:

  • загружаемая конфигурация была прямым потомком той конфигурации, в которую осуществляется загрузка.
  • конфигурация, в которую выполняется загрузка, не должна была модифицироваться, пока модифицировался потомок.

«Потомок» означает, что загружаемая конфигурация должна быть сделана на основе обновляемой. Это требование не случайно: при загрузке измененной конфигурации система должна сравнить объекты для их замещения. Как происходит сравнение? Каждый объект, созданный в конфигураторе имеет кроме своего идентификатора скрытый ID, который нам недоступен и не изменяется в течении жизни объекта. Вот по нему то система и производит сравнение. По этой причине, два документа «Приходная накладная» и «Расходная накладная» могут оказаться перед системой одним и тем же документом, если у них каким-то чудом совпал ID. Чудо случается часто, если одна конфигурация не является потомком. По этой же причине, для системы могут оказаться разными справочники с одинаковым идентификатором.

«Загрузка измененной конфигурации» - способ хороший, но только если следить за потомством. Им можно пользоваться как в 7.5 так и в 7.7.

Объединение конфигураций. На сегодняшний день это самый «продвинутый способ». Он не является полностью автоматическим и в этом его плюс: настроить можно все что захотите. Но надо себе четко представлять некоторые детали, чтобы не наделать ошибок. Не требуется, чтобы загружаемая конфигурация была потомком. Конфигурация может быть любой! Сравнение метаданных осуществляется по их идентификаторам, что так же очень удобно. Объединение конфигураций позволяет:

- ознакомиться с тем, какие объекты метаданных в двух конфигурациях отличаются,

- выбрать объекты, по которым необходимо детально изучить различия,

- вызвать выбранные объекты в специальное окно просмотра,

- установить один из двух возможных режимов объединения конфигураций,

- задать, какие из объектов включить в объединение,

 

Осуществление:

    1. зайти в конфигуратор базы-приемника.
    2. меню «Конфигурация» - пункт «Объединение конфигураций».
    3. в открывшемся окне выбрать md файл  загружаемой конфигурации.
    4. после анализа двух конфигураций, появится окно в котором надо настроить объединение.

В открывшемся окне отображаются метаданные обеих конфигураций. Первая колонка – содержит дерево метаданных, где с помощью установки флажков можно выбирать загружаемые объекты. Вторая колонка – статус объекта. Статус может принимать несколько значений «объект добавлен», «Объект изменен». Если статус не указан, это означает, что изменений не произошло. Третья колонка – «Дополнение». Здесь может содержаться важный комментарий. Например, «возможна потеря данных!!!»

Режимы объединения. В нижней части окна «Объединение конфигураций» можно установить режим объединения, задаваемый методом объединения и приоритетом одной из конфигураций.

Выбор метода «Замещать объекты» означает, что объект метаданных будет добавлен, если он новый, или замещен, если он измененный. Причем переносится вся структура объекта, модули, описания, формы. При этом приоритет однозначно отдается загружаемой конфигурации.

При выборе метода «Объединять объекты» происходящее при объединении конфигураций зависит от установленного приоритета.

Если из пришедшей конфигурации необходимо взять только новое и максимально сохранить старое, необходимо в рамке «Приоритет конфигурации» выбрать текущую конфигурацию. В этом режиме добавляются только новые объекты метаданных.

 

Прииритет "Текущая Конфигурация"

Приоритет "Загружаемая Конфигурация"

Тексты

-       удаленное (то есть то, что имеется в текущей конфигурации, но отсутствует в загружаемой) остается в тексте

-       новое (то есть присутствующее в загружаемой конфигурации и отсутствующее в текущей) добавляется

-       измененное (то, что есть в обоих конфигурациях, но различается в них) добавляется в виде комментариев из загружаемой конфигурации и остается неизменным то, что было в текущей.

 

-  удаленное превращается в комментарии,

-  новое добавляется,

- измененное в текущей конфигурации превращается в комментарии, а из загружаемой конфигурации добавляется.

 

Таблицы

- таблица текущей конфигурации остается,

- таблица загружаемой конфигурации добавляется, но, если ее имя совпадает с именем таблицы текущей конфигурации, оно изменяется (например, «Таблица» на  «Таблица!»); таким образом, по этому имени в объединенной конфигурации будет вызываться таблица текущей конфигурации, но таблица загружаемой тоже не потеряна.

-  таблица загружаемой конфигурации добавляется,

-  таблица текущей конфигурации остается, но, если се имя совпадает с именем таблицы загружаемой конфигурации, имя таблицы текущей конфигурации изменяется (тем самым, таблица текущей конфигурации не потеряна, но вызываться будет та, что из загружаемой).

 

Диалоги

- новые элементы добавляются,

- те элементы диалога, что в двух конфигурациях отличаются, остаются такими, какие они в текущей.

 

-  новые элементы добавляются,

- те элементы диалога, что в двух конфигурациях отличаются, становятся такими, какие они в загружаемой конфигурации.

Обращаю Ваше внимание на кнопку «Сравнить», которая есть в диалоге. С ее помощью удобно сравнивать модули – хорошо видно, что убавилось/добавилось/изменилось.

Плюсы метода «Объединение конфигураций»: удобно, гибко. Можно перенести объекты их любой конфигурации в любую. Минусы: немного сложно и потребуется поэкспериментировать, чтобы добиться нужного результата.

Режим объединения конфигураций появился только в версии 7.7.

Важно: каким бы способом Вы не пользовались, не забудьте сделать архивную копию обновляемой базы.

Одно из применений: рекомендую Вам конфигурировать не в основной базе, а в ее копии. В этом случае Вы не рискуете испортить что-нибудь в процессе тестирования и отладки. После того, как все проверено и отлажено – с помощью объединения конфигураций перенесите все, что Вы наконфигурили,  в основную базу.

Hosted by uCoz