Обновление конфигурации базы данных
Актуализация знаний. В мастер-классе «Возможности работы с конфигурацией Часть 1» рассмотрели из чего состоит информационная база, «Процесс внесения изменений в конфигурации», где подробно разобрали специальные символы в заголовке окна «Конфигурация» при внесении изменений в основную конфигурацию.
В процессе работы с основной конфигурацией, при наличии подключенных к базе данных пользовательских сеансах, возникает ряд нюансов по сохранению и обновлению конфигураций.
- Сохранить внесенные изменения в «Основную конфигурацию» возможно в любое время (в ряде случаев нельзя лишь обновить конфигурацию базы данных)
- Если в конфигурацию внесены изменения, связанные с изменением структуры информационной базы (добавлены или изменены справочники, документы и т.д.), то при обновлении конфигурации базы данных должна быть завершена работа в режиме 1С:Предприятие для всех пользователей данной конфигурации, если была запущена отладка, то она тоже должна быть завершена, иначе у разработчика появляется ошибка исключительной блокировки информационной базы без возможности обновления
- В остальных случаях, обновление конфигурации базы данных можно осуществить динамически, не завершая пользовательские сеансы, при этом у разработчика появляется ошибка исключительной блокировки информационной базы с возможностью динамического обновления без завершения работы пользователей, но отладка все равно завершается с возможностью повторного ее запуска
Поставка конфигурации
Поставка конфигурации – это механизм системы 1С:Предприятие, предназначенный для создания файлов поставки и обновления, а также комплектов поставки, которые предназначены для установки на пользовательском компьютере шаблонов чистой конфигурации, демо конфигурации и файлов обновления.
Если ведется разработка тиражного прикладного решения, то для удобства установки прикладного решения и его дальнейшего обновления на компьютерах клиентов, удобно использовать поставки конфигурации.
Для создания поставки, обязательно должны заполнены свойства конфигурации, такие как: «Имя», «Синоним», «Поставщик» и «Версия».
Общие сведения о выпуске конфигураций
Общие сведения о выпуске конфигураций указаны на сайте 1С:ИТС по ссылке https://its.1c.ru/db/v8std#content:484:hdoc
- Конфигурации выпускаются версиями и редакциями.
- Версия – исправление текущих ошибок и внесение незначительных усовершенствований. Выпуск новой версии должен обеспечивать переход с предыдущей с сохранением данных.
- Редакция – внесение существенных изменений в структуру учета, требующих преобразования данных. Формальным, но не обязательным, признаком новой редакции является необходимость переноса данных путем конвертации. При выпуске новой редакции желательно обеспечивать переход с сохранением данных. Если по каким-либо причинам это невозможно, необходимо описать процедуру перехода на новую редакцию (начало работы, перенос начальных остатков и т.д.).
Нумерация редакций и версий
Нумерация редакций и версий указана на сайте 1С:ИТС по ссылке https://its.1c.ru/db/v8std/content/483/hdoc
- Номер очередной редакции конфигурации, начинается со следующего целого номера относительно предыдущей редакции. Для обозначения редакции обычно номер редакции объединяют через точку с номером подредакции, например, редакция 1.5, редакция 1.6 и т. д. Для новых конфигураций нумерация начинается с 1.0.
- Все версии одной подредакции (включая альфа, ознакомительные, бета и финальные версии) нумеруются подряд. Нумерация версий начинается с 1.
- Информация о номере редакции, номере подредакции и номере версии объединяются в полный номер версии конфигурации. Он указывается в свойстве Версия конфигурации и представляет собой строку символов следующего вида:
{Р|РР}.{П|ПП}.{З|ЗЗ}.{С|СС}
где:
- Р – номер редакции (минимум 1 цифра, может занимать и больше разрядов);
- П – номер подредакции (минимум 1 цифра, может занимать и больше разрядов);
- З – номер версии (минимум 1 цифра, может занимать и больше разрядов);
- С – номер сборки (минимум 1 цифра, может занимать и больше разрядов).
В нашей тестовой конфигурации укажем версию 1.0.1.1
Файлы поставки и обновления
Для создания файла поставки и обновления конфигурации необходимо выполнить пункт меню «Конфигурация – Поставка конфигурации – Создать файлы поставки и обновления конфигурации…». В окне «Создание файлов поставки и обновления конфигурации» необходимо указать каталог файлов поставки. Для создания файла поставки и обновления необходимо нажать кнопку «Выполнить».
В результате будет создан каталог с именем, совпадающим с версией конфигурации и файл поставки *.cf – это файл конфигурации.
Важно! При первом создании файлов поставки и обновления, можно создать только файл поставки, для создания файла обновления, необходимо указать прежние файлы обновления, используя кнопку «Добавить из предыдущей версии» или кнопку «Добавить».
Комплект поставки
Для создания комплекта поставки необходимо выполнить пункт меню «Конфигурация – Поставка конфигурации – Комплект поставки…». Откроется окно «Выбор описания комплекта поставки».
При первом шаге создания описания комплекта поставки выбираем пункт «Создать новое описание комплекта поставки».
Откроется конструктор «Создание описания комплекта поставки», где можно указать наименование конфигурации и поставщика, по умолчанию эта информация берется из свойств конфигурации – «Синоним» и «Поставщик».
На следующем шаге указываются параметры шаблона, их можно определить на основе заполненных свойств конфигурации, установив флаг «Определять параметры по текущей конфигурации». В свойстве «Путь» указывается каталог, в котором будет создано описание и добавлены файлы поставки.
На последнем шаге указываются файлы шаблонов:
- Текущая конфигурация – будет создан файл для создания пустой конфигурации
- Текущая информационная база – будет создан файл для создания ДЕМО конфигурации с пользовательскими данными
- Каталог дополнительных файлов – можно включить в поставку любые дополнительные файлы, указав каталог их размещения этих файлов.
После отработки конструктора «Создание описания комплекта поставки» открывается редактор «Комплекта поставки». В данном окне можно редактировать содержание поставки.
Например, чтобы в списке шаблонов пустая конфигурация и конфигурация ДЕМО были в одной папке необходимо для файлов выгрузки и конфигурации в свойстве «Наименование в шаблоне» указать название этой папки в начале шаблона.
Для создания файлов комплекта необходимо нажать кнопку «Создать файлы комплекта», если описание комплекта поставки не было сохранено, то система предложит его сохранить в файл *.edf. После сохранения описания комплекта поставки система создаст каталог с файлами:
- cf – конфигурации
- dt – выгрузка ДЕМО конфигурации
- mft – манифест конфигурации – это файл с описанием шаблона конфигурации (Название, Поставщик, Версия, файлы пустой и ДЕМО конфигурации и т.д.).
Для создания самого дистрибутива используется кнопка «Создать архив комплекта» в окне редактора комплекта поставки. В результате будет создан файл с *.zip, данный файл предназначен для установки клиентом шаблонов конфигурации. Для запуска используется файл setup.exe.
В результате установки будут добавлены новые шаблоны конфигураций.
Настройка поставки
В окне «Настройка поставки» можно настроить правила поставщика на изменение объектов, а также включение объектов и исходных текстов модулей в конфигурацию. Открывается данное окно пунктом меню «Конфигурация – Поставка конфигурации – Настройка поставки…».
Правила поставщика:
- «Изменения разрешены» – допускается любое изменение в пользовательской конфигурации
- «Изменения не рекомендуются» – изменения в пользовательской конфигурации не рекомендуются
- «Изменения запрещены» – изменения полностью запрещены объектов, находящихся на поддержке. Снять с поддержки объект нельзя, для внесения в него изменений нужно снимать с поддержки всю пользовательскую конфигурацию
- «Включение в конфигурацию не рекомендуется» – при восстановлении поддержки пользовательской конфигурации, такие объекты по умолчанию не помечаются для объединения с целью включения их в пользовательскую конфигурацию.
При снятии флага «Включать в поставку исходный текст модулей объекта» в поставку не будет включен исходный код на встроенном языке, для его работы будет включен только скомпилированный текст модуля, который не доступен для просмотра.
Если файл поставки предназначен не для конечного обновления, а является промежуточным обновлением в цепочке обязательных обновлений, то флаг «Файл поставки может использоваться для обновления» нужно убрать. Например, изменился принцип хранения определенной информации, для этого добавили новый объект, первым обновлением перенесли информацию из старого объекта в новый, а при следующем обновлении, старый объект удалили окончательно.
Файл обновления
Для создания файла обновления, необходимо сначала изменить версию конфигурации, например, на 1.0.1.2. Внести изменения, например, добавить справочник «Товары». Обновить конфигурацию.
В окне «Создание файлов поставки и обновления конфигурации» указываем конфигурации для обновления используя кнопку «Добавить из предыдущей версии» или кнопку «Добавить».
Как результат получаем файл обновления конфигурации *.cfu предназначенный для обновления пользовательской конфигурации, находящейся на поддержке.
Создание комплекта поставки для обновления
Открываем существующий «Комплект поставки».
Выбираем шаблон конфигурации в свойстве «Размещение манифеста» указываем новый путь согласно версии конфигурации: CORS Academy/1.0.1.2 Нажимаем кнопку «Добавить». В появившемся окне выбираем файл обновления.
Добавляем новый вариант поставки – Обновление, в свойстве «Поставляемые файлы» указываем файл обновления.
Для создания файлов комплекта обновления нажимаем кнопку «Создать файлы поставки», в окне «Выбор варианта поставки» выбираем «Полный».
Для создания дистрибутива обновления нажимаем кнопку «Создать архив комплекта», в окне «Выбор варианта поставки» выбираем «Обновление». Будет создан файл updsetup.zip
После установки обновлений из файла updsetup.zip, они попадают в каталог C:\Users\Sergey\AppData\Roaming\1C\1c8\tmplts
Поддержка
Поддержка – это состояние конфигурации, при которой каждому объекту назначаются правила обновления, что позволяет выполнять обновление основной конфигурации файлами обновлений, содержащими новые конфигурации поставщика.
Обновление типовой конфигурации
При первичной установке типового прикладного решения, автоматически включается режим полной поддержки, что позволяет производить обновление в автоматическом режиме, при этом пользователь не имеет возможности вносить изменения в основную конфигурацию. Процесс обновления запускается пунктом меню «Конфигурация – Поддержка – Обновить конфигурацию…»
Механизмы внесения изменений в конфигурацию
Для внесения изменений в типовую конфигурацию, находящейся на полной поддержке, используются расширения конфигурации.
Если необходимо внести изменения в типовую конфигурацию без использования расширений, необходимо включить возможность изменения с сохранением поддержки, в окне «Настройка поддержки», которое открывается пунктом меню «Конфигурация – Поддержка – Настройка поддержки». Конфигурация становится нетиповой, отключается режим автоматического обновления, при этом файлы доступного обновления будут определяться, но в режиме сравнения-объединения теперь необходимо будет указывать правила и порядок обновления изменённых и добавленных элементов. Для всей конфигурации или на отдельные объекты можно назначить правила поддержки:
- «Объект поставщика не редактируется» – полностью объект на поддержке поставщика
- «Объект поставщика редактируется с сохранением поддержки» –объект частично находится на поддержке поставщика, с возможностью внесения изменений в объект пользователем
- «Объект поставщика снят с поддержки» – объект полностью снят с поддержки, данный объект не будет предлагаться для обновления файлом поставщика в окне «Обновление конфигурации», при этом пользователь может вносить в объект любые изменения.
При этом возле объекта в дереве метаданных будет отображаться соответствующая пиктограмма.
Можно конфигурацию совсем снять с поддержки для внесения изменений, без возможности дальнейшего обновления основной конфигурации файлами поставщика.
Обновление нетиповой конфигурации
Если конфигурация нетиповая, то при обновлении запускается механизм сравнения и объединения конфигураций, при этом открывается специальное окно «Сравнение и обновление конфигураций».
Окно содержит табличное поле, состоящее из трех основных колонок, в первой колонке представлено дерево метаданных основной конфигурации, во второй – дерево метаданных конфигурации из файла и в третьей колонке настраивается режим объединения и порядок подчиненных объектов.
Режимы объединения
Существует два режима объединения:
- «Объединить с приоритетом» – выделяют два варианта:
- «Объединить с приоритетом основной конфигурации» – из загружаемой конфигурации будут взяты только те изменения, которые не пересекаются с изменениями основной конфигурации, изменения, сделанные в основной конфигурации, сохраняются
- «Объединить с приоритетом новой конфигурации поставщика» – из загружаемой конфигурации будут взяты все изменения, при этом, если изменения пересекаются, то будут заменены из новой конфигурации, а если изменения, сделанные в основной конфигурации, не пересекаются, то они сохраняются
- «Взять из файла» («Взять из новой конфигурации поставщика») – измененный объект будет замещен полностью объектом из файла (из новой конфигурации поставщика)
Режим объединения можно установить:
- для всей конфигурации («Действия – Установить режим для всех»)
- для каждого объекта
- по подсистемам основной конфигурации и новой конфигурации поставщика («Действия – отметить по подсистемам…»)
Фильтр
Внизу окна «Сравнить и объединить конфигурации» расположен фильтр, который позволяет отображать и фильтровать объекты сравниваемых конфигураций по свойству – Добавленных, Изменённых и Неизменных объектов.
Проблема обновления нетиповых конфигураций заключается в конфликтах дважды измененных объектах (один и тот же объект изменен в основной конфигурации и в новой конфигурации поставщика), так как нужно изменения из основной конфигурации и в новой конфигурации поставщика объединить корректно в одно изменение.
Для демонстрации проблемных объектов используется фильтр «Показать дважды измененные объекты».
Настройка сравнения конфигураций
Выполнив пункт меню «Действия – Параметры» открывается окно «Настройка сравнения конфигураций»
В группе «История конфигураций» можно выбрать режим сравнения конфигураций. По умолчанию устанавливается значение «Основная конфигурация не связана с загружаемой». Если конфигурации связаны, то нужно выбрать характер связи. При выборе характера связи в окне «Объединение конфигурации» добавляется специальная графа у потомка, в которой специальными пиктограммами показывается история изменений объектов.
В группе «Языки сравнения» можно указать выборочное сравнение по языкам.
Свойство «Разрешать удаление объектов основной конфигурации»:
- Если установлен флаг – объекты текущей конфигурации, которым не сопоставлены объекты загружаемой конфигурации будут удалены
- Не установлен флаг – вне зависимости от приоритета объединения, объекты текущей конфигурации, которым не сопоставлены объекты загружаемой конфигурации, будут оставлены в результате объединения.
Установка соответствия объектов
При сравнении конфигураций выполняется установка соответствия объектов друг другу из двух конфигураций. Соответствие производится по именам объектов, при этом система может ошибиться, например, в сравниваемых конфигурациях имена объектов совпадают, но суть объектов разная, или наоборот, имена объектов отличаются, а суть объектов одинаковая.
Поэтому в системе предусмотрены механизмы отмены и установки соответствия объектов.
Если во время сравнения для объекта не было назначено соответствие, то его можно установить вручную, для этого в контекстном меню объекта выбираем пункт «Установить соответствие объектов». Откроется список объектов, с которыми допускается устанавливать соответствие – это объекты, которые совпадают по виду и для которых еще соответствие не установлено.
Порядок подчиненных объектов
Для объектов, которые могут иметь подчиненные объекты (например, у справочника подчиненными объектами выступают Реквизиты, Табличные части, Формы и т.д.), в некоторых случаях важен порядок следования подчиненных объектов в каждой группе (Реквизиты, Формы и т.д.).
Если после сравнения объектов порядок в группе отличается, то в колонке «Режим объединения и порядок подчиненных объектов» можно указать нужный порядок, для этого выполняем пункт меню «Действия – Установить режим для всех», в открывшемся окне «Установить режим для всех объектов» в разделе «Порядок объектов» выбираем один из двух вариантов порядка следования объектов в группе:
- Из основной конфигурации
- Из файла.
Программные модули
Для программных модулей или для отдельных блоков кода можно настроить режим объединения. Для детальной настройки объединения программных модулей используется специальное окно «Настройка объединения модулей» в котором можно для разных блоков кода установить разные режимы объединения.
Для того, чтобы в результирующем модуле объекта присутствовали строки из обоих исходных модулей, необходимо установить режим объединения «Объединить с приоритетом».
При объединении с приоритетом загружаемой конфигурации изменённый текст модуля в основной конфигурации будет закомментирован, а из загружаемой конфигурации будет добавлен новый текст.
При объединении с приоритетом основной конфигурации изменённый текст модуля в основной конфигурации останется без изменения, а из загружаемой конфигурации будет добавлен новый текст, но он будет закомментирован.
Если текст модуля был удален в конфигурации поставщика, то при объединении с приоритетом загружаемой конфигурации, этот текст в основной конфигурации превратится в комментарий.
В окне «Настройка объединения модулей» в свойстве «Порядок» можно указать порядок следования процедур и функций в модуле, исходя из основной конфигурации или загружаемого файла.
Простые свойства объектов
У объектов, значения свойств которых задается простым указанием в палитре свойств, таких как синоним, комментарий, при указании приоритета обновления, результат будет зависеть от ряда нюансов, представленных в таблице
| Значение в основной | Значение в загружаемой | Приоритет конфигурации | Результат (значение выбирается из…) |
|---|---|---|---|
| Задано | Задано | Приоритет основной | Основной |
| Задано | Не задано | Основной | |
| Не задано | Задано | Загружаемой | |
| Задано | Задано | Приоритет загружаемой | Загружаемой |
| Задано | Не задано | Основной | |
| Не задано | Задано | Загружаемой |
Например, если синоним или комментарий в основной не указан, а в загружаемой присутствует, то при объединении с приоритетом основной конфигурации значение будет взято из загружаемой конфигурации.
Управляемые формы
Отличия в управляемых формах в окне объединения конфигурации невозможно просмотреть в графическом представлении, но можно сформировать отчет о сравнении объектов. Объединение элементов управляемых форм происходит по стандартным правилам исходя из приоритета.
При наличии новых элементов на управляемой форме, они всегда добавляются независимо от приоритета обновления, а изменения у совпадающих по именам элементов применяются согласно приоритету.
Предопределенные элементы
Сопоставление предопределенных элементов происходит по внутреннему идентификатору, а не по имени, поэтому если в конфигурациях будут созданы предопределенные элементы с одинаковыми именами, они при сравнении будут считаться разными. Для получения одинаковых предопределенных элементов, необходимо скопировать элемент или выполнить объединение.
Модификация основной конфигурации на лету
Окно сравнения не блокирует работу с другими окнами, поэтому можно внести изменения в основную конфигурацию, а затем используя кнопку «Обновить», отразив изменения в окне сравнения.
Поставить конфигурацию на поддержку
У конфигурации снятой с поддержки отсутствует конфигурация поставщика, для восстановления поддержки нужно подгрузить конфигурацию поставщика. Для этого необходим файл конфигурации поставщика *.cf. Взять его можно с типовой конфигурации или не снятой с поддержки нетиповой конфигурации в окне «Настройки поддержки» нажав кнопку «Сохранить в файл».
Важно! Версии релизов должны совпадать.
Через пункт меню «Конфигурация – Сравнить, объединить с конфигурацией из файла» загружаем файл конфигурации поставщика *.cf. Конфигурация становится на поддержку.
Поставить конфигурацию на полную поддержку
Через пункт меню «Конфигурация – Загрузить конфигурацию из файла» загружаем файл конфигурации поставщика *.cf. Конфигурация становится на полную поддержку.
Важно! Все внесенные нетиповые доработки будут потеряны.
Сообщение о полной замене текущей конфигурации с полной постановкой на поддержку
Все нюансы обновления нетиповой конфигурации можно посмотреть в мини-курсе «Обновление нетиповых конфигураций 1С».
Ваганов Сергей, эксперт в области разработки прикладных решений на платформе 1С:Предприятие, преподаватель-методист CORS Academy и автор курса «Разработчик 1С с нуля до профессионала».
Статья создана на основе материалов курса «Разработчик 1С с нуля до профессионала».


























































































