Добрый день, существует следующая задача. Необходима свертка Базы ЕРП за 2 года, базу на время свертки останавливать нельзя, т.к. идет непрерывное производство.
Было предложено следующее решение:
1) сделать копию рабочей базы, на ней запустить свертку
2) Пока копия сворачивается несколько дней в основной сделать план обмена полный по всем объектам конфигурации и зарегистрировать к обмену все документы и справочники, созданные и измененные за этот период.
3) Далее выгрузить все измененные объекты в свернутую базу и провести документы.
Собственно вопросы:
1 - взлетит ли такое решение?
2 - что можно попробовать другое параллельно
3 - чем пользоваться при выгрузке и загрузке изменений из плана обмена?
p.s. с планами обмена до этого работать не приходилось
Не так давно на семинаре по ЕРП был доклад, что подобным способом выполняют обновление на следующий релиз:
1 на копии базы выполняют обновление
2 переносят изменения с момента создания копии планом обмена
3 заменяют путь к базе с боевой на копию
Ну то есть примерно как у вас описано. Но подробностей решения не знаю.
(3)ну примерно так мы и придумали, меня интересует как план обмена организовать в этом случае.
Я создаю план обмен полный с авторегистрацией. Все что меняется или создается в основной базе регистрируется к обмену.
Как потом все эти данные перегнать в копию?
Создать план обмена, создать узел для плана обмена.
В копии установить главный узел - узел основной базы.
Это если вы не собираетесь создавать копию базы как начальный образ из плана обмена.
Выгрузить сообщение плана обмена из основной базы и загрузить в копию. Выгрузить можно из формы плана обмена, это платформенная функция. Как и загрузить.
Потом в копии удалить главный узел - в смысле установить пустую ссылку.
(10) база 8.3
Несколько дней, потому что Стандартная и объёмы
она же идет в несколько этапов
1) создание документов ввода остатков (без проведения)
2) очистка всех регистров от движений
3) пометка на удаление документов
4) проведение документов ввода остатков
т.к. документов ну очень много, то львиную долю времени занимает 3-ий пункт, остальные в совокупности примерно сутки.
Загружать созданные в старой базе документы после свертки нужно одним этапом, когда не создаются документы в свернутую базу. Иначе будут двойные номера документов.
1) закрыть периоды.
2) Создать документы ввода начальных остатков. (ручками написать обработки)
3) Создать обработку которая будет чистить регистры. можно прямо через sql
4) Загрузить в копию базы. Документы свертки готовые. Не проводить.
5) Удалить движения всех документов. До документов свертки.
5.1) Снять с проведения все документы позже даты свертки.
5.2) Почистить регистры они должны быть пусты.
6) Провести документы ввода остатков. Сверить остатки. На начало года.
Если все ок. И по времени вписываетесь
7) Снять проведение со всех старых документов.
8) Восстановить последовательности с учетом документов текущего периода
Есть все ок. И по времени вписываетесь.
7) В спокойном режиме провернуть это все в рабочей базе.
План обмена не нужны. Документы остатков выгружаете универсальной выгрузкой загрузкой XML/
Стандартную свертку лучше не использовать. Много хвостов и точек отказа. Напишите генерацию документов ввода остатков исходя из регистров. Это будет действительно быстрее проверено не раз.
Если что можно подготовит базу к работе без остатков, если не вписываетесь в сроки. Печать непроведенных документов. Проведение в минус итп разрешить пока восстанавливаете последовательность. Это создаст неудобство, но если все четко расчитаете оно продлится недолго. Ничего смертельного не произойдет
Если же это не приемлемо, выполняете все действия в копии, как только там все готово. Загружаете из рабочей базы универсальной обработкой выгрузки загрузки XML все документы с новым реквизитом дата последнего изменения, за период восстановления последовательности. Эта обработка подтянет используемые справочники в том числе и созданные ранее
(13) я же обрезаю по среди года, просто создать документы и перенести в копию не получится, за пол года внесено уже достаточно документов.
Документы ввода и очистка регистров работают более-менее приемлимо.
крайне не устраивает процесс пометки на удаления документов, документов много -> очень долго,
напрямую через SQL удалять, как бы базу не порушить потом.
Загружаете из рабочей базы универсальной обработкой выгрузки загрузки XML все документы с новым реквизитом дата последнего изменения, за период восстановления последовательности. Эта обработка подтянет используемые справочники в том числе и созданные ранее
Я правильно понимаю, что Вы предлагаете создать новый реквизит во всех документах и при записи заполнять его, а уже по нему потом обработкой всё тянуть? Где заполнен, тот документ в обмен?
Я правильно понимаю, что Вы предлагаете создать новый реквизит во всех документах и при записи заполнять его, а уже по нему потом обработкой всё тянуть? Где заполнен, тот документ в обмен?
Да
я же обрезаю по среди года, просто создать документы и перенести в копию не получится, за пол года внесено уже достаточно документов.
обрезку делаете на начало года, документы за первое полугодие оставляете, распроводите их только, чтобы восстановить последовательность в дальнейшем с учетом того, что движения документов 20го и ранее годов будут почищены, а вводы остатков, созданы и проведены.
крайне не устраивает процесс пометки на удаления документов, документов много -> очень долго,
напрямую через SQL удалять, как бы базу не порушить потом.
А куда вам торопится, если движения этих документов будут удалены? регламентное задание сделайте, пусть по 2 документа в минуту удаляется.
Документы ввода и очистка регистров работают более-менее приемлемо.
вам выбирать.
Для больших баз это все у меня сыпется и уходит в несколько суточную рекурсию.
Действительно, при идентичных конфигурациях можно обойтись без планов обмена.
Если вы знаете, в каком периоде будут вводиться документы во время свёртки, то стандартной обработкой "ВыгрузкаЗагрузкаДанныхXML83" выгружаете документы за нужный период из боевой базы в свёрнутую вместе с движениями. Нужные элементы справочников при этом перенесутся автоматически. Это самый простой способ.
(15) для этого нужен реквизит, Дата изменения. Чтобы заполнялась.
ВыгрузкаЗагрузкаДанныхXML подтянет изменения при отборе по реквизиту. В ТОМ ЧИСЛЕ ПО СПРАВОЧНИКАМ из этого документа
(24) в каждый документ пихать такой реквизит для отслеживания это не самый лучший вариант, большинство объектов на замке.
Даже если через расширение если добавит реквизит, это сколько нужно документов в расширение передать. Тоже не нравится, плодить таблицы.
(26)
Общий реквизит, подписка на событие, регистр сведений, путей решения много
Такое чувство, что ваш вариант нравится вам больше, не буду вас разубеждать