Рекомендации по изменению типовых конфигураций 1C

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

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

Порядок объектов 1C

Первое, я не рекомендую изменять порядок объектов.  

К пример, был такой порядок:

Порядок объектов 1С

А стал такой:

Порядок объектов 1С

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

Порядок объектов 1С

Этот фильтр, по сути, показывает изменения, которые мы внесли в конфигурацию, и сдвинутые таким образом объекты будут нам мешать работать с остальными объектами.

Снятие с поддержки и удаление

Желательно, не снимать с поддержки объекты поставщика, и тем более удалять их. Потому что, если мы снимем с поддержки какой-то объект, например этот справочник.

Снятие объекта 1С с поддержки

То во время обновления, этот объект по умолчанию не будет обновлен, т.е. он не примет все те изменения, которые присутствуют в новом релизе поставщика. И в окне «Сравнить, объединить», которое появляется во время обновлений баз, у которых поддержка с возможностью изменения

Снятие объекта 1С с поддержки

Новые методы в общем модуле поставщика

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

Если мы создадим в общем модуле поставщика свою процедуру или функцию.

Изменение общих модулей 1С

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

Изменение общих модулей 1С

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

Изменение общих модулей 1С

Тогда во время обновления, не придётся выполнять работы по совмещению изменений поставщика и ваших изменений в общем модуле.

Переименование объектов, процедур и функции 1С

Не рекомендуется переименовывать объекты, процедуры и функции поставщика. Потому что, во время обновления придется контролировать, чтобы эти измененные методы не были затерты методами поставщика.

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

Переименование объектов, процедур и функций 1С

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

Переименование объектов, процедур и функций 1С

Если мы посмотрим, что изменилось.

Переименование объектов, процедур и функций 1С

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

Переименование объектов, процедур и функций 1С

С одной стороны, ни чего страшного: все вернется, как было. Но, тут возможны нюансы: первое, если мы что-то доработали в нашем методе с измененным названием, то эти доработки пропадут; второе, если мы используем метод с измененным названием где-то, например, в нашем общем модуле то его вызов таким и останется, как мы написали, что приведет к ошибкам.

Доработка методов модулей поставщика

Если появилась необходимость выполнить доработки какого-то типового метода, то, по возможности, все доработки выносите в отдельную процедуру. Эту процедуру лучше написать в добавленном вами общем модуле.

Например, в общем модуле ОбщегоНазначения  нужно доработать процедуру «МестоположениеКомпонентыКорректно».  

Рекомендации по доработке общих модулей поставщика 1С

Вместо того, чтобы написать весь код в этой  процедуре, будет оптимально, если создадим в нашем общем модуле экспортную процедуру, в которой напишем этот код.

Рекомендации по доработке общих модулей поставщика 1С

И её уже вызовем в процедуре  общего модуля поставщика.

Рекомендации по доработке общих модулей поставщика 1С

Копирование методов поставщика с последующей доработкой

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

Например, в этом случае, вместо процедуры «МакетСуществует» модуля поставщика.

Копирование методов поставщика с последующей доработкой

Можно создать копию этой процедуры в своем общем модуле

Копирование методов поставщика с последующей доработкой

Эту копию изменить как надо, а потом поменять вызов типовой процедуры.

Копирование методов поставщика с последующей доработкой

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

Изменение подсистем 1С: создать подчиненную

Если вы создали какой-то объект, то его желательно нужно добавить в подсистему. Рекомендую воздержаться от изменения типовой подсистемы, и создать собственную подсистему, в состав которой добавлять новые объекты.

Иногда такое не всегда приемлемо, потому что новый объект нужно включить в видимость какой-то подсистемы поставщика. Если добавить объект в саму подсистему поставщика.

Изменение подсистем 1С

То при обновлении, в том случае, когда подсистема поставщика была изменена, придется совмещать состав этой подсистемы. Чтобы и наши изменения сохранились, и новые изменения поставщика пришли.

Изменение подсистем 1С

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

Изменение подсистем 1С

И в эту подсистему включить ваш  новый  объект.

Изменение подсистем 1С

Тогда вам не придется при обновлении каждый раз работать с составом типовой подсистемы.

Рекомендации по изменению ролей в 1С

Так же, как и в вопросе с подсистемами, я рекомендую воздержаться от изменения типовых ролей, в случае добавления вами каких-то объектов и необходимостью установки прав доступа на этот объект.

Если вы создали новый объект, и стоит необходимость дать права доступа на этот объект, то изменив существующую роль, добавив в неё нужные права на этот объект.

Рекомендации по изменению ролей

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

Рекомендации по изменению ролей

Поэтому, если это возможно, то лучше создать новую роль и добавить в неё новый объект, и тогда не придётся сравнивать составы ролей при обновлении.

Рекомендации по изменению ролей

Изменение типовых форм

Рекомендуется, ограничить изменение внешнего вида формы, для этого лучше все новые элементы можно создать программно, особенно если их не много.

Если изменения значительны, то стоит создать новую форму копию типовой с префиксом, и добавить её в основные формы объекта. Но этот вариант спорный, потому что если вы измените типовую форму то при обновлении вы увидите, что форма поменялась, а в случае своей формы, вы это не узнаете, и можете пропустить критичное изменение. Или в случае, когда создана своя форма, то при обновлении нужно будет каждый раз анализировать изменения типовой формы. 

Рекомендации по написанию своего кода

Желательно весь код, который вы вносите в объекты поставщика (в модуль объекта, в модуль менеджера объекта, в модуль формы и т.д.) начинать и заканчивать префиксом, по которому будет легко найти этот код. К примеру, название организации, собственно ФИО и т.д., а также писать дату, причину изменения, описание изменения.

Рекомендации по написанию кода

На этом я закончу эту статью. Список рекомендаций открытый. Если у вас есть какие-то дополнения к полученной информации, то обязательно пишите о них в комментариях.

Подробно и наглядно рекомендации по изменению типовых конфигураций 1С в этом видео:

Статьи по теме обновлений 1С:

Как внести изменения в 1С

Активные пользователи 1С

Релизы 1С

Шаблоны конфигураций и обновлений

Учимся обновлять конфигурацию 1С

Поддержка конфигураций в 1С

Если по мимо задач по администрированию, перед вами стоят задачи по разработке в 1С, то рекомендую вам свою книгу «Программировать в 1С за 11 шагов», в которой подробно и основательно шаг за шагом даются основные знания по разработке в 1С.

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *