Работа с предопределенными элементами в 1С:Предприятие — одна из самых деликатных задач, с которыми сталкиваются как рядовой пользователь, так и опытный разработчик. Эти элементы (справочники, документы, перечисления) заложены в конфигурацию на этапе создания и часто имеют критическое значение для корректной работы системы. Однако бизнес-процессы меняются, и иногда требуется внести правки в то, что изначально казалось неизменным.

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

Материал будет полезен бухгалтерам, кадровикам, кладовщикам и другим пользователям, которые работают с ежедневно, а также начинающим программистам , которые хотят понять механизмы управления предопределенными данными. Все инструкции актуальны для последних версий платформы 1С:Предприятие 8.3 (включая 8.3.23 и новее) и типовой конфигурации 1С:ERP, 1С:Бухгалтерия 3.0, 1С:ЗУП 3.1 и других.

📊 С какой конфигурацией 1С вы работаете чаще всего?
1С:Бухгалтерия
1С:Зарплата и Управление Персоналом
1С:Управление Торговлей
1С:ERP
Другая типовой конфигурации
Самописная конфигурация

Что такое предопределенные элементы в 1С и почему их сложно менять

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

  • 📌 Справочник"Валюты" с предопределенными валютами (рубль, доллар, евро)
  • 📌 Перечисление"ВидыНоменклатуры" (товар, услуга, работа)
  • 📌 Документ"Установка цен номенклатуры" с предопределенным видом операции
  • 📌 План видов характеристик"ВидыСубконто" (счета бухгалтерского учёта)

Основная проблема при изменении таких элементов заключается в их жёсткой привязке к логике работы конфигурации. Например, если вы измените идентификатор предопределенной валюты"USD" на"US_Dollar", то все документы, где использовался старый идентификатор, перестанут корректно обрабатываться. Платформа не сможет автоматически подставить новый идентификатор в уже созданные данные.

Кроме того, предопределенные элементы часто используются в:

  • 🔹 Типовых отчётах (например, оборотно-сальдовая ведомость опирается на предопределенные счета бухгалтерского учёта)
  • 🔹 Бизнес-процессах (маршруты документов могут ссылаться на предопределенные виды операций)
  • 🔹 Интеграциях (обмен данными с другими системами через предопределенные идентификаторы)
⚠️ Внимание: Изменение предопределенных элементов в рабочей базе может привести к невозможности обновления конфигурации в будущем. Типовые обновления от рассчитаны на стандартную структуру метаданных.

Когда действительно нужно менять предопределенный элемент: 5 легитимных причин

Прежде чем приступать к изменению предопределенных данных, убедитесь, что это действительно необходимо. В 80% случаев задачу можно решить альтернативными способами (например, создать новый элемент справочника вместо изменения существующего). Рассмотрим ситуации, когда правка оправдана:

  1. Ошибка в типовой конфигурации. Например, в справочнике"Страны мира" отсутствует актуальное название государства или указан неверный код.
  2. Изменение законодательства. Если предопределенный элемент ссылается на устаревший нормативный акт (например, старую ставку НДС).
  3. Локализация для специфичного бизнеса. Например, в типовой 1С:Розница нет предопределенного вида номенклатуры"Цифровой товар", который нужен для вашего магазина.
  4. Миграция данных из другой системы. При переносе базы может потребоваться сопоставить идентификаторы предопределенных элементов.
  5. Оптимизация производительности. В редких случаях изменение структуры предопределенных данных ускоряет работу системы (например, сокращение длины идентификаторов).

Если ваша ситуация не попадает в этот список, рассмотрите альтернативные решения:

  • 🔄 Создание нового элемента вместо изменения существующего (например, добавить новую валюту вместо редактирования доллара)
  • 🔄 Использование дополнительных реквизитов для хранения специфичных данных
  • 🔄 Настройка прав доступа, если проблема в ограничении видимости элемента
💡

Перед изменением предопределенного элемента всегда проверяйте, не используется ли он в регламентных заданиях или фоновых процессах. Например, в 1С:ЗУП предопределенные виды расчётов могут участвовать в автоматическом перерасчёте зарплаты.

Способы изменения предопределенных элементов: от простого к сложному

Выбор метода зависит от типа элемента, версии платформы и ваших прав доступа. Рассмотрим все варианты — от самых безопасных до самых рискованных.

1. Изменение через интерфейс пользователя (самый безопасный способ)

Некоторые предопределенные элементы можно редактировать в режиме 1С:Предприятие, если это разрешено конфигурацией. Например:

  • 🖱️ В справочнике Валюты можно изменить наименование или символьный код валюты (но не идентификатор!)
  • 🖱️ В справочнике Контрагенты предопределенные элементы (например,"Розничный покупатель") иногда разрешается редактировать

Как проверить возможность редактирования:

  1. Откройте справочник с предопределенным элементом (например, Справочники → Валюты).
  2. Найдите нужный элемент (обычно они выделены жирным шрифтом или имеют иконку"замочка").
  3. Попробуйте открыть его на редактирование (двойной клик или кнопка"Изменить").
⚠️ Внимание: Даже если система позволяет изменить наименование предопределенного элемента, не меняйте его идентификатор (поле"Код" или"Ссылка"). Это приведёт к разрыву связей в базе.

2. Редактирование в Конфигураторе (для разработчиков)

Если элемент заблокирован в режиме 1С:Предприятие, можно попробовать изменить его в Конфигураторе:

  1. Откройте базу в режиме Конфигуратор (правой кнопкой по базе в списке →"Конфигуратор").
  2. Перейдите в дерево метаданных и найдите нужный справочник/перечисление.
  3. Откройте список предопределенных элементов (например, для справочника: правая кнопка →"Предопределённые данные").
  4. Измените необходимые свойства (наименование, синоним, но не идентификатор!).
  5. Сохраните конфигурацию и обновите базу данных (Конфигурация → Обновить базу данных).

Пример изменения предопределенной валюты в 1С:Бухгалтерия 3.0:


// 1. Открываем справочник"Валюты" в Конфигураторе

// 2. Находим предопределенный элемент"USD"

// 3. Меняем свойство"ПолноеНаименование" с"Доллар США" на"Доллар США (обновлённое)"

// 4. Сохраняем и обновляем базу

3. Программное изменение через встроенный язык

Для опытных пользователей и разработчиков доступен метод изменения предопределенных элементов через встроенный язык . Этот способ требует знания синтаксиса и понимания последствий. Пример кода для изменения наименования предопределенной валюты:

ВалютаUSD = Справочники.Валюты.НайтиПоНаименованию("Доллар США");

Если Не ВалютаUSD = Неопределено Тогда

ВалютаUSD.Наименование ="Доллар США (новое)";

ВалютаUSD.Записать;

КонецЕсли;

Ограничения программного метода:

  • 🚫 Нельзя изменить идентификатор (ссылку) элемента
  • 🚫 Не все свойства доступны для редактирования (зависит от конфигурации)
  • 🚫 Изменения могут сброситься при обновлении конфигурации

4. Прямое редактирование базы данных (крайний случай)

Это самый рискованный метод, который следует использовать только в случае крайней необходимости и при наличии резервной копии. Предопределенные элементы хранятся в системных таблицах базы данных (например, _ReferenceXX для справочников). Для редактирования потребуется:

  1. Подключиться к базе через SQL-клиент (например, Microsoft SQL Server Management Studio для MS SQL).
  2. Найти таблицу с предопределенными данными (имя зависит от конфигурации).
  3. Выполнить UPDATE-запрос для изменения нужного поля.
⚠️ Внимание: Неправильный SQL-запрос может полностью разрушить базу данных. Этот метод рекомендуется использовать только специалистам с опытом администрирования СУБД.

Создать резервную копию базы данных|Проверить, не используется ли элемент в интеграциях|Убедиться, что изменение не нарушит бизнес-логику|Протестировать изменения на копии базы|Документировать все правки для будущих обновлений-->

Пошаговая инструкция: как изменить предопределенный элемент в справочнике"Валюты"

Рассмотрим на практике самый распространённый случай — редактирование предопределенной валюты. Например, нам нужно изменить наименование доллара США с"Доллар США" на"Доллар США (USD)" для удобства пользователей.

Шаг 1. Проверка возможности редактирования

Откройте 1С:Предприятие и перейдите в справочник Валюты (Справочники → Валюты). Найдите строку с валютой"Доллар США". Если при двойном клике открывается форма редактирования — можно приступать. Если нет, потребуется Конфигуратор.

Шаг 2. Редактирование в режиме предприятия

Если редактирование разрешено:

  1. Откройте элемент"Доллар США" на изменение.
  2. В поле Наименование введите новое значение: Доллар США (USD).
  3. Поле Код (или Ссылка) не трогайте — это приведёт к ошибкам!
  4. Сохраните изменения (кнопка"Записать и закрыть").

Шаг 3. Редактирование через Конфигуратор

Если в режиме предприятия изменения заблокированы:

  1. Закройте 1С:Предприятие и откройте базу в Конфигураторе.
  2. В дереве метаданных найдите справочник Валюты.
  3. Правой кнопкой → Предопределённые данные.
  4. Найдите элемент USD (обычно он имеет идентификатор Валюты.USD).
  5. Измените свойство Наименование на Доллар США (USD).
  6. Сохраните конфигурацию (Файл → Сохранить).
  7. Обновите базу данных (Конфигурация → Обновить базу данных).

Шаг 4. Проверка изменений

После применения изменений:

  • 🔍 Откройте 1С:Предприятие и проверьте, отображается ли новое наименование в справочнике.
  • 🔍 Создайте тестовый документ (например, Поступление товаров) с новой валютой и убедитесь, что он проводится без ошибок.
  • 🔍 Проверьте отчёты (например, Оборотно-сальдовая ведомость по счетам учёта), где используется валюта.
Что делать, если после изменения валюты перестали проводиться документы?

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

1. Откатить изменения через резервную копию.

2. Вручную исправить все ссылки на старый идентификатор в таблицах базы данных (требуются знания SQL).

В будущем никогда не редактируйте поле"Код" или"Ссылка" у предопределенных элементов!

Ошибки при изменении предопределенных элементов и как их исправить

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

Ошибка Причина Решение
"Не найден объект метаданных" Изменён идентификатор предопределенного элемента, на который ссылаются другие объекты Восстановить старый идентификатор или исправить все ссылки в базе
"Ошибка при записи объекта" Попытка изменить заблокированное свойство (например, код валюты) Откатить изменения и редактировать только разрешённые поля
"Несоответствие версии конфигурации" Правки в предопределенных данных конфликтуют с типовым обновлением Снять базу с поддержки или перенести изменения в расширение
"Нарушение ссылочной целостности" Удаление или изменение элемента, на который есть ссылки в документах Восстановить элемент или заменить все ссылки через обработку

Самая распространённая ошибка — изменение идентификатора (ссылки) предопределенного элемента. Например, если в справочнике Валюты поменять USD на US_Dollar, то все документы, где использовался старый идентификатор, станут некорректными. Исправить это можно только:

  • 🔧 Восстановлением из резервной копии
  • 🔧 Ручным исправлением ссылок в таблицах базы данных (для опытных администраторов)
  • 🔧 Созданием нового элемента с правильным идентификатором и переносом данных

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

  • 📌 Переносите изменения в расширение конфигурации
  • 📌 Используйте механизм подписок на события для динамической правки данных
  • 📌 Документируйте все изменения, чтобы быстро восстановить их после обновления
💡

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

Альтернативные решения: когда менять предопределенные элементы не нужно

В 90% случаев задачу можно решить без рискованных изменений в предопределенных данных. Рассмотрим альтернативные подходы, которые сохранят стабильность системы.

1. Создание нового элемента вместо изменения существующего

Если вам не хватает предопределенного элемента (например, в справочнике ВидыНоменклатуры нет типа"Цифровой товар"), вместо изменения существующего создайте новый:

  1. Откройте справочник ВидыНоменклатуры.
  2. Создайте новый элемент с нужным наименованием (например,"Цифровой товар").
  3. Настройте права доступа и реквизиты по аналогии с другими элементами.

Преимущества:

  • ✅ Нет риска нарушить работу типовой конфигурации
  • ✅ Сохраняется возможность обновления
  • ✅ Легко откатить изменения при необходимости

2. Использование дополнительных реквизитов

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

  1. В Конфигураторе откройте справочник (например, Валюты).
  2. Добавьте новый реквизит (например, ВнешнийКод типа Строка).
  3. Заполните реквизит для нужных элементов через 1С:Предприятие.

3. Подписки на события для динамической правки

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

Процедура ПриСозданииОбъекта(Объект) Экспорт

Если Объект.ЭтоГруппа Тогда

Возврат;

КонецЕсли;

Если Объект.Ссылка = Справочники.Валюты.USD Тогда

Объект.Курс = ПолучитьАктуальныйКурсДоллара;

КонецЕсли;

КонецПроцедуры

4. Перенос логики в обработки или отчёты

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

💡

Перед тем как изменять предопределенный элемент, спросите себя:"Могу ли я решить задачу, не трогая его?". В большинстве случаев ответ будет"да", а риски — минимальными.

Как защитить предопределенные элементы от случайных изменений

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

1. Настройка прав доступа

Ограничьте права на изменение конфигурации:

  • 🔐 Создайте роль с правом только на Чтение метаданных
  • 🔐 Запретите изменение предопределенных данных для всех, кроме администраторов
  • 🔐 Используйте пароль на вход в Конфигуратор

2. Ведение журнала изменений

Включите журналирование изменений конфигурации:

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

3. Резервное копирование перед изменениями

Перед любыми правками в предопределенных данных:

  • 💾 Создайте полную копию базы (Администрирование → Выгрузить информационную базу)
  • 💾 Сохраните дамп структуры метаданных (можно через Конфигурация → Сохранить конфигурацию в файл)
  • 💾 Задокументируйте текущие настройки элемента (скриншоты или экспорт в Excel)

4. Использование расширений вместо правки типовой конфигурации

Если вам нужно изменить логику работы с предопределенными элементами, переносите изменения в расширение конфигурации:

  1. Создайте новое расширение (Конфигурация → Расширения → Добавить).
  2. Перенесите в него все модификации предопределенных данных.
  3. Это позволит обновлять типовую конфигурацию без потери изменений.
⚠️ Внимание: Даже при использовании расширений не меняйте идентификаторы предопределенных элементов. Это может привести к ошибкам при обмене данными с другими системами.

FAQ: Частые вопросы по работе с предопределенными элементами в 1С

Можно ли удалить предопределенный элемент из справочника?

Удалять предопределенные элементы категорически не рекомендуется. Это приведёт к:

  • 🔴 Ошибкам при проведении документов, которые ссылаются на удалённый элемент
  • 🔴 Проблемам при обновлении конфигурации (типовой механизм восстановит элемент)
  • 🔴 Нарушению ссылочной целостности базы данных

Если элемент не нужен, лучше отключить его использование через настройку прав или пометку на удаление (если это разрешено конфигурацией).

Как изменить предопределенный элемент в облачной версии 1С (1С:Fresh)?

В 1С:Fresh возможности редактирования предопределенных элементов сильно ограничены. Вы можете:

  • 🔹 Изменять только те поля, которые разрешено редактировать в веб-интерфейсе (обычно это наименование или комментарий)
  • 🔹 Создавать новые элементы вместо изменения существующих
  • 🔹 Использовать механизм дополнительных реквизитов для хранения специфичных данных

Для серьёзных изменений потребуется:

  1. Обратиться в поддержку 1С:Fresh с обоснованием необходимости правок.
  2. Если изменения критичны — рассмотреть переход на локальную версию .
Что будет, если при обновлении конфигурации перезапишутся мои изменения в предопределенных элементах?

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

  • 🔴 Вы правили элементы непосредственно в типовой конфигурации
  • 🔴 Не использовали механизм расширений

Чтобы избежать потери данных:

  1. Переносите все изменения в расширение конфигурации.
  2. Перед обновлением сравнивайте и объединяйте конфигурации (Конфигурация → Сравнить, объединить с конфигурацией из файла).
  3. Тестируйте обновление на копии базы перед применением на рабочей версии.
Можно ли изменить предопределенный элемент в плане видов характеристик (например, в"ВидыСубконто")?

Предопределенные элементы в планах видов характеристик (например, ВидыСубконто в бухгалтерии) изменять крайне не рекомендуется. Эти элементы жёстко зашиты в логику учёта и используются в:

  • 📊 Типовых отчётах (оборотно-сальдовая ведомость, карточка счёта)
  • 📊 Проводках и регистрах бухгалтерии
  • 📊 Механизмах закрытия периода

Если вам нужно добавить новый вид субконто:

  1. Создайте новый элемент в плане видов характеристик.
  2. Настройте для него соответствующие счета учёта.
  3. При необходимости доработайте печатные формы и отчёты.
Как перенести изменения предопределенных элементов на другую базу?

Чтобы перенести правки предопределенных элементов на другую базу, используйте один из методов:

  1. Выгрузка/загрузка данных:
    • В исходной базе выгрузите справочник с изменениями в XML (Файл → Выгрузить данные).
    • В целевой базе загрузите данные с флагом Заменять существующие.
  • Перенос через расширение: