Предназначение

Рассмотрим типичную ситуацию. Фирма-поставщик выпускает тиражную конфигурацию. Клиент приобретает ее и адаптирует под свои требования. Через некоторое время поставщик выпускает новую версию, и перед клиентом встает вопрос обновления, то есть интеграции своих изменений с изменениями поставщика. Ручное объединение в подобных случаях очень трудоемко. Требуется составить список всех отличий своей конфигурации от старой конфигурации поставщика и заново внести их в новую версию. Можно делать и наоборот, то есть подготовить список изменений поставщика и внести их в свою конфигурацию, но это ничего не меняет. Многое также зависит от механизма сравнения конфигураций и подготовки отчета различий. В платформе "1С:Предприятие" версии 8 этот механизм был существенно улучшен по сравнению с "1С:Предприятием" версии 7.7, но даже самый лучший и подробный отчет от дальнейшей утомительной ручной работы не освобождает. Механизм поставки и поддержки конфигураций в значительной степени автоматизирует этот процесс.

Общая схема обновления

Подробно рассмотрим ситуацию на примере любого свойства объекта метаданных. Возможны следующие варианты:

ПользовательПоставщикПравило обновления
1МенялНе менялВзять из конфигурации пользователя
2МенялМенял?
3Не менялНе менялВзять из конфигурации пользователя
4Не менялМенялВзять из конфигурации поставщика

Таблица 1. Правила обновления по умолчанию

Нетрудно заметить, что варианты 1, 3, 4 в большинстве случаев не требуют модифицировать предложенное правило. Самый сложный случай – второй. Здесь нельзя сделать никаких предположений, но можно по крайней мере автоматически определить все такие свойства и предоставить пользователю отфильтрованный список для указания правила в каждом конкретном случае.

Реализация в платформе "1С:Предприятие 8"

Общие понятия

В "1С:Предприятии 8" любая конфигурация может стоять на поддержке одной или нескольких других конфигураций, называемых конфигурациями поставщика. В качестве конфигурации поставщика может выступать конфигурация, созданная командой Конфигурация — Поставка конфигурации — Создать файлы поставки и обновления конфигурации . В результате выполнения этой команды создается файл конфигурации ( cf) . Файл, подготовленный командой Конфигурация — Сохранить конфигурацию в файл , в качестве конфигурации поставщика использовать нельзя. Для того чтобы получить конфигурацию поставщика в виде файла информационной базы (1cd) или файла выгрузки информационной базы (dt), требуется подготовленный вышеописанным способом файл cf загрузить в требуемую информационную базу (возможно, в пустую), выполнив команду Конфигурация — Загрузить конфигурацию из файла . Затем, при необходимости, можно штатными средствами создать файл dt.

Существуют два способа встать на поддержку конфигурации поставщика. Первый — использовать конфигурацию, подготовленную вышеописанным способом (при необходимости внося в нее изменения). Фактически подготовленная конфигурация поставщика находится на поддержке той конфигурации, в которой она была создана. Аналогичный результат достигается через команды Конфигурация — Загрузить конфигурацию из файла и Администрирование — Загрузить информационную базу . Второй способ позволяет поставить на поддержку уже созданную конфигурацию пользователя. Для этого необходимо выполнить команду Конфигурация — Сравнить, объединить с конфигурацией из файла . Если в качестве выбранного файла указывается файл конфигурации поставщика, и конфигурация пользователя уже не находится на ее поддержке, предлагается после объединения встать на поддержку.

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

Способы обновления конфигурации. Обновление конфигурации может выполняться как с помощью файлов конфигурации поставщика новой версии, так и с помощью специальных файлов обновления конфигурации ( cfu) . Обновление конфигурации с помощью файлов (cf) может выполняться с любой версии (в том числе и более новой, при необходимости отказаться от внесенных изменений). При создании файла обновления поставщик указывает, для каких версий конфигурации он предназначен. Таких версий может быть несколько, но обновление может быть выполнено только с них. Это связано с тем, что файлы обновления включают в себя не всю конфигурацию, а только те изменения, которые существуют между конечной версией и указанными при создании файла обновлениями. Важно отметить, что файлы cfu не поддерживают обновления не только для более ранних версий конфигурации, чем они предназначены, но и для более поздних.

Приведем пример. Если конечная версия "4", а обновление создается только для версии "2", то невозможно будет выполнить обновление не только для версии "1", но и для версии "3". Такое ограничение связано с возможностью "обратных" изменений. То есть представим себе, что при переходе к версии "3" поставщик увеличил длину строки в типе реквизита, а в версии "4" изменил ее обратно. При подготовке обновления "2" — "4" это свойство в файл не попадет (поскольку в этих версиях значения совпадают). Если позволить использовать такой файл для обновления версии "3", то у пользователя окажется неправильная, увеличенная длина строки. Файлы обновления конфигурации имеют минимальный размер не только за счет включения в них только необходимых объектов, но и за счет применяемого в них сжатия данных. Они оптимальны для доставки обновления пользователю по низкоскоростным каналам связи. Обратной стороной является описанная выше меньшая гибкость их применения. С точки зрения дальнейшего процесса обновления применение файлов cf и cfu ничем не отличается.

Рисунок 1. Общая схема взаимодействия поставщика и пользователя

Выполнение обновления

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

Модификация алгоритма обновления с помощью правил поддержки

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

  • "Объект поставщика не редактируется" — пользователь не может изменять объект поставщика. Основное предназначение этого правила будет описано ниже, но пользователь может установить его с целью страховки от случайных изменений. При обновлении такие объекты будут полностью заменяться на объекты поставщика новой версии.
  • "Объект поставщика редактируется с сохранением поддержки" — основное правило. В этом случае алгоритм объединения в точности совпадает с описанным.
  • "Объект поставщика снят с поддержки" — пользователь не хочет выполнять дальнейшие обновления данного объекта. Для того чтобы удалить объект поставщика, предварительно ему необходимо установить данное правило.

Приведем расширенный вариант таблицы 1, с учетом правил поддержки.

ПользовательПоставщикПравила поддержки и обновления
1МенялНе менял
ЛюбоеВзять из конфигурации пользователя
2МенялМенял
Объект поставщика не редактируетсяНевозможноОбъект поставщика редактируется с сохранением поддержкиВзять из конфигурации поставщикаОбъект поставщика снят с поддержкиВзять из конфигурации пользователя3Не менялНе менял
ЛюбоеВзять из конфигурации пользователя4Не менялМенял
Объект поставщика не редактируетсяВзять из конфигурации поставщикаОбъект поставщика редактируется с сохранением поддержкиВзять из конфигурации поставщикаОбъект поставщика снят с поддержкиВзять из конфигурации пользователя

Таблица 2. Правила обновления по умолчанию с учетом правил поддержки

Ограничения действий пользователя со стороны поставщика с помощью правил поставки

Поставщик может ограничить возможные изменения пользователя с помощью правил поставки, которые можно устанавливать для каждого объекта метаданных. Данная возможность призвана ограничить возможные изменения конфигурации поставщика, нарушающие логику ее работы, после которых дальнейшая поддержка конфигурации теряет смысл. Существуют три правила поставки:

  • "Изменения разрешены";
  • "Изменения не рекомендуются";
  • "Изменения запрещены".

Далее приводятся правила поддержки (по умолчанию и доступные для выбора пользователем), соответствующие различным правилам поставки.

Рисунок 2. Соответствие правил поставки и поддержки

Чтобы вернуть конфигурацию 1С 8.3 (и 8.2) на поддержку, необходимо произвести следующие действия:

  1. Сделать резервную копию базы данных 1С.
  2. Найти, скачать и установить релиз конфигурации такой же версии, как Ваша. Если конфигурация уже есть, переходим к следующему шагу.
  3. Зайти в 1С в режиме конфигуратора. Выбрать в меню «Конфигурация — Загрузить конфигурацию из файла…» и указать путь к типовому файлу «1cv8.cf». Этот файл находится обычно в папке с шаблонами. Путь по умолчанию примерно такой: «C:UsersUserAppDataRoaming1C1cv8 mplts1cAccounting3_0_38_31».
  4. Система предупредит, что конфигурация будет полностью заменена из файла, согласиться с этим.
  5. После загрузки конфигурация вернется к поддержке, и её обновление будет происходить по стандартному сценарию.

Будьте внимательны, все изменения в конфигурации будут утеряны!

Видео инструкция по восстановлению поддержки конфигурации 1С (3 минуты):

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

Как вернуть конфигурацию поставщика на поддержку? picture_as_pdf

В этой инструкции вы узнаете, как определить, находится ли ваша конфигурация на поддержке, и как вернуть конфигурацию на поддержку.

  1. Как определить, находится ли конфигурация на поддержке?

Необходимо запустить программу в режиме «Конфигуратора»:

В главном меню выбрать «Конфигурация – Поддержка», если пункты меню не активны, то в этом же меню следует нажать «Открыть конфигурацию». После выполнения этого действия слева появится список объектов конфигурации, а в главном меню «Конфигурация – Поддержка» станет активным пункт «Настройки поддержки». Следует перейти по этому пункту меню.

  • Если в открывшемся окне «Настройки поддержки» активна кнопка «Включить возможность изменений», то конфигурация находится на поддержке. Чтобы обновить конфигурацию следует перейти к инструкции №435 «Порядок обновления конфигураций "Инфокрафт: Формула ЖКХ" и "Инфокрафт: Формула ЖКХ + Бухгалтерия»:

  • Если в открывшемся окне «Настройки поддержки» отсутствует кнопка «Включить возможность изменений», а кнопка «Снять с поддержки» не активна, то конфигурация не находится на поддержке. Чтобы установить конфигурацию на поддержку для дальнейшего обновления, следует перейти к пункту 2 текущей инструкции:

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

  1. Как поставить конфигурацию поставщика на поддержку?

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

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

Далее следует загрузить конфигурацию поставщика в информационную базу. Для этого необходимо в главном меню выбрать «Конфигурация – загрузить конфигурацию из файла. »:

В открывшемся окне следует указать путь к шаблону конфигурации 1Сv8.cf:

Для того, чтобы определить каталог, в котором находится шаблон конфигурации, следует в окне запуска 1С: Предприятие выбрать необходимую информационную базу и нажать кнопку «Настройка»:

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

Подробнее о том, как установить шаблон конфигурации можно узнать в инструкции №433 «Установка конфигурации и создание пустой базы» (https://help.gkh365.ru/formula/instructions/433/).

После нажатия «Загрузить конфигурацию из файла» в открывшемся окне следует нажать «Да»:

После выполненных действий конфигурация будет установлена на поддержку.