К статье
Практический материал

Администрирование · 12 мин

ПВД в 1С: что это такое и зачем нужны правила выгрузки данных

Что такое ПВД в 1С: правила выгрузки данных в Конвертации данных 2.0. Назначение, структура, настройка, типичные ошибки и порядок проверки выгрузки.

Аббревиатура ПВД в экосистеме 1С чаще всего означает правила выгрузки данных — механизм типовой конфигурации «1С:Конвертация данных» (редакция 2), которая используется для переноса информации между базами. ПВД определяют, какие объекты и в каком порядке будут выгружены из базы-источника, прежде чем правила конвертации объектов (ПКО) преобразуют их в формат базы-приёмника.

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

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

Где используются ПВД и какое место они занимают в обмене

Правила выгрузки данных живут внутри файла правил конвертации, который создаётся в конфигурации «Конвертация данных 2.0» и затем подключается к обработке «Универсальный обмен данными в формате XML» (обычно поставляется вместе с типовыми конфигурациями). При запуске выгрузки обработка последовательно обходит список ПВД, отмеченных к использованию, и для каждого выполняет отбор объектов.

Цепочка обработки выглядит так: ПВД выбирает объект из источника → срабатывает ПКО, указанное в правиле выгрузки → внутри ПКО отрабатывают ПКС (правила конвертации свойств) и обработчики событий → сформированный XML-узел записывается в файл обмена. Таким образом, ПВД — это «точка входа» данных в процесс обмена.

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

Структура правила выгрузки данных

Каждое ПВД в Конвертации данных имеет набор обязательных и необязательных параметров. Понимание этой структуры позволяет читать чужие правила и осознанно править свои.

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

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

Способы отбора данных в ПВД

Стандартная выгрузка без отбора

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

Отбор через обработчик «Перед выгрузкой»

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

Произвольный алгоритм и выборка запросом

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

Как создать и настроить ПВД: порядок действий

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

Порядок создания ПВД
  1. 1
    Загрузите структуры метаданных конфигураций источника и приёмника через обработку выгрузки описания структуры (MD83Exp.epf или аналог для вашей версии платформы)
  2. 2
    Создайте новую конвертацию, указав источник и приёмник
  3. 3
    Создайте ПКО для нужного объекта — правило конвертации должно существовать до настройки ПВД
  4. 4
    Добавьте ПВД: укажите объект выборки, способ выгрузки и ссылку на ПКО
  5. 5
    При необходимости добавьте код в обработчики событий для отбора данных
  6. 6
    Сохраните правила в XML-файл и подключите его в обработке «Универсальный обмен данными в формате XML»
  7. 7
    Выполните тестовую выгрузку на копии базы и проанализируйте файл обмена

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

Как проверить, что выгрузка отработала правильно

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

Контрольные точки

Как проверить результат выгрузки

Количество выгруженных объектов
Норма

Совпадает с ожидаемым числом объектов по отбору (можно сверить запросом в источнике)

Тревожный признак

В статистике выгрузки ноль объектов или число сильно отличается от расчётного

Протокол ошибок обработки обмена
Норма

Нет сообщений об ошибках и пропущенных объектах

Тревожный признак

Есть ошибки поиска ссылок, обязательных реквизитов или падения обработчиков

Данные в базе-приёмнике
Норма

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

Тревожный признак

Объекты созданы, но реквизиты пустые, либо появились дубли элементов справочников

Контрольные суммы по ключевым регистрам
Норма

Обороты по выгруженному периоду в источнике и приёмнике совпадают

Тревожный признак

Расхождения в остатках или оборотах после загрузки

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

Типичные ошибки при работе с ПВД

Типичные ошибки
01
ПВД создано раньше ПКО или ссылается на несуществующее правило конвертации — объекты отбираются, но не конвертируются и теряются
02
Отбор по периоду задан в обработке обмена, но не учтён в обработчиках ПВД — в файл попадают лишние документы за другие периоды
03
В обработчике «Перед выгрузкой» используется Отказ = Истина без логирования — объекты молча пропадают, и причину недостачи найти сложно
04
Выгрузка помеченных на удаление объектов без фильтра — в приёмнике появляется «мусор», который потом приходится чистить
05
Редактирование правил напрямую в XML-файле вместо Конвертации данных — структура файла нарушается, и правила перестают загружаться
06
Отсутствие версионирования файла правил — после нескольких правок невозможно понять, какая версия работала корректно

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

Чем ПВД отличается от современных альтернатив

Механизм Конвертации данных 2.0 с ПВД — проверенное, но не единственное решение. В новых конфигурациях на БСП (библиотека стандартных подсистем) для типовых обменов чаще используется EnterpriseData или универсальный формат с правилами, сгенерированными в Конвертации данных 3.0, где вместо ПВД применяются обработчики и правила обработки данных (ПОД).

Сравнение подходов к выгрузке

ПВД в Конвертации данных 2.0

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

Конвертация данных 3.0 (ПОД)

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

Типовые планы обмена

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

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

Маршрут решения

Как выбрать действие

Нужно разово перенести данные между разными конфигурациями с нестандартным отборомНастройте ПВД и ПКО в Конвертации данных 2.0, выгрузите через универсальную обработку
Нужен постоянный обмен между типовыми конфигурациями (например, УТ и БП)Используйте встроенную настройку синхронизации данных, правила для неё уже поставляются с конфигурацией
В файле обмена не хватает части объектовПроверьте обработчики ПВД на условия отказа и отбор по периоду в обработке выгрузки
После загрузки в приёмнике появились дубли справочниковПроблема не в ПВД, а в настройке поиска объектов в ПКО — проверьте поля поиска и ключевые реквизиты
При отладке правил выгружайте сначала один-два тестовых объекта, а не весь массив данных. Отключите все ПВД, кроме проверяемого, — так ошибка в обработчике находится за минуты, а не за часы анализа многомегабайтного XML-файла.
ПЗ
Практическое замечание
Итог

Что важно запомнить

ПВД — это правила выгрузки данных в Конвертации данных 2.0: они отбирают объекты из источника и передают их на конвертацию по ПКО. Порядок работы: сначала ПКО, затем ПВД, затем тестовая выгрузка на копии базы. Контроль результата — сверка количества объектов и итогов по отчётам в обеих базах.

Частые вопросы о ПВД в 1С

Чем ПВД отличается от ПКО в конвертации данных?

ПВД отвечает за отбор объектов из базы-источника: что именно выгружать и в каком порядке. ПКО описывает, как конкретный объект источника преобразуется в объект приёмника — соответствие типов, реквизитов и правила поиска. ПВД всегда ссылается на ПКО, но не заменяет его.

Можно ли выгружать данные без Конвертации данных?

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

Почему ПВД отрабатывает, но в файле нет объектов?

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

Как выгрузить только документы за конкретный период?

Проще всего задать период в параметрах обработки «Универсальный обмен данными в формате XML» — она сама передаст границы в правила. Если требуется сложный отбор (по организации, складу, статусу), добавьте условие в обработчик «Перед выгрузкой» соответствующего ПВД.

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

Технически файл правил — это XML, и его можно открыть текстовым редактором, но ручная правка не рекомендуется: структура содержит взаимные ссылки между правилами, и нарушение одного идентификатора делает весь файл нечитаемым. Все изменения вносите через конфигурацию «Конвертация данных» и сохраняйте правила штатно.

Что делать, если выгрузка выполняется очень долго?

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