Если вы работаете с платформой 1С:Предприятие и наткнулись на аббревиатуру ПДО, но не до конца понимаете, что это такое — эта статья для вас. Термин встречается в документации, конфигураторах и даже в коде, но его значение не всегда очевидно, особенно для новичков. Разберёмся, что скрывается за этими тремя буквами, как планы видов характеристик связаны с объектами данных, и почему без них не обойтись в сложных конфигурациях.

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

Что такое ПДО в 1С: расшифровка и основные понятия

ПДО расшифровывается как "план видов объектов". Это системный механизм платформы 1С:Предприятие 8, который позволяет создавать иерархические структуры для классификации данных. Проще говоря, ПДО — это "каркас", на который можно вешать дополнительные свойства (характеристики, реквизиты, расчёты) для других объектов конфигурации.

Основные компоненты ПДО:

  • 📌 План видов характеристик (ПВХ) — самый распространённый тип ПДО. Используется для хранения дополнительных свойств объектов (например, цвет, размер, материал для номенклатуры).
  • 📊 План видов расчёта (ПВР) — применяется для настройки сложных расчётов (зарплата, налоги, премии).
  • 🔄 План обмена — управляет синхронизацией данных между базами.
  • 📝 План счетов — классический пример ПДО в бухгалтерии.

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

💡

Если в конфигураторе вы видите объект с префиксом "План видов...", скорее всего, это и есть ПДО. Его можно отличить по наличию вкладки "Виды" в свойствах объекта.

Зачем нужны ПДО: практические примеры использования

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

1. Дополнительные характеристики номенклатуры

Представьте магазин одежды. У каждой вещи есть базовые свойства (название, артикул, цена), но также нужны дополнительные: Цвет, Размер, Материал, Сезон. Вместо того чтобы создавать отдельные справочники для каждого свойства, можно:

  1. Создать ПВХ "ХарактеристикиНоменклатуры".
  2. Добавить в него виды: Цвет, Размер и т.д.
  3. Привязать ПВХ к справочнику Номенклатура через реквизит типа "ПланВидовХарактеристикСсылка.ХарактеристикиНоменклатуры".

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

2. Настройка зарплаты и кадрового учёта

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

  • 💰 Вид расчёта "Премия" — может иметь подвиды: "Ежемесячная", "Квартальная", "Разовая".
  • 📉 Вид расчёта "Удержание" — с подвидами: "Алименты", "Исполнительный лист", "Профсоюзные взносы".

Благодаря ПВР можно гибко настраивать формулы расчёта для каждого вида, не переписывая алгоритмы с нуля.

📊 Где вы чаще всего встречали ПДО в 1С?
В конфигурациях для торговли
В бухгалтерских решениях
В зарплатных модулях
При интеграции систем
Не сталкивался

Как ПДО связаны с планами видов характеристик (ПВХ)

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

Представьте, что у вас есть справочник Номенклатура, и для разных групп товаров нужны разные свойства:

Группа товаров Необходимые свойства
Одежда Цвет, размер, материал, сезон
Электроника Мощность, гарантия, страна-производитель
Продукты Срок годности, вес, калорийность

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

  • 🔴 Загромождение интерфейса — пользователю придётся прокручивать десятки ненужных полей.
  • 🔴 Сложность поддержки — при добавлении нового свойства потребуется изменять конфигурацию.
  • 🔴 Проблемы с отчётами — не все свойства применимы ко всем товарам.

Решение — ПВХ. Он позволяет:

  1. Создать план с видами характеристик (например, Цвет, Размер).
  2. Привязать его к справочнику Номенклатура через реквизит типа "ПланВидовХарактеристикСсылка".
  3. Для каждого товара указывать только актуальные характеристики.
Как ПВХ хранит данные физически?

В базе 1С ПВХ представлен как отдельная таблица, где каждая запись связывает объект (например, номенклатуру), вид характеристики (например, "Цвет") и её значение. Это позволяет динамически добавлять новые виды без изменения структуры основных таблиц.

Техническая реализация: как работать с ПДО в конфигураторе

Если вы разработчик или администратор , рано или поздно придётся создавать или модифицировать ПДО. Разберёмся, как это делать на практике.

Шаг 1. Создание плана видов характеристик

Откройте конфигуратор и выполните:

  1. Перейдите в ветку Общие → Планы видов характеристик.
  2. Добавьте новый объект (например, ХарактеристикиТоваров).
  3. На вкладке Виды создайте необходимые виды (например, Цвет, Размер).
  4. Для каждого вида укажите тип значения (строка, число, справочник и т.д.).

Шаг 2. Привязка ПВХ к справочнику

Теперь нужно связать ПВХ с объектами, для которых он предназначен. Например, для справочника Номенклатура:

  1. Откройте справочник Номенклатура в конфигураторе.
  2. Добавьте реквизит с типом ПланВидовХарактеристикСсылка.ХарактеристикиТоваров.
  3. Назовите реквизит, например, ДополнительныеХарактеристики.

Шаг 3. Работа с ПВХ в коде

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


// Получение значения характеристики

ЗначениеЦвета = ХарактеристикиТоваров.Цвет.Получить(СсылкаНаНоменклатуру);

// Установка значения характеристики

ХарактеристикиТоваров.Цвет.Установить(СсылкаНаНоменклатуру, "Красный");

☑️ Проверка перед использованием ПВХ

Выполнено: 0 / 4

Типичные ошибки при работе с ПДО и как их избежать

Даже опытные разработчики иногда сталкиваются с проблемами при настройке ПДО. Вот наиболее распространённые ошибки и способы их решения:

1. Неправильный тип значения вида характеристики

Если для вида Цвет указать тип "Число", а потом пытаться записать туда строку "Красный", платформа выдаст ошибку. Всегда проверяйте соответствие типов!

2. Избыточные виды в ПВХ

Не стоит создавать в ПВХ виды, которые используются только для 1-2 объектов. Например, если характеристика "Калорийность" нужна только для продуктов, лучше вынести её в отдельный ПВХ или использовать реквизит справочника.

3. Проблемы с производительностью

Если в ПВХ тысячи записей, выборки могут тормозить. Решения:

  • 🔍 Используйте отборы при выборке данных.
  • 📈 Настройте индексы для часто запрашиваемых полей.
  • 🗑️ Регулярно чистите неиспользуемые виды и значения.

4. Несогласованность данных

Если характеристики изменяются часто (например, цены или скидки), убедитесь, что:

  • 🔄 Логика обновления прописана в модулях объектов.
  • 📋 Ведётся история изменений (через механизм РегистрСведений).
💡

Перед массовым изменением характеристик в ПВХ всегда делайте резервную копию базы. Ошибки в таких операциях могут привести к потере данных!

ПДО vs. обычные справочники: когда что использовать

Новички часто спрашивают: "Зачем нужен ПВХ, если можно создать справочник с теми же свойствами?". Ответ зависит от задачи:

Критерий ПДО (ПВХ, ПВР) Обычный справочник
Гибкость структуры ✅ Можно добавлять новые виды без изменения конфигурации ❌ Требуется редактировать конфигурацию
Производительность ⚠️ Может тормозить при большом количестве записей ✅ Быстрее для простых структур
Удобство для пользователя ✅ Динамический ввод свойств ✅ Проще для небольшого количества полей
Сложность разработки ⚠️ Требует понимания механизма ✅ Проще в реализации

Когда использовать ПДО:

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

Когда достаточно справочника:

  • 📌 Свойства статичны и не меняются (например, "Единица измерения").
  • 📌 Количество полей небольшое (до 5-10).
  • 📌 Нужна максимальная производительность (например, для часто используемых справочников).
💡

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

ПДО в типовых конфигурациях: где искать примеры

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

1. 1С:Управление Торговлей (УТ 11)

  • 📦 ПВХ "ХарактеристикиНоменклатуры" — для дополнительных свойств товаров.
  • 📊 ПВР "ВидыЦен" — для управления ценами и скидками.

2. 1С:Зарплата и Управление Персоналом (ЗУП 3)

  • 💰 ПВР "ВидыРасчета" — основа для начислений и удержаний.
  • 📅 ПВР "ГрафикиРаботы" — для управления рабочим временем.

3. 1С:Бухгалтерия Предприятия (БП 3)

  • 📑 План счетов — классический пример ПДО для бухгалтерского учёта.
  • 💼 ПВХ "ВидыДоговоров" — для классификации договоров.

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

  • 🔹 Как настроены виды и их свойства.
  • 🔹 Как ПДО привязаны к другим объектам (справочникам, документам).
  • 🔹 Как организовано хранение данных (регистры, таблицы).
💡

Типовые конфигурации — это готовые примеры лучших практик. Не копируйте их слепо, но анализируйте, почему разработчики 1С выбрали именно такой подход.

FAQ: Частые вопросы о ПДО в 1С

Можно ли создать ПДО в пользовательском режиме (без конфигуратора)?

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

Как перенести ПДО из одной конфигурации в другую?

Есть несколько способов:

  1. С помощью выгрузки/загрузки конфигурации (.cf файл).
  2. Через обмен данными (например, универсальный формат EnterpriseData).
  3. Ручной перенос: скопировать объект в конфигураторе и вставить в целевую базу.

Важно: при переносе проверьте ссылки на другие объекты (справочники, документы), чтобы не было ошибок.

Почему при работе с ПВХ возникает ошибка "Недопустимое значение"?

Эта ошибка обычно означает, что:

  • 🔸 Вы пытаетесь записать значение не того типа (например, строку в числовое поле).
  • 🔸 Вид характеристики не существует в ПВХ.
  • 🔸 Нарушены права доступа на запись.

Проверьте:

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

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

  • 📜 Регистры сведений — если нужны версии данных.
  • 🗃️ Регистры накопления — для хранения изменений во времени.
  • 📂 Внешние хранилища — если данных очень много.
Как сделать отчёт по данным из ПВХ?

Для создания отчёта по ПВХ:

  1. Используйте запрос с конструктором, добавив таблицу ПВХ (она называется как ваш план, например, ПланВидовХарактеристик.ХарактеристикиТоваров).
  2. Свяжите её с основной таблицей (например, Справочник.Номенклатура) по полю Ссылка.
  3. Добавьте нужные виды характеристик в выборку.

Пример запроса:

ВЫБРАТЬ

Номенклатура.Наименование,

ХарактеристикиТоваровЦвет.Значение КАК Цвет

ИЗ

Справочник.Номенклатура КАК Номенклатура

ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ХарактеристикиТоваров.Цвет КАК ХарактеристикиТоваровЦвет

ПО Номенклатура.Ссылка = ХарактеристикиТоваровЦвет.Ссылка