Как выгрузить остатки по одной организации в 1С:УПП 1.3

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

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

Способ 1: Создание РИБ с фильтром по организации

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

Рассмотрим по шагам этот алгоритм:

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

// Код для отвязки базы от РИБ
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);

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

Способ 2: Чистый перенос остатков через «Конвертацию данных 2.0»

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

Проанализируем технологию создания таких правил:

  1. Сбор данных в источнике: В правилах выгрузки данных (ПВД) мы пишем запрос к виртуальным таблицам остатков. Например, для переноса товаров на складах мы обращаемся к таблице РегистрНакопления.ТоварыНаСкладах.Остатки.
  2. Сопоставление объектов: В правилах конвертации объектов (ПКО) мы настраиваем соответствие: входящая выборка из регистра (источник) преобразуется в документ ДокументОбъект.ВводНачальныхОстатковПоЗатратам или ДокументОбъект.ОприходованиеТоваров (в зависимости от специфики учета в УПП).
  3. Синхронизация полей: Крайне важно передать все измерения регистров: Номенклатура, Склад, Характеристика, Серия, Качество.

Посмотрим на пример логики запроса в ПВД для получения остатков по конкретной организации:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |   ТоварыНаСкладахОстатки.Номенклатура,
    |   ТоварыНаСкладахОстатки.Склад,
    |   ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество
    |ИЗ
    |   РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, Организация = &Организация) КАК ТоварыНаСкладахОстатки";

Запрос.УстановитьПараметр("ДатаОстатков", Параметры.ДатаНачала);
Запрос.УстановитьПараметр("Организация", Параметры.Организация);
Выборка = Запрос.Выполнить().Выбрать();

Этот метод считается наиболее профессиональным, так как он позволяет избежать переноса «мусора» и битых ссылок из старой базы.

Способ 3: Свертка базы и удаление лишних организаций

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

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

Важный нюанс: В УПП 1.3 свертка может проходить очень долго из-за огромного количества регистров накопления и сведений. Будьте готовы к тому, что процесс займет несколько суток на больших объемах данных.

Способ 4: Универсальная выгрузка XML с фильтром

Существует стандартная обработка ВыгрузкаЗагрузкаДанныхXML.epf. Она позволяет выгружать объекты целиком. Рассмотрим, как применить ее для нашей задачи:

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

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

Специфика регистров в УПП 1.3: на что обратить внимание

При любом способе переноса (кроме РИБ) вы должны обеспечить синхронность данных по следующим направлениям:

Итоги и рекомендации

Рассмотрим резюме: для быстрого и качественного результата мы рекомендуем использовать метод создания РИБ по организации с последующей отвязкой узла. Это гарантирует сохранение всех цепочек данных и корректность регистров накопления без необходимости написания сложного кода.

Если же стоит задача максимально облегчить базу и убрать старые ошибки учета, выбирайте Конвертацию данных 2.0. Это позволит перенести только «чистые» остатки, преобразовав их в новые документы ввода остатков на начало периода.

← На главную