Одна база на две: как отделить организацию или период в 1С 8.3

· 9 мин

Содержание

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

Разделение базы 1С возможно и для файловой, и для клиент-серверной базы на MS SQL или PostgreSQL. Методы одинаковые, отличается только способ снять копию. Всё описанное относится к платформе 8.3 и типовым конфигурациям на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11.

Когда базу 1С разделяют и какой способ выбрать

Типичных поводов четыре:

  • 🏢 в одной базе ведут несколько организаций, и одну продали, выделили или передали другому бухгалтеру;
  • 🐢 база разрослась за много лет, и рабочие операции заметно тормозят;
  • 🔒 доступ к данным одной фирмы нужно закрыть физически, а не правами;
  • 📦 бизнес делится, и каждая часть уходит на свой сервер.

Выбор способа зависит от того, что важнее: сохранить историю или получить чистую базу.

СпособКогда подходитРиски
Копия базы + удаление лишнегоНужна вся история документов по оставшейся организацииДолгое удаление, остаются общие справочники «чужой» фирмы
Свёртка информационной базыДелите по периодам: старые годы в архив, новые в рабочуюДокументы до даты свёртки заменяются остатками
Пустая база + Конвертация данныхНужна чистая база без старых документов или другая конфигурацияНужны правила обмена, возможны расхождения остатков
Ограничение доступа без разделенияЗадача только в том, чтобы разные люди не видели чужие данныеНе уменьшает размер базы

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

Подготовка к разделению базы 1С

Разделение — операция массовая и необратимая для копии. Подготовка занимает больше времени, чем сама техника.

  1. Согласуйте дату отсечения. Обычно это начало квартала или года, когда отчётность за прошлый период уже сдана.
  2. Закройте месяц в исходной базе: проведите документы, выполните закрытие месяца , сформируйте оборотно-сальдовую ведомость по каждой организации. Сохраните её в Excel — это эталон для сверки после разделения.
  3. Сделайте полную резервную копию. Для файловой базы — выгрузка .dt или копия папки при закрытых сеансах. Для серверной — бэкап СУБД.
  4. Выпишите внешние связи базы: обмен с банком, ЭДО, 1С-Отчётность, ЕГАИС и Честный знак, синхронизация с сайтом или розницей. После копирования эти связи окажутся в двух базах сразу.
  5. Проверьте место на диске. На время работы нужно примерно втрое больше объёма исходной базы: оригинал, копия и временные файлы.

Работайте только с копией. Исходную базу не трогайте, пока новая не сверена и не принята бухгалтером.

Как не запустить обмены дважды

Копия базы «думает», что она и есть рабочая. Она может выгрузить платёжки в банк, отправить отчёт или забрать документы из ЭДО.

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

Разделение файловой базы 1С: копия и удаление лишнего

Файловую базу разделяют целиком средствами самой 1С. Порядок такой.

Шаг 1. Создайте копию

  1. Откройте исходную базу в Конфигураторе.
  2. Выберите Администрирование → Выгрузить информационную базу и сохраните файл .dt.
  3. В окне запуска 1С добавьте новую пустую базу без конфигурации, в другом каталоге.
  4. Откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу, указав сохранённый .dt.

Загрузка .dt полностью заменяет данные в базе-приёмнике. Поэтому грузите только в новую пустую базу, а не в существующую.

Шаг 2. Пометьте на удаление данные «чужой» организации

Откройте копию в режиме 1С:Предприятие. Затем по очереди в журналах документов:

  1. Установите отбор по полю «Организация» на ту фирму, которая уходит из этой базы.
  2. Выделите все строки (Ctrl+A) и нажмите Delete — документы получат пометку удаления.
  3. Повторите для каждого вида документов: банк и касса, покупки, продажи, склад, зарплата, кадровые документы.

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

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

Шаг 3. Удалите помеченные объекты

В Бухгалтерии 3.0 обработка находится в Администрирование → Обслуживание → Удаление помеченных объектов. Запустите её в режиме полного удаления.

На крупной базе процедура идёт часами. Лучше запускать вечером, когда в копии никто не работает .

Объекты, на которые остались ссылки, обработка не удалит и покажет список «мешающих». Чаще всего это забытый вид документа или регламентный отчёт. Пометьте его и запустите удаление ещё раз.

Шаг 4. Почистите базу и проверьте

  1. В Конфигураторе выполните Администрирование → Тестирование и исправление с пересчётом итогов. Для этого нужен монопольный доступ: все пользователи должны выйти из копии.
  2. Сформируйте оборотно-сальдовую ведомость по оставшейся организации и сравните с эталоном из подготовки. Суммы должны совпасть до копейки.
  3. Сделайте то же в исходной базе, но наоборот: удалите оставшуюся в копии фирму.

Копия клиент-серверной базы средствами MS SQL и PostgreSQL

Для серверной базы шаг «копия» можно сделать средствами СУБД — это быстрее выгрузки .dt на базах в десятки гигабайт. Удаление лишних данных всё равно выполняют в 1С.

Не удаляйте данные одной организации SQL-запросами напрямую. Платформа хранит связи между таблицами, итоги регистров и служебные данные. Ручной DELETE по таблицам ломает целостность, а последствия всплывают в отчётах через месяц.

Копия в MS SQL Server

Перед восстановлением узнайте логические имена файлов бэкапа:

BACKUP DATABASE [buh] TO DISK = N'D:\Backup\buh.bak' WITH COPY_ONLY;

RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh.bak';

RESTORE DATABASE [buh_orgB]
  FROM DISK = N'D:\Backup\buh.bak'
  WITH MOVE N'buh' TO N'D:\Data\buh_orgB.mdf',
       MOVE N'buh_log' TO N'D:\Data\buh_orgB_log.ldf';

Имена buh и buh_log в MOVE замените на те, что вернул RESTORE FILELISTONLY. Параметр COPY_ONLY не сбивает цепочку регулярных резервных копий.

Копия в PostgreSQL

pg_dump -U postgres -Fc -f D:\Backup\buh.dump buh
createdb -U postgres -T template0 buh_orgb
pg_restore -U postgres -d buh_orgb D:\Backup\buh.dump

Формат -Fc сжимает дамп и позволяет восстанавливать его выборочно. Если createdb ругается на кодировку или локаль, создайте новую пустую базу через консоль кластера 1С и восстановите дамп уже в неё.

Регистрация копии в кластере

  1. Откройте консоль администрирования серверов 1С.
  2. В разделе информационных баз создайте новую базу.
  3. Укажите сервер СУБД и имя восстановленной базы данных: buh_orgB.
  4. Сразу включите Блокировка регламентных заданий.
  5. Добавьте базу в список у пользователей и дальше действуйте как с файловой: шаги 2–4 из предыдущего раздела.

Регистрация в кластере не создаёт данные заново: если база в СУБД уже существует, 1С подключается к ней.

Перенос данных в новую базу через Конвертацию данных 2.0 и 3.0

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

Конвертация данных 2.0

Работает через правила обмена в файле .xml и обработку «Универсальный обмен данными в формате XML» (.epf). Обработку запускают через Файл → Открыть в обеих базах.

  1. В исходной базе загрузите правила, задайте отбор по организации и период.
  2. Выгрузите данные в файл.
  3. В новой базе той же обработкой загрузите файл.

Для обмена между одинаковыми конфигурациями правила готовят в конфигурации «Конвертация данных 2.0» или берут из комплекта поставки. Под нетиповую базу правила придётся дорабатывать.

Конвертация данных 3.0 и формат EnterpriseData

КД 3.0 описывает обмен через универсальный формат EnterpriseData. Типовые конфигурации уже содержат его поддержку: в Бухгалтерии 3.0 настройки синхронизации находятся в Администрирование → Синхронизация данных.

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

Перенос только остатков

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

Что переноситьПлюсМинус
Только остаткиЧистая маленькая база, быстроНельзя сформировать отчёт за прошлые годы
Остатки + документы текущего годаМожно сдать годовую отчётностьНужна сверка оборотов
Вся история организацииПолная картина в одной базеДолго, проще копией с удалением

Разделение базы 1С по периодам: свёртка

Когда делят не организации, а годы, в Бухгалтерии 3.0 есть штатный инструмент — свёртка информационной базы. Её ищите в разделе Администрирование → Обслуживание.

Свёртка удаляет документы до выбранной даты и вводит вместо них остатки. Получается:

  • 🗄 исходная база до свёртки — архив с полной историей;
  • ⚡ свёрнутая копия — рабочая база, где старых документов нет.

Свёртку запускайте только на копии, а архив сохраните в отдельной папке или на сервере. Права в архиве лучше сделать «только чтение», чтобы никто не правил закрытые периоды.

Проверка базы после разделения
Выполнено: 0 / 7

Если разделять не обязательно: ограничение доступа

Часто под «разделить базу» понимают «чтобы бухгалтер фирмы А не видел фирму Б». Это решается без копий.

В Бухгалтерии 3.0 включите Администрирование → Настройки пользователей и прав → Ограничивать доступ на уровне записей. После этого в группах доступа можно указать, какие организации видны каждой группе.

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

Ошибки при разделении базы и как их обойти

Диагностика: выберите симптом

Частые вопросы

Нужна ли отдельная лицензия на вторую базу?
Нет. Клиентские лицензии считаются по сеансам и рабочим местам, а не по количеству баз. Для серверной базы нужна лицензия на сервер, но одна лицензия обслуживает несколько баз на этом сервере.
Можно ли разделить базу, не останавливая работу бухгалтерии?
Копию снимают за минуты: выгрузкой .dt или бэкапом СУБД. Дальше бухгалтерия работает в исходной базе, а чистка идёт в копии. Документы, внесённые после копирования, потом придётся перенести.
Что делать с 1С-Отчётностью после разделения?
Учётная запись документооборота привязана к организации. После разделения проверьте, что она подключена только в той базе, где ведётся эта организация, и при необходимости обратитесь к своему оператору за перенастройкой.
Можно ли потом снова объединить две базы?
Можно, через обмен по Конвертации данных или EnterpriseData. Но слияние сложнее разделения: справочники задвоятся, и их придётся объединять вручную.
Сколько времени занимает разделение?
Копия — минуты или час для крупной базы. Удаление помеченных объектов на базе в десятки гигабайт идёт от нескольких часов до суток. Сверка — от часа до дня, в зависимости от числа организаций.