Изменение кода конфигурации в Конфигураторе 1С 8.3

· 9 мин

Содержание

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

Ниже — порядок действий от входа в Конфигуратор до обновления рабочей базы: как получить права, где лежит встроенный язык 1С, как найти нужный объект в дереве метаданных, проверить изменения отладчиком и не потерять возможность обновляться на новые релизы.

Любое изменение кода делайте на копии базы. Правка модуля в рабочей базе без тестовой проверки — прямой путь к остановке работы бухгалтерии.

Что нужно для правки кода: Конфигуратор и права доступа

Менять код может пользователь, у которого в правах включена роль с административным доступом — обычно это «Администратор». Рядовой пользователь Конфигуратор просто не откроет на редактирование.

Проверьте доступ:

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

Если пункт Открыть конфигурацию неактивен или дерево открывается «серым» и недоступным для изменений — прав не хватает либо конфигурация заблокирована поддержкой (об этом ниже).

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

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

Снятие конфигурации с поддержки и возможность изменения

Типовая конфигурация (Бухгалтерия, ЗУП, Управление торговлей) поставляется «на поддержке». Это значит, что поставщик управляет её составом, а вы получаете обновления в один клик. Пока конфигурация полностью на поддержке, редактировать её объекты нельзя — замок на каждом элементе дерева.

Чтобы разрешить правку, не теряя обновлений:

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

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

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

Навигация по дереву метаданных и поиск объекта

Код в 1С привязан к объектам: документам, справочникам, обработкам, общим модулям. Дерево конфигурации — это и есть каталог всех объектов, сгруппированных по типам.

Чтобы быстро найти нужное:

  • 🔍 Нажмите Ctrl+Alt+F в дереве — откроется поиск по конфигурации, ищите по имени объекта или по строке кода.
  • 📁 Разверните ветку нужного типа: Документы, Справочники, Обработки, Общие → Общие модули.
  • 🧩 Чтобы понять, какой объект отвечает за форму в «Предприятии», в самом «Предприятии» откройте нужную форму и в её настройках или через отладку найдите имя объекта, затем ищите его в дереве.

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

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

Если не знаете, где именно выполняется нужная логика, используйте глобальный поиск по тексту (Правка → Глобальный поиск, или Ctrl+Shift+F в окне модуля) по характерной строке — названию реквизита, тексту сообщения пользователю.

Где лежит код и как редактировать модули

Встроенный язык 1С живёт в модулях. Основные виды:

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

Порядок редактирования:

  1. Откройте нужный модуль двойным кликом или через контекстное меню.
  2. Найдите процедуру — слева есть список процедур и функций для быстрого перехода.
  3. Внесите изменения. Директивы компиляции (&НаСервере, &НаКлиенте, &НаСервереБезКонтекста) определяют, где исполняется код, — не переносите клиентский код на сервер и наоборот.
  4. Проверьте синтаксис: Текст → Проверить модуль (или кнопка проверки в панели). Платформа укажет строки с ошибками.

Для подсказок по методам и свойствам держите открытым Синтакс-помощник (Справка → Синтакс-помощник). Он показывает точный синтаксис метода, параметры и пример. Контекстная подсказка по точке (после имени объекта) выводит доступные методы и свойства прямо при наборе.

Не всё нужно писать прямо в конфигурации. Если задача — разовая обработка данных или дополнительный отчёт, удобнее сделать внешнюю обработку (.epf) или внешний отчёт (.erf): это отдельный файл, который подключается к базе без изменения конфигурации. Код в нём пишется на том же встроенном языке, но конфигурация остаётся нетронутой и полностью на поддержке.

Кроме классического Конфигуратора код конфигурации можно править в 1С:Enterprise Development Tools (EDT) — отдельной среде разработки на базе Eclipse. EDT удобнее для командной работы и систем контроля версий (Git), но для точечной правки одного модуля большинство специалистов по-прежнему открывают привычный Конфигуратор.

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

Расширения конфигурации: менять код без снятия с поддержки

Это главный приём, которого часто не хватает в инструкциях. Расширения конфигурации (появились в платформе 8.3.6) позволяют добавить свой код поверх типовой конфигурации, не трогая её саму. Основная конфигурация остаётся полностью на поддержке и обновляется автоматически, а ваши доработки живут отдельным файлом .cfe.

Когда выбирать расширение:

  • нужно добавить кнопку, реквизит, изменить печатную форму ;
  • нужно переопределить или дополнить типовую процедуру;
  • важно сохранить простое автоматическое обновление.

Как создать расширение :

  1. Откройте Конфигурация → Расширения конфигурации.
  2. Нажмите Добавить, задайте имя и префикс.
  3. В расширении добавьте нужный объект или заимствуйте типовой (Добавить в расширение), затем переопределите его модуль.
  4. Сохраните расширение: Конфигурация → Сохранить конфигурацию в файл в формате .cfe.

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

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

Проверка изменений в отладчике

Прежде чем выкатывать правку пользователям, прогоните её под отладчиком. Отладчик встроен в Конфигуратор и позволяет пройти код построчно.

Как запустить отладку:

  1. Поставьте точку останова в нужной строке модуля — клик на левом поле строки или F9.
  2. Запустите отладку: Отладка → Начать отладку (F5). Откроется «Предприятие».
  3. Выполните действие, которое вызывает ваш код, — выполнение остановится на точке останова.

Инструменты во время остановки:

  • F10 — шаг с обходом процедур, F11 — шаг с заходом внутрь;
  • окно Табло — следить за значениями переменных;
  • Стек вызовов — видеть, откуда вызвана текущая процедура;
  • вычислить выражение по месту — выделить и посмотреть результат.

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

Когда код исполняется в цикле по сотням строк, обычная точка останова будет тормозить на каждой итерации. В свойствах точки останова можно задать условие — остановка сработает, только когда переменная примет нужное значение. Это экономит время при поиске одной проблемной записи среди большого объёма данных.

Для клиент-серверной базы клиентский и серверный код исполняются в разных процессах. Чтобы ловить серверные процедуры, в предмете отладки должен быть выбран сервер, иначе точка останова в &НаСервере молча не сработает.

Сравнение и объединение конфигураций

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

Сравнить с эталоном или файлом:

  1. Конфигурация → Сравнить, объединить с конфигурацией из файла.
  2. Укажите файл .cf (например, свежую типовую конфигурацию от поставщика).
  3. В окне сравнения видно, какие объекты и строки кода различаются.

Для объединения:

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

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

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

Обновление базы и поддержка актуальности

Правка в дереве конфигурации сама по себе на работу пользователей не влияет — она лежит в «основной конфигурации». Чтобы изменения заработали, их нужно перенести в конфигурацию базы данных.

  1. Нажмите F7 или Конфигурация → Обновить конфигурацию базы данных.
  2. Платформа покажет список изменений и предупредит, если нужна реструктуризация.
  3. Подтвердите обновление.

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

Чтобы оставаться на поддержке и получать обновления:

  • храните свои доработки в расширениях, а основную конфигурацию не трогайте без необходимости;
  • перед крупным обновлением делайте резервную копию (Администрирование → Выгрузить информационную базу);
  • после обновления платформы или конфигурации обязательно прогоняйте ключевые операции на тестовой копии.
Перед изменением кода в рабочей базе
Выполнено: 0 / 6

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

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