Разделение базы бухгалтерии 3.0 по организациям на отдельные базы

Было несколько организаций в одной базе Бухгалтерии 3.0, а точнее их было 4 штуки
И вот на одном из очередных собраний руководства было решено разделить на отдельные базы, так как могут быть проверки
В итоге написана небольшая обработка по разделению базы бухгалтерии 3.0 по организациям

Алгоритм такой:

1. Сделать архив базы. Восстанавить этот  архив в новой базе.

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

3. Открыть внешнюю обработку «Удалении организации», выбрать организацию, которая остается, и нажать на кнопку «Пометить на удаление».

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

Сразу скажу, что обработка работает долго, в зависимости от объема данных.

4. Удаляем объекты. Открываем меню Все функции — Обработки — Удаление помеченных объектов.

Через обработку удобнее, чем через стандартную функцию удаление помеченных объектов.

5. Если Организация не удалилась, то нужно повторить пункты 3-4.

Все.

12 Comments

  1. ifal

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

    Reply
  2. kauksi

    Я делал проще — Администрирование — Выгрузить даные для перехода в сервис. потом в чистой базе там же ЗАгрузка данных из сервиса. Повторить 4 раза

    Reply
  3. &rew

    Да там столько нюансов. РС.АналитикаУчетаНоменклатуры. и все с ним и подобным связанное, где нет явной отсылки к организации.

    Я так понимаю что 3-4 раза запускать именно по этому. Т.е. там такие неявные ссылки сразу не обрабатываются. А почему тогда 3-4 итерации их обрабатывают.? Что-то в хранилище помещается и при последующих «прогонках» это хранилище анализируется?

    «4. Удаляем объекты. Открываем меню Все функции — Обработки — Удаление помеченных объектов.

    Через обработку удобнее, чем через стандартную функцию удаление помеченных объектов.»

    Это вообще как понять? Обработка Ваша только помечает на удаление же. Не? Через обработку не удалить никак вроде.

    Кажется мне, что все завязано исключительно на НайтиПоСсылке…

    Reply
  4. vadim1011985

    По мне так проще использовать встроенный обмен по организациям )))

    Reply
  5. &rew

    (4) vadim1011985, Не всегда возможно. Например база данных большая, документооборот г-хцать тыс. документов в секунду, сервер 4 гб памяти (контора развалилась, всё, что успели вынести). Обмен завалится с нехваткой памяти, а вот такие обработки могут временно (ненадолго) отсрочить покупку нового сервера. Естественно если реализовано без транзакции или с минимальным количеством данных в них, дабы оперативка их «прожевала»

    Reply
  6. vadim1011985

    (5) &rew, Опять же организация удаления тоже ресурсоемкая , а теперь ситуация в одной базе ведется 6 баз что по вашему проще удалить 5 баз или организовать обмен по одной из них ? Сам в том году разделял базы с приличным документооборотом — ушло не мало времени , но гемороя было немного — поставил на обмен — а дальше занимайся своими делами — да делал вечером когда нагрузка на сервер была минимальная.

    Reply
  7. &rew

    (6) vadim1011985, Да речи нет, что проще по одной перенести в общем случае. Я пример привел из собственной практики (обычное приложение было и другая обработка). Опять же GUIDы могут быть завязаны на какой то функционал. Я к тому что данная обработка (скорее концепция) тоже имеет право на жизнь.

    Reply
  8. NNNN

    Ребята, главное обработка работает, пусть 2 итерации, но это из-за регламентных отчетов, 4 базы разделены и перенесены на разные сервера, руководство довольно и спит спокойно ))

    Reply
  9. wawik

    Не понимаю что делаю не так. Вроде все по инструкции, но во время удаления объектов программа ругается,удаление не происходит, и что самое интересное, компания которую отделяю — тоже становится помеченной на удаление!

    Reply
  10. NNNN

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

    Reply
  11. user898430

    Хм, открываю обработку через файл-открыть, пустой экран. Добавляю во внешние обработки, пишет «евозможно подключить дополнительную обработку из файла.

    Возможно, она не подходит для этой версии программы.»

    Версия конфигурации (3.0.57.10)

    Reply
  12. alex15650

    Думаю в коде не лишним будет добавить

    Об.ОбменДанными.Загрузка = Истина

    Чтобы проверки всякие не выполнялись и т.п.

    помечает на удаление объекты, которые связаны с удаляемыми организациями

    А чего сразу не удалять непосредственно?

    Сразу скажу, что обработка работает долго

    Есть метод ускорения записи объектов — включать порциями (например, по 1000 объектов) в одну внешнюю транзакцию.

    Одна жирная транзакция будет быстрее обрабатываться СУБД, чем 1000 мелких.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *