Задача выгрузки данных по одной конкретной организации из многофирменной информационной базы 1С:ERP в новую, чистую базу является достаточно частой, но при этом сложной и многогранной. Она требует внимательного подхода и глубокого понимания архитектуры системы 1С. Мы рассмотрим несколько проверенных методов, которые помогут вам решить эту задачу наиболее оптимальным образом.
Прежде чем приступать к каким-либо действиям, крайне важно создать полную резервную копию вашей информационной базы. Это обеспечит сохранность данных в случае непредвиденных ситуаций. Также убедитесь, что конфигурация обновлена до последнего релиза и выполнены все регламентные операции, такие как удаление помеченных объектов и закрытие месяца.
Обычно, причины для разделения базы по организациям могут быть различными: от обеспечения безопасности данных и повышения производительности до упрощения администрирования и обновления системы.
Метод с использованием Конвертации Данных является одним из наиболее гибких и мощных инструментов для переноса данных в системе 1С. Он позволяет детально настроить правила выгрузки и загрузки информации, что критически важно при необходимости отбора данных по конкретной организации.
Создание правил выгрузки: Вам потребуется разработать или адаптировать правила обмена данными, используя конфигурацию Конвертация Данных 3.0. Эти правила должны включать отбор данных по необходимой организации. Для этого в свойствах правил выгрузки для каждого объекта (справочники, документы, регистры) мы указываем условие отбора по реквизиту Организация.
Перенос справочников: В первую очередь переносятся все необходимые справочники (номенклатура, контрагенты, склады, сотрудники и т.д.), которые связаны с выбранной организацией. При этом важно продумать, какие справочники переносятся целиком, а какие – только связанные с документами выбранной организации.
Выгрузка документов и остатков: После переноса справочников приступаем к выгрузке документов и, что особенно важно, остатков. Остатки могут быть выгружены как на определенную дату (например, конец прошлого периода), так и перенесены напрямую с соответствующими документами.
Гибкость настройки: Конвертация Данных 3.0 позволяет очень тонко настроить логику переноса, включая передачу параметров при выгрузке, которые затем могут быть использованы при загрузке. Это дает возможность реализовать сложные сценарии, например, преобразование данных или их корректировку в процессе переноса.
Без кода: Во многих случаях, если используются типовые конфигурации и существуют готовые инструкции или видеоматериалы, можно обойтись без написания кода в исходной и приемной конфигурациях, сосредоточившись исключительно на настройке правил в Конвертации Данных.
Изучение структуры данных: Для успешного применения КД необходимо глубоко понимать структуру данных 1С:ERP, связи между объектами и состав регистров. Это поможет правильно настроить экспорт и обеспечить высокую точность и структурированность переносимой информации.
Трудоемкость: Если вы не знакомы с КД, освоение инструмента и написание правил может занять значительное время. Однако это инвестиция, которая окупится при регулярных задачах по переносу данных.
Этот подход предполагает создание копии вашей текущей базы и последующее удаление из нее всех данных, относящихся к организациям, которые вам не нужны. В результате в копии останутся только данные по целевой организации. Для проведения такого разделения подойдёт обработка для удаления данных организации из базы.
Создание копии базы: Первым шагом является создание полной и актуальной копии вашей рабочей базы 1С:ERP.
Использование специализированных обработок: Для удаления данных по организациям существуют специальные обработки. Например, внешние обработки, предназначенные для универсального удаления организаций и их данных из баз 1С на управляемых формах (включая ERP 2). Эти обработки реализуют быстрый алгоритм непосредственного удаления объектов. В частности, применяется выборочное удаление организаций из баз 1С, обеспечивающее рекурсивную пометку связанных с фирмой объектов и очистку данных.
Двухэтапная система удаления: Процесс удаления данных в 1С обычно включает два этапа:
Пометка на удаление: Сначала объекты данных (документы, элементы справочников) помечаются на удаление. На этом этапе их еще можно восстановить.
Фактическое удаление: После проверки целостности ссылок и убеждения в том, что помечаемые объекты не используются другими, необходимыми данными, производится окончательное удаление помеченных объектов. Это можно сделать через стандартную обработку Удаление помеченных объектов.
Проверка результатов: После удаления данных необходимо тщательно проверить новую базу на предмет корректности оставшихся данных и отсутствия ссылочной целостности на удаленные объекты.
Относительная простота: Для тех, кто не знаком с Конвертацией Данных, этот метод может показаться более простым и интуитивно понятным, так как он основан на уже существующих функциях или обработках.
Риски: Удаление данных – это необратимая операция. Даже при работе с копией базы, всегда существует риск удаления чего-то лишнего или нарушения целостности. Именно поэтому тщательная проверка после удаления обязательна.
Распределенные базы данных (РБД): Если исходная база является частью РБД, удаление организации требует предварительной синхронизации данных между всеми узлами РБД и последующего удаления на каждом узле. Это более сложный сценарий.
Подтвержденный опыт: Этот метод успешно применялся для разделения баз 1С:Комплексная автоматизация 2.4, что подтверждает его работоспособность и для 1С:ERP, поскольку они используют схожую архитектуру.
В отличие от первоначального предположения, функциональность Распределенных информационных баз (РИБ) в 1С:ERP действительно может быть использована для выгрузки данных по конкретной организации, хотя и не столь очевидно, как в 1С:Бухгалтерии предприятия 3.0.
Создание новой синхронизации данных: Мы создаем новую синхронизацию данных, но выбираем специфический тип: Распределенная информационная база с фильтром по организации.
Настройка параметров: Указываем каталог обмена, где будет сформирован начальный образ новой базы, а также префиксы для текущей (главной) и будущей (периферийной) баз-приемников.
Настройка отбора: Самое важное – настраиваем отбор по нужной организации. Это позволяет создать начальный образ периферийной базы, который будет содержать данные только для выбранной организации.
Создание начального образа: После настройки всех параметров генерируем начальный образ. Этот образ будет основой для вашей новой базы с данными только по одной организации.
Отключение от главного узла: Полученная база, которая изначально выступает в роли периферийного узла, может быть сделана самостоятельной. Для этого в ней отключают связь с главным узлом. Это превращает периферийную базу в полноценную рабочую базу, не связанную с исходной.
Целевое назначение РИБ: РИБ предназначены для создания территориально распределенных систем на основе идентичных конфигураций. Они позволяют передавать не только данные, но и изменения конфигурации, которые вносятся только в корневом узле и затем мигрируют по иерархии.
Важность фильтрации: По умолчанию, миграция данных между узлами РИБ происходит без применения каких-либо фильтров, включая все константы, элементы справочников, документы и их движения. Именно поэтому критически важно использовать фильтрацию по организации при создании начального образа, чтобы избежать переноса всех данных.
Консистентность данных: РИБ обеспечивает высокую степень консистентности данных между узлами, что является преимуществом этого метода.
Метод свертки базы 1С:ERP — это процесс сокращения объема данных, при котором старые документы удаляются, а вместо них формируются документы ввода остатков на заданный период. Этот метод может быть актуален, если ваша цель — начать учет по организации в новой базе практически "с чистого листа", перенеся только актуальные остатки и, возможно, совсем небольшую часть текущих документов. Для упрощения этого этапа можно использовать обработку для автоматического наполнения ввода начальных остатков по данным ИБ.
Определение периода свертки: Мы выбираем дату, на которую будут сформированы остатки. Все документы до этой даты будут удалены или помечены на удаление, а их движения будут свернуты в начальные остатки.
Формирование документов ввода остатков: Система автоматически или с помощью специализированных обработок формирует документы Ввод остатков по всем разделам учета (бухгалтерский, управленческий, складской, казначейский и т.д.) на выбранную дату. Эти документы будут представлять собой агрегированные данные по всем прошлым операциям.
Удаление данных прошлых периодов: После успешного формирования и проверки остатков, данные прошлых периодов (документы и их движения) удаляются или помечаются на удаление. В некоторых случаях, для сохранения истории, можно перенести "текущие" документы (после даты свертки) один-в-один.
Сверка остатков: Обязательно проводим тщательную сверку сформированных остатков в новой базе с остатками в рабочей базе на дату свертки, чтобы убедиться в их идентичности.
Актуальность для "чистого" старта: Свертка базы идеальна, если вы хотите начать новую базу с минимальным объемом исторической информации, сосредоточившись только на актуальных остатках и новых операциях.
Трудоемкость: Если свертка не типовая или требует специфической логики (например, перенос текущих документов после даты свертки), трудоемкость такой работы может быть огромна. Ручное создание документов Ввод остатков по всем разделам учета – это очень времязатратный процесс.
Стандартные механизмы: В 1С:ERP существуют стандартные механизмы свертки, но они могут работать очень долго при большом количестве данных. Кроме того, они не всегда учитывают особенности отдельных прикладных сценариев работы, что требует дополнительной доработки или ручной корректировки. Для ускорения этого процесса на больших базах применяется многопоточная свёртка 1С:ERP, выполняющая очистку регистров и пометку документов на удаление в несколько параллельных потоков.
Необратимость: Операция свертки базы является необратимой. Поэтому все действия необходимо проводить исключительно на копии базы и с многократной проверкой.
Независимо от выбранного метода, мы рекомендуем учитывать следующие моменты:
Планирование: Любой перенос данных, особенно такой сложный, как разделение многофирменной базы, требует детального планирования. Определите объем переносимых данных, период, ответственных лиц и контрольные точки.
Тестирование: Всегда тестируйте выбранный метод и полученную новую базу на тестовых данных, прежде чем применять его к рабочей информации. Проверяйте не только остатки, но и работоспособность основных бизнес-процессов.
Учет нескольких организаций в 1С:ERP: Помните, что 1С:ERP изначально предусмотрен для ведения учета нескольких юридически зарегистрированных субъектов. Регламентированный учет ведется строго по каждой организации, а управленческий может быть как по отдельным организациям, так и по предприятию в целом. При разделении базы эти особенности должны быть учтены.
Обработки от "1С": Фирма "1С" предоставляет "Помощник перехода с 1С:Бухгалтерии предприятия, ред. 3.0" в виде внешней обработки ВыгрузкаОстатковБП.epf. Хотя это не для ERP напрямую, принцип переноса НСИ и остатков может дать идеи для разработки собственных правил или обработок. Типовые обработки полезны, но часто требуют корректировки результатов.
Выбор оптимального метода зависит от ваших навыков, сложности структуры данных и требований к конечному результату. Для программистов и опытных пользователей Конвертация Данных предоставляет наибольшую гибкость. Если задача стоит упростить базу, и вы готовы пожертвовать частью исторической информации, то удаление данных или свертка могут быть более быстрыми путями. Метод с использованием РИБ с фильтром также является мощным инструментом, если его правильно настроить.
В любом случае, помните о важности создания резервных копий и тщательной проверке всех операций.