Как перенести номенклатуру, настройки и пользователей в новую или очищенную базу 1С?

Пользователь 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

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

В этой статье мы подробно рассмотрим различные подходы к решению подобных задач, основываясь на опыте коллег и общепринятых методиках работы с 1С.

Вариант 1: Перенос отдельных справочников в новую, пустую базу

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

  1. Подготовка баз

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

  2. Использование универсальной обработки "ВыгрузкаЗагрузкаДанныхXML"

    Для однократного переноса данных в 1С часто используется универсальная обработка ВыгрузкаЗагрузкаДанныхXML (также известная как "Универсальный обмен данными в формате XML"). Эту обработку можно найти в стандартных или дополнительных обработках конфигурации, либо скачать на официальных ресурсах 1С или ИТС.

    Шаги выгрузки данных из базы-источника:

    1. Откройте базу-источник в режиме «Предприятие».
    2. Запустите обработку ВыгрузкаЗагрузкаДанныхXML. Обычно она находится в разделе «Файл» -> «Открыть» или через меню «Все функции».
    3. Перейдите на вкладку «Выгрузка данных».
    4. В списке типов объектов выберите нужный справочник, например, «Номенклатура». Если требуется перенести связанные данные, такие как «Единицы измерения» или «Виды номенклатуры», их также необходимо отметить.
    5. Настройте отбор, если нужно выгрузить не всю номенклатуру, а только её часть. Например, можно отобрать по группе номенклатуры или по дате создания.
    6. Укажите путь и имя файла выгрузки (например, Nomenclature.xml).
    7. Нажмите кнопку «Выгрузить данные». Обработка создаст XML-файл с выбранными данными.
  3. Загрузка данных в базу-приемник

    После успешной выгрузки данных из базы-источника, мы переходим к загрузке в пустую базу-приемник.

    Шаги загрузки данных:

    1. Откройте базу-приемник в режиме «Предприятие».
    2. Запустите ту же обработку ВыгрузкаЗагрузкаДанныхXML.
    3. Перейдите на вкладку «Загрузка данных».
    4. Укажите путь к XML-файлу, который вы выгрузили ранее (например, Nomenclature.xml).
    5. Внимательно проверьте настройки загрузки. Обычно для загрузки в пустую базу особых настроек не требуется, но можно указать правила поиска объектов, если есть риск дублирования.
    6. Нажмите кнопку «Загрузить данные». Обработка импортирует данные из XML-файла в справочник «Номенклатура» вашей новой базы.
  4. Учет связанных данных

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

    Кроме того, после переноса номенклатуры, возможно, потребуется перенести и другую сопутствующую информацию, такую как розничные цены, штрихкоды, характеристики номенклатуры. Эта информация хранится в различных регистрах сведений (например, ЦеныНоменклатуры, ШтрихкодыНоменклатуры, ЗначенияСвойствОбъектов), и её также можно выгрузить и загрузить с помощью универсальной обработки, выбрав соответствующие типы объектов.

Вариант 2: Очистка существующей базы от документов и "битых" данных с сохранением настроек

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

  1. Создание резервной копии

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

  2. Тестирование и исправление информационной базы (ТИИ)

    Прежде чем приступать к удалению, рекомендуем выполнить Тестирование и исправление информационной базы (ТИИ). Эта встроенная утилита 1С позволяет проверить целостность базы данных, найти и удалить "битые ссылки" – ссылки на несуществующие объекты. "Битые ссылки" могут быть причиной многих проблем, включая невозможность корректного удаления объектов. Запускается ТИИ в режиме "Конфигуратор" через меню "Администрирование" -> "Тестирование и исправление".

    Мы рекомендуем использовать следующие опции:

    • Проверка логической целостности
    • Пересчет итогов
    • Проверка ссылочной целостности (и опция "Создавать объекты")
    • Удаление несуществующих ссылок

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

  3. Удаление документов и записей регистров

    Основной объем "мусора" в базе обычно составляют документы и движения по регистрам. Чтобы подготовить базу к удалению "проблемной" номенклатуры, нам сначала нужно удалить все объекты, которые на неё ссылаются. В первую очередь это документы.

    Порядок действий:

    1. Удаление всех документов: Если наша задача – начать учет с нуля, оставив только настройки и справочники, мы можем удалить все документы. Делать это по одному документу – крайне трудоемко. Используйте обработку "Удаление помеченных объектов".
    2. Откройте базу в режиме «Предприятие».
    3. Пройдитесь по всем типам документов (например, «Поступление товаров», «Реализация товаров и услуг», «Возврат товаров», «Перемещение товаров», «Списание товаров», «Отчет о розничных продажах» и т.д.) и пометьте их на удаление. В типовых конфигурациях 1С часто есть специализированные обработки для групповой пометки на удаление документов за определенный период.
    4. После пометки на удаление, запустите стандартную процедуру "Удаление помеченных объектов" (обычно находится в меню "Администрирование" -> "Поддержка и обслуживание" -> "Удаление помеченных объектов"). Эта процедура удалит все объекты, помеченные на удаление, которые не имеют ссылок.
    5. Повторное удаление: Часто после первого прохода остаются документы, которые ссылаются друг на друга или на регистры. Придется запускать "Удаление помеченных объектов" несколько раз, пока она не удалит все возможное. Возможно, вам придется последовательно помечать и удалять различные типы документов, начиная с тех, которые не имеют зависимостей (например, кассовые чеки, а затем уже отчеты о розничных продажах, и так далее).

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

  4. Удаление "проблемной" номенклатуры

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

    1. Откройте справочник «Номенклатура».
    2. Идентифицируйте элементы номенклатуры, которые являются «мусором» или имеют некорректные данные (например, «Я», «_», «...» вместо названия).
    3. Пометьте их на удаление. Если таких элементов много, можно использовать обработку "Групповое изменение реквизитов" для пометки на удаление по определенным критериям.
    4. Запустите "Удаление помеченных объектов" еще раз. Теперь, когда ссылок на эту номенклатуру из документов нет, она должна быть успешно удалена.

    Если некоторые элементы номенклатуры все равно не удаляются, это означает, что на них остались ссылки из других объектов (например, из регистров сведений, таких как ЦеныНоменклатуры, ШтрихкодыНоменклатуры, или из других справочников). В таком случае, нам придется либо вручную найти и удалить эти ссылки, либо использовать специализированные обработки для удаления "неиспользуемых" или "битых" элементов справочников.

  5. Перенос или создание новой номенклатуры

    После очистки старой номенклатуры у нас есть два пути:

    1. Ручное заведение новой номенклатуры: Если объем номенклатуры небольшой и требуется идеальный порядок, можно завести её вручную.
    2. Импорт "чистой" номенклатуры: Если у вас есть источник с корректной номенклатурой (например, Excel-файл или база другого магазина), вы можете импортировать её с помощью стандартных механизмов загрузки из Excel, или универсальной обработки ВыгрузкаЗагрузкаДанныхXML, как описано в Варианте 1.
  6. Сохранение настроек и пользователей

    Важным аспектом является сохранение пользовательских настроек (прав доступа, расположения панелей) и данных о пользователях (список, роли, пароли). Эти данные хранятся не в документах, а в различных регистрах сведений и справочниках.

    Мы не должны их трогать при удалении документов!

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

    Если вдруг потребуется перенести только пользователей и настройки в другую базу (например, в полностью новую), это также можно сделать с помощью универсальной обработки ВыгрузкаЗагрузкаДанныхXML, выбрав соответствующие справочники и регистры сведений.

Вариант 3: Свертка информационной базы

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

  1. Что такое свертка базы?

    Свертка базы данных – это процедура, при которой все движения по регистрам и большинство документов за определенный период (например, до 1 января текущего года) "сворачиваются" в сводные документы ввода начальных остатков на заданную дату. Исторические документы за свернутый период при этом могут быть удалены.

  2. Применение для нашей задачи

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

    После свертки у вас останется база с актуальными начальными остатками и справочниками. Затем вы сможете выполнить шаги из Варианта 2 (Тестирование и исправление, удаление "проблемной" номенклатуры) с гораздо меньшим объемом данных и документов.

    Инструмент для свертки базы обычно является частью типовых конфигураций 1С (часто в разделе "Администрирование" -> "Поддержка и обслуживание" -> "Свертка базы") или поставляется в виде отдельной обработки.

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

← На главную