Как добавить дополнительные реквизиты для объекта, у которого нет стандартного набора свойств?

Программист 1С v8.3 (Управляемые формы)
← На главную

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

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

Почему нельзя добавить набор свойств из режима «Предприятие»

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

Этот ПВХ выполняет две ключевые функции:

  1. Хранит список самих "свойств" (например, "Цвет", "Материал", "Статус заказа").
  2. Определяет, к каким объектам системы эти свойства в принципе могут быть применены.

Именно второй пункт является ключом к нашей проблеме. В свойствах ПВХ Свойства объектов есть очень важное поле — "Тип значения характеристик". В этом поле жестко зафиксирован перечень всех типов объектов (справочников, документов и т.д.), для которых разрешено использование дополнительных реквизитов.

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

Решение 1: Изменение конфигурации для подключения к типовому механизму

Этот способ является "правильным" с точки зрения логики работы механизма, но имеет серьезные последствия. Он заключается в том, чтобы вручную добавить наш документ в список разрешенных в ПВХ Свойства объектов. Этот метод подходит, если вы твердо намерены использовать именно стандартный функционал доп. реквизитов.

Разберем по шагам, как это сделать в режиме "Конфигуратор":

  1. Откройте конфигурацию вашей базы данных.
  2. В дереве объектов конфигурации найдите ветку "Планы видов характеристик" и в ней — объект Свойства объектов.
  3. Откройте палитру свойств для этого ПВХ (правой кнопкой мыши -> "Свойства").
  4. Найдите свойство "Тип значения характеристик" и нажмите на кнопку с тремя точками, чтобы открыть окно редактирования типа данных.
  5. В открывшемся окне вы увидите список уже подключенных объектов. Нажмите кнопку "Состав" или просто найдите в списке типов нужный вам объект, например, Документ.Ссылка.ВашСпецифическийДокумент, и установите напротив него флажок.
  6. Сохраните изменения в конфигурации и обновите базу данных (F7).

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

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

Решение 2: Использование расширений — современный и безопасный подход

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

Рассмотрим этот метод:

  1. В Конфигураторе создайте новое расширение для вашей конфигурации.
  2. "Заимствуйте" в это расширение нужный вам объект-документ. Это создаст его копию внутри расширения, которую можно изменять.
  3. В заимствованном объекте перейдите на вкладку "Данные" и добавьте нужные вам реквизиты точно так же, как если бы вы редактировали сам объект. Укажите имя, тип, синоним.
  4. Далее заимствуйте форму документа и вынесите на нее новые реквизиты в удобное место.

Преимущества этого подхода:

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

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

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

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

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

  1. Найдите в дереве конфигурации ваш документ.
  2. Перейдите на вкладку "Данные".
  3. Добавьте новый реквизит с нужным именем и типом.
  4. Откройте форму документа и перетащите на нее новый реквизит.
  5. Обновите конфигурацию базы данных.

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

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

← На главную