Добрый день, дорогой читатель!
Предисловие
Так сложилась судьба, что я работаю в разработке 1С. И столкнулся с тем, что очень часто поступают запросы на разделение учета по разным организациям в разные базы. Например, в одной базе ведется учет по 2-м организациям, условные "ООО Рога и Копыта" и "ООО Иваныч". Спустя время, по разным причинам, люди хотят разделить этот учет по двум организациям, идут к программистам или консультантам, отдают деньги (иногда много денег) за эту процедуру. На самом деле, вся процедура является крайне простой и делается полностью в пользовательском режиме, без использования конфигуратора.
Фабула. Отнимаем хлеб у 1С-ников.
Так не будем же тянуть с этим вопросом! Для решения данной задачи будет использован механизм распределенных баз (РИБ). Я создал пустую базу, куда добавил 2 организации — для примера:
Настройка исходной базы.
Предположим, что нам нужно выгрузить данные по "ООО Рога и Копыта" в отдельную базу. Решается данная задача на основе механизма синхронизации. Заходим в пункт Администрирование, синхронизация данных:
Ставим галочку (если не стоит) на пункте Синхронизация данных, после этого заходим в пункт Настройки синхронизации данных
Нажимаем кнопку "Новая синхронизация данных":
Перед нами откроется список с разными вариантами синхронизаций (его размер зависит от конфигурации). Нам необходимо пролистать вниз, до пункта Распределенная информационная база с фильтром по организации и нажать на него:
Следующим шагом будет Настройка параметров подключения, заходим:
Перед нами откроется окно настроек синхронизации. Для разделения организаций самым простым и быстрым способ является Синхронизация данных через локальный или сетевой каталог. Нажимаем на три точки, выбираем папку, в которую будут выгружены файлы данных по организации:
Пояснение: чудес не бывает, синхронизация в 1С происходит следующим образом — одна база выгружает файлы данных в определенное место (например, папку на компьютере), а другая база из этого места их забирает. Это мы сейчас и настроили.
Нажимаем кнопку "Далее" и переходим к следующему шагу. В поле "Представление программы-корреспондента" необходимо ввести название (любое на ваш вкус), которое будет присвоено новой базе с данными по организации. В поле "Префикс" необходимо ввести префикс новой базы (любые 2 символа, отличных от префикса первой базы):
Нажимаем кнопку далее, после небольшого ожидания видим сообщение об успешной настройки подключения.
Переходим к последним 2-м пунктам настройки — Настройка правил отправки и получения данных. Нажимаем на соответствующий пункт в списке. Тут всё просто — с помощью кнопки "Добавить" в таблицу добавляем организаци(ю/и), которые нам необходимо выгрузить в новую базу (листайте фото):
Последний шаг в настройке исходной базы - пункт Создать начальный образ подчиненного узла РИБ. В поле Полное имя файловой базы выбираем папку, в которую будет выгружен файл новой базы (*.cd):
И нажимаем "Создать начальный образ". После того, как программа выгрузит все данные (длительность этого процесса зависит от размера базы), вы увидите сообщение об успехе.
Пока вы ждете
Пока вы ожидаете выгрузки данных, считаю нужным пояснить, что же из себя представляет механизм РИБ. Ёмкое, но довольно точное пояснение описано в самой программе:
Распределенная информационная база представляет собой иерархическую структуру, состоящую из отдельных информационных баз системы «1С:Предприятие» — узлов распределенной информационной базы, между которыми организована синхронизация конфигурации и данных. Главной особенностью распределенных информационных баз является передача изменений конфигурации в подчиненные узлы.
Если сказать проще — это означает, что ваша база делится на главную (Главный узел РИБ) и подчиненные (Подчиненные узлы РИБ). Подчиненные узлы "сливают" все данные в главную с помощью механизма синхронизации, а главная, в свою очередь, передает подчиненным все изменения конфигурации. Применений этому механизму настолько много, что перечислять их просто нет смысла. На моей недолгой практике я видел случай, когда основная база "крутилась" на мощном сервере, а у курьеров, которые осуществляли доставку, на планшетах были подчиненные базы. Таким образом, они не зависели от наличия интернета и не сидели все сразу в одной базе.
Отрезаем подчиненную базу от главной
После того, как процесс создания образа успешно завершился, необходимо добавить новую базу в 1С. Для этого откроем окно запуска 1С и нажмем кнопку "Добавить". Выберем пункт "Добавление в список существующей информационной базы". В наименовании укажем любое наименование базы, которое будет отображаться в окне запуска. В поле "Каталог информационной базы" выберем папку, в которую мы выгрузили образ базы. Нажимаем далее, готово. База добавлена. Листайте фото
Заходим в только что добавленную базу в режиме Предприятия. После того, как программа завершить все подготовительные мероприятия и запустит базу, нам необходимо пройтись по предложенным нам 2-м пунктам, везде нажать далее и готово, а затем "Отрезать" эту базу от главной.
Когда я говорю, что задача полностью решается в пользовательском режиме, я предполагаю, что у вас есть обработка, которая выполняет необходимые действия. Ее можно найти на просторах интернета по запросу "1с главный узел РИБ обработка", либо создать самому — там 1 строка кода:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Открываем эту обработку в базе, запускаем. Отработать она должна быстро. После этого закрываем базу, и запускаем ее снова. После того, как мы отрезали базу при запуске вам будет выдано сообщение:
Нажимаем "Отключить". Всё, теперь эта база является самостоятельной. при желании, можно удалить все синхронизации, которые были автоматически созданы.
Послесловие
Будьте внимательны, делайте резервные копии баз перед выполнением всех операций, соблюдайте последовательность действий и у вас всё получится!