Рекомендации по модификации конфигурации поставщика
Адаптация тиражной конфигурации под требования конкретного пользователя должна быть продумана с точки зрения последующих обновлений. Существующий в платформе 1С:Предприятие 8 механизм поддержки значительно упрощает данный процесс, но в случае внесения в конфигурацию поставщика достаточно серьезных изменений, интеграция обновлений, содержащихся в новой версии поставщика, в модифицированную конфигурацию требует ручной работы. Приведенный ниже список рекомендаций получен на основе анализа использования данного механизма и призван упростить решение этой задачи. Некоторые из рекомендаций более подробно описаны в разделах по поставке и поддержке конфигураций. Здесь дается сводный перечень рекомендаций:
- Не рекомендуется снимать объекты с поддержки. Нормальным правилом для объекта является "Редактируется с сохранением поддержки". Полное снятие с поддержки имеет смысл, только если дальнейшее развитие объекта предполагается производить собственными силами. Также снятие объекта с поддержки требуется, если возникает необходимость удаления объекта.
- Следует с осторожностью относиться к удалению объектов поставщика, даже в том случае, если не предполагается их непосредственное использование. Алгоритмы конфигурации поставщика могут использовать эти объекты для "внутренних нужд", и их удаление может привести к нарушению логической целостности конфигурации.
- Сортировка объектов метаданных. Особенность реализации объединения конфигураций заключается в том, что в случае серьезных различий в составе поддерева объектов выбор правила "Порядок из конфигурации поставщика" не гарантирует полного сохранения порядка после объединения. Если сохранение данного порядка представляется критичным, можно после обновления конфигурации выполнить объединение с конфигурацией поставщика, вызываемое из диалога настройки поддержки. Повторное выполнение объединения (после обновления) приведет к полному восстановлению порядка.
- Сопоставление объектов. При выполнении обновления новым объектам поставщика можно поставить в соответствие пользовательские объекты. Однако следует очень аккуратно относиться к этой процедуре, поскольку в последствии изменить данное соответствие будет невозможно.
- Добавление подчиненных объектов. Необходимость добавить реквизит или новый макет (форму) в объект, например справочник, не является поводом для снятия самого справочника с поддержки. Механизм поддержки обеспечит сохранение этого реквизита после обновления справочника. Но следует помнить, что не любое добавление подчиненного объекта одинаково просто. Например, добавление измерения в регистр серьезно меняет его функционирование.
- Обновление конфигурации в среде групповой разработки. Самая лучшая рекомендация заключается в полном захвате всех объектов конфигурации перед обновлением. Если объект не захвачен в хранилище, то его обновление выполнено не будет. Наконец захват корневого объекта конфигурации является обязательным требованием выполнения обновления.
- Редактирование конфигурации в процессе настройки обновления. Мы не рекомендуем пользоваться этой возможностью. Во-первых, последующее обновление сравнения потребует времени. Во-вторых, если в процессе редактирования появился новый объект, для которого нужно выполнить обновление, то расстановка правил по умолчанию для него выполнена не будет. Если подобная необходимость все-таки возникает, следует после завершения редактирования закрыть окно сравнения конфигураций и заново выполнить команду обновления конфигураций. В отличие от нажатия кнопки "Обновить", будет произведена полная установка правил обновления объектов.
- Не рекомендуется без серьезной необходимости переименовывать объекты метаданных, процедуры и функции. Следует помнить, что имя, используемое в модуле для доступа к какому-либо объекту, может формироваться динамически, и обнаружение и исправление таких мест может представлять собой сложную задачу. Кроме того, изменение большого количества модулей создаст дополнительные проблемы при последующих обновлениях.
- Локализация текстов модулей. Редактирование параметров функции НСтр() рекомендуется производить с использованием средства "Редактирование текстов интерфейса" а не прямым исправлением модулей. В случае использования в строках некоторых знаков препинания, корректная форма шаблона для функции НСтр() может выглядеть довольно сложной. Лучше поручить это перекодирование программе.
- Объединение сложных свойств. Следует помнить, что действительное объединение таких свойств, как формы, макеты или интерфейсы, то есть установка для них правил "Объединять с приоритетом ...", является достаточно сложным процессом, и требует обязательного ручного контроля результатов. Рекомендуется пользоваться средствами формирования визуального отчета о сравнении таких свойств для анализа различий. Иногда может оказаться целесообразным отказаться от объединения и заново внести доработки в новую версию формы поставщика.
- Модификация общих модулей. При разработке собственных универсальных процедур, рекомендуется располагать их в новых модулях, а не помещать в модули поставщика. Если возникает необходимость модификации модулей поставщика, при обновлении следует помнить о возможности настройки объединения на уровне отдельных процедур.
- По аналогии с модификацией модулей, рекомендуется по возможности добавлять новые процедуры и функции, а не изменять существующие. Если подобное невозможно (например, требуется модификация обработчика события), следует оформлять добавляемый код в отдельную процедуру, а в процедуре поставщика вставлять только ее вызов.
- Анализ изменений внесенных поставщиком. Хотя механизм формирования отчета о сравнении предоставляет достаточно полную информацию о внесенных изменениях, его анализ может занять много времени. Рекомендуется внимательно ознакомиться с прилагаемым к новой версии конфигурации поставщика файлом описания внесенных изменений. Это может помочь выбрать правильную стратегию для обновления различных объектов.
- Не следует обновлять объекты, используя копирование через буфер обмена. Это не только нарушит нормальное функционирование механизма поддержки, но может привести к нарушению логической целостности конфигурации и потере данных.
- Ознакомьтесь с разделами ИТС, посвященными механизму поставки и поддержки конфигураций. Понимание принципов его функционирования повысит эффективность его использования.