Как доработать типовую конфигурацию 1С и не потерять обновления

· 10 мин

Содержание

Конфигурацию 1С меняют в Конфигураторе: меню Конфигурация → Открыть конфигурацию, дальше правка объектов в дереве метаданных и сохранение в базу. Но сначала решите, как именно менять. Для типовой «Бухгалтерии», ЗУП или УТ правильный путь в большинстве случаев — расширение конфигурации : типовой код остаётся нетронутым, а ваши доработки живут отдельно и переживают обновления.

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

Что такое конфигурация и что в ней можно менять

Конфигурация — это «программа» внутри информационной базы: справочники, документы, регистры, отчёты, формы, модули с кодом на встроенном языке. Данные (контрагенты, проводки, остатки) хранятся рядом, но конфигурацией не являются. Платформа 1С:Предприятие одна, а конфигурации на ней — разные: Бухгалтерия предприятия, ЗУП, Управление торговлей и так далее.

Менять можно практически всё, что видно в дереве метаданных:

  • 📄 структуру данных — добавить реквизит в документ или справочник, создать новый регистр;
  • 🖼 формы — переставить поля, скрыть лишнее, добавить кнопку;
  • 🖨 печатные формы — свой макет счёта, акта, накладной;
  • 📊 отчёты — новая настройка компоновки данных или полностью свой отчёт;
  • ⚙ логику — проверки при проведении, заполнение по умолчанию, обмены.

Не любая «настройка» — это изменение конфигурации. Включить функциональную опцию, поменять учётную политику, добавить пользователя или настроить права — это работа в режиме «1С:Предприятие», конфигурация остаётся прежней. Если задачу можно решить настройками, решайте ими.

Способы доработки: от безопасного к рискованному

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

СпособЧто меняетсяЧто будет при обновленииРиск
Настройки в режиме «1С:Предприятие»Ничего в конфигурацииСохраняютсяМинимальный
Расширение конфигурацииТиповая конфигурация не затрагивается, доработки хранятся в расширенииРасширение подключается заново, обычно нужна проверка совместимостиНизкий
Правка типовой конфигурацииОбъекты поставщика меняются прямо в конфигурацииНужно объединять свои правки с новым релизомВысокий
Собственная конфигурацияВы владеете всем кодомОбновления ведёте самиЗависит от команды

Расширение вместо правки типового кода

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

Расширения создаются в Конфигураторе: Конфигурация → Расширения конфигурации. Там же их можно выгрузить в файл .cfe и загрузить в другую базу. Это удобно для переноса из тестовой копии в рабочую.

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

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

Типовая конфигурация стоит «на поддержке»: платформа знает, какие объекты принадлежат поставщику, и по умолчанию запрещает их менять. Режим настраивается в меню Конфигурация → Поддержка → Настройка поддержки. У объекта три состояния:

  1. Не редактируется — объект защищён, менять нельзя.
  2. Редактируется с сохранением поддержки — можно менять, при обновлении платформа попытается объединить ваши правки с релизом.
  3. Снят с поддержки — связь с поставщиком разорвана, обновления для объекта больше не придут.

Второй вариант разумный компромисс, если расширение не подходит. Третий — крайняя мера: вы берёте объект на себя целиком.

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

Подготовка: что сделать до первой правки

Подготовка занимает 20-30 минут, а экономит часы восстановления. Нужно три вещи.

1. Рабочая копия базы. Менять конфигурацию на рабочей базе напрямую — плохая идея. Выгрузите базу в файл (Администрирование → Выгрузить информационную базу в Конфигураторе; получится .dt) и разверните копию на отдельной базе или на стенде. Для файловой базы можно просто скопировать каталог при закрытых сеансах.

2. Сохранённая конфигурация. В Конфигураторе Конфигурация → Сохранить конфигурацию в файл создаёт .cf. Это снимок структуры и кода без данных. Имя файла удобно делать с датой и номером релиза.

3. Права и доступ. Для работы в Конфигураторе нужна роль с правом администрирования. Для части операций (обновление структуры базы, загрузка .dt) база должна быть открыта монопольно, то есть без других сеансов. Договоритесь с пользователями заранее.

Кроме того, определите, что именно вы хотите получить. Одной строкой: «в документе “Поступление” добавить поле “Номер заявки” и показывать его в печатной форме». Размытое «сделать удобнее» превращается в бесконечную доработку.

Пошагово: как изменить конфигурацию 1С в Конфигураторе

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

Шаг 1. Откройте Конфигуратор и дерево метаданных

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

Шаг 2. Создайте расширение

Конфигурация → Расширения конфигурации → Добавить. Задайте имя на латинице или кириллицей без пробелов. Расширение создастся пустым.

Шаг 3. Заимствуйте объект

В дереве основной конфигурации найдите документ, правой кнопкой выберите команду заимствования в расширение. Объект появится в дереве расширения с пометкой.

Шаг 4. Внесите изменение

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

Шаг 5. Проверьте себя до сохранения

Запустите Конфигурация → Проверка конфигурации и отметьте проверки синтаксиса, ссылок на объекты, неиспользуемых переменных. Ошибки поправьте сразу: на рабочей базе они всплывут в самый неудобный момент.

Шаг 6. Обновите конфигурацию базы данных

Сохраните изменения кнопкой F7 (Конфигурация базы данных → Обновить конфигурацию базы данных). Платформа предложит реструктуризацию, если изменилась структура хранения. Подтвердите. Если база занята другими сеансами, часть операций не пройдёт, пока они не завершатся.

Шаг 7. Запустите в режиме 1С:Предприятие и проверьте

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

Для рабочей базы переносите готовое расширение через .cfe, не повторяя правки руками. Так вы исключаете опечатки при повторении.

Перед внесением доработки в рабочую базу
Выполнено: 0 / 5

Что делать с доработками при обновлении релиза

Доработки доживают до обновления не всегда, поэтому план нужен заранее.

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

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

Порядок такой:

  1. Сделайте копию базы и сохраните .cf до обновления.
  2. Запустите обновление из Конфигуратора: Конфигурация → Поддержка → Обновить конфигурацию.
  3. Выберите файл обновления или каталог шаблонов.
  4. На этапе объединения просмотрите список объектов с конфликтами.
  5. По каждому решите, чей вариант оставить, и завершите объединение.
  6. Обновите конфигурацию базы данных и проверьте работу.

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

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

Когда базу ведут несколько разработчиков

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

Распространённые ошибки при доработке и как их избежать

Большинство проблем повторяется из года в год.

  • 🔴 Правка на рабочей базе. Одна опечатка в проведении, и документы перестают проводиться во всей организации. Всегда тестируйте на копии.
  • 🔴 Снятие с поддержки «на всякий случай». Объект уже не обновится, а через год вы не вспомните, что это сделали вы.
  • 🟠 Перезапись чужих правок при загрузке .cf. Загрузка полной конфигурации из файла заменяет всё. Если коллега успел что-то поменять, оно пропадёт.
  • 🟠 Доработка без описания. Через полгода никто не знает, зачем добавлен реквизит и что сломается, если его убрать. Ведите короткий журнал изменений.
  • 🟠 Игнор предупреждений при проверке конфигурации. Часть из них безобидна, часть — признак проблем с совместимостью.
  • 🟡 Дублирование типового. Вместо нового отчёта пытаются переписать стандартный. Часто достаточно настройки варианта отчёта.
Диагностика: выберите симптом

Сделать самому или позвать специалиста

Самостоятельно разумно решать простые задачи:

  • ✅ изменить макет печатной формы или подпись под ним;
  • ✅ скрыть ненужные поля и команды на форме;
  • ✅ настроить вариант отчёта и сохранить его для всех;
  • ✅ добавить дополнительный реквизит или сведение через встроенные механизмы без кода.

К программисту стоит идти, когда:

  • 🛠 нужно менять логику проведения документов или расчётов;
  • 🛠 затронут обмен с внешними системами (банк, сайт, другая база);
  • 🛠 доработка пересекается с регламентированной отчётностью;
  • 🛠 конфигурация уже сильно изменена и стоит «не на поддержке».

Ориентиры по стоимости, ориентировочно и для небольшого заказа: простая печатная форма или настройка отчёта у фрилансера — от 2 000 до 6 000 рублей, добавление реквизитов и доработка формы — от 3 000 до 10 000, доработка логики проведения или обмена — от 10 000 и выше в зависимости от сложности. Часовая ставка 1С-программиста в регионах — примерно 1 500-3 500 рублей, в крупных городах выше. Это порядок цен, а не прайс: точную цифру даст оценка по ТЗ.

Хорошее ТЗ экономит деньги. В нём должно быть: в какой конфигурации и какой версии работа, какой документ или отчёт меняется, что нужно получить, пример данных «до» и «после». И обязательно условие: доработка оформляется расширением, если это технически возможно.

Как лучше доработать вашу типовую конфигурацию?

Частые вопросы

Можно ли менять конфигурацию 1С без программиста?
Простые вещи можно: печатные формы, формы объектов, варианты отчётов. Для логики и обменов нужен разработчик.
Изменение конфигурации влияет на данные в базе?
Сами данные остаются, но при смене структуры (новые реквизиты, регистры) платформа выполняет реструктуризацию. Поэтому перед обновлением базы сохраняйте копию.
Что лучше: расширение или правка типовой конфигурации?
В большинстве случаев расширение. Оно проще в обновлении и легко откатывается. Прямая правка оправдана, когда расширением задача не решается.
Как вернуть конфигурацию, если доработка сломала базу?
Загрузите сохранённый .cf через Конфигурация → Загрузить конфигурацию из файла или разверните рабочую копию из .dt. Расширение достаточно отключить или удалить.
Нужно ли менять конфигурацию для интеграции с другой системой?
Не всегда. Часто хватает готовых обменов и внешних обработок, подключаемых в самой программе, без доработки конфигурации.
Можно ли обновлять конфигурацию со снятой поддержкой?
Можно через сравнение и объединение с релизом поставщика, но вручную. Автоматически такие объекты не обновятся.