Генератор начального образа узла РИБ 1С: 8.1

Администрирование - Распределенная БД (УРИБ, УРБД)

Обработка позволяет создать начальный образ узла РИБ без монопольного доступа к базе.
При этом можно заранее задать, какие объекты выгружать, что ускорит формирование образа, поэтому может работать даже быстрее штатной выгрузки.

Обработка проверена многократно на практике.

При выгрузке фильтры по именам объектов задаются через точку с запятой, без пробелов! Используются полные названия объектов.

Пример отбора ссылочных данных:

Если

МД <> Метаданные.Справочники.ФизическиеЛица

И МД <> Метаданные.Справочники.Склады

Тогда

Если МД.Реквизиты.Найти("Магазин") <> Неопределено Тогда

              Условие = "Магазин В (&Магазины)";

              Параметры.Вставить("Магазины", Узел.Магазины.Выгрузить(,"Магазин"));

КонецЕсли;

КонецЕсли;

Пример инициализации объекта плана обмена:

Объект.ДополнительныеСвойства.Вставить("ВыгружатьВсеБонусы", истина);

 

Перед выгрузкой очищайте всю регистрацию изменений по узлу, т.к. туда перейдут все объекты.

Скачать файлы

Наименование Файл Версия Размер
ГенерацияУзлаРИБ.epf
.epf 16,51Kb
06.02.13
98
.epf 16,51Kb 98 Скачать
Версия для 82, умеет выгружать в файл
.epf 19,34Kb
13.10.14
20
.epf 19,34Kb 20 Скачать

См. также

Комментарии
0. Осипов Сергей (fixin) 3556 01.12.11 21:28 Сейчас в теме
Обработка позволяет создать начальный образ узла РИБ без монопольного доступа к базе.
При этом можно заранее задать, какие объекты выгружать, что ускорит формирование образа, поэтому может работать даже быстрее штатной выгрузки.


Перейти к публикации

1. A (Kochevnic) 01.12.11 21:28 Сейчас в теме
Спасибо! Возьмём на вооружение
2. Осипов Сергей (fixin) 3556 01.12.11 23:48 Сейчас в теме
3. Доржи Балбаров (Angeros) 02.12.11 03:46 Сейчас в теме
У меня база 300гб. Насколько быстро при помощи этого средства получится создать новый образ риб?
4. Осипов Сергей (fixin) 3556 02.12.11 08:34 Сейчас в теме
(3) а сколько в этой базе узлов? У меня база 45 Гб (40 узлов), дочка размером 1,5 Гб формируется 6-7 часов. Штатная выгрузка длится примерно столько же, но монопольно. Тут рядом на ИС еще есть методика удаления лишних объектов из копии базы, если для вас мой метод не подходит, можете юзать этот.
5. Доржи Балбаров (Angeros) 02.12.11 10:17 Сейчас в теме
(4)Количество узлов по-моему в этом случае не влияет на время выгрузки. Увы но когда нужно сделать еще один узел приходится копировать всю базу целиком. Это до 2 ух часов. Дальше подключение к обмену. Единственный момент вырубка лишних данных, но эту работу можно проводить в иное время, когда база уже работает. Ваш метод очень хорош для открытия нового магаза.
6. Осипов Сергей (fixin) 3556 02.12.11 11:13 Сейчас в теме
(5) не совсем так. справочники, возможно копируются и целиком, но документы отбираются предварительными фильтрами по метаданным, написанными на языке 1С. Короче, этот процесс можно ускорить.

Согласен, если у вас выгрузка длится 12 часов, то, возможно имеет смысл скопировать за 2 часа, а потом прочистить базу от лишнего.

Но, т.к. у меня она идет 6 часов, мне проще создать пустую базу и выгружать туда, чем делать полное копирование базы, во время которого опять же, никто не может работать. ;-)

Кстати, можно попробовать выгружать базу в три параллельных потока через 3 ком-соединения - справочники, документы, регистры. Не знаю, будет ли это быстрее и получится ли из-за транзакционных конфликтов.
7. Иван Иванов (jko) 19.01.12 07:48 Сейчас в теме
8. Игорь Грибинник (slavich) 5 21.01.12 16:09 Сейчас в теме
Как раз в тему обработка, спс...
9. Осипов Сергей (fixin) 3556 21.01.12 18:07 Сейчас в теме
(8) Вот ради таких душевных спасибо и делюсь
10. Руслан Климачев (krv2k) 361 30.03.12 18:39 Сейчас в теме
(9) Наивный... это они такими комментариями себе стартмани зарабатывают
11. elenavoz elenavoz (elenavoz) 30.03.12 19:39 Сейчас в теме
Да интересно... как раз сейчас актуально
12. Филипп Мануковский (alsky-2003) 29 14.06.12 22:32 Сейчас в теме
ну подскажите лопуху, пожалуйста, - почему обработка выдает у меня ошибку "{ВнешняяОбработка.ГенерацияУзлаРИБ.МодульОбъекта(6)}: Ошибка при вызове конструктора (COMОбъект)
V8 = Новый COMОбъект("V81.COMConnector");
по причине:
Недопустимая строка с указанием класса"

где я тупанул? com-соединение я не настраиваю
13. Осипов Сергей (fixin) 3556 15.06.12 07:53 Сейчас в теме
(12) видимо, у вас стоит 82, а не 81, надо будет поправить код, чтобы генерировался 81 объект, а потом 82, если 81 нет.
alsky-2003; +1 Ответить
14. Филипп Мануковский (alsky-2003) 29 15.06.12 10:46 Сейчас в теме
Извините уж, что дергаю. Вот что мы сделали в коде:
Функция Установить1СCOMСоединение(BaseConnectionString, Base1sUser, Base1sPassword) Экспорт
//Устанавливаем быстрое COM-соединение с 1С8
//V8 = Новый COMОбъект("V81.COMConnector");
V8 = Новый COMОбъект("V82.Application");

Попытка
//ConnectionString = 'File="' + Base1sPath + '";Usr="' + Base1sUser + '";Pwd="' + Base1sPassword + '"';
ConnectionString =BaseConnectionString + ?(Прав(СокрЛП(BaseConnectionString),1) = ";", "", ";") +" Usr=""" + Base1sUser + """;Pwd=""" + Base1sPassword + """";
Base1s = V8.Connect(ConnectionString);
Исключение
Предупреждение("Не удалось создать com-соединение! " + ОписаниеОшибки() + "\n" + BaseConnectionString);
Возврат Неопределено;
КонецПопытки;
return Base1s;
КонецФункции

Все равно ругается на неверные параметры соединения с базой
Прикрепленные файлы:
15. Осипов Сергей (fixin) 3556 15.06.12 13:37 Сейчас в теме
(14) а с чего вы ком-коннектор заменили на аппликатион?
я не уверен, что вы правильно парсите строку соединения. Попробуйте в явном виде прописать имя зверя и пароль, каталог и т.п.
16. Виктор Желтко (ViksVik) 07.12.12 19:45 Сейчас в теме
Я так понял, что эта обработка для 1с81. А на 1с82 не заработает?
17. Евгений Столярский (Mastekor) 10.04.13 11:03 Сейчас в теме
Что-то не выходит, затыкается на справочнике банков.
{ВнешняяОбработка.ГенерацияУзлаРИБ(58)}: Ошибка при проверке необходимости отправки объекта КОНКУРСНЫЙ УПРАВЛЯЮЩИЙ АКБ "ЭЛЕКТРОБАНК" в узел: {ВнешняяОбработка.ГенерацияУзлаРИБ(56)}: Метод объекта не обнаружен (ПриОтправкеДанныхПодчиненному)
ВызватьИсключение "Ошибка при проверке необходимости отправки объекта " + Объект + " в узел: " + ОписаниеОшибки();
18. Осипов Сергей (fixin) 3556 10.04.13 11:23 Сейчас в теме
(17) Mastekor, в плане обмена заведи обработчик события ПриОтправкеДанныхПодчиненному или не ставь галку, что нужно вызывать функции плана обмена.
19. Осипов Сергей (fixin) 3556 09.10.14 12:35 Сейчас в теме
Добавил версию обработки для 8.2, умеет выгружать в формате для универсальной выгрузки-загрузки.", которая умеет работать без COM, просто выгружает данные в файл, откуда их можно считать или универсальной обработкой загрузки-выгрузки от 1С или моей обработкой "Чтение XML-выгрузки".

Понадобилось как-то, когда базу недовыгрузили и отправили в таком виде на точку. Чтобы заново не выгружать, довыгрузил регистры в файл и там загрузил, быстро работает.

Можно использовать для повторной выгрузки регистра, например, быстрее чем через РИБ.
20. isn Игнатьев (isn) 12 15.09.15 12:28 Сейчас в теме
(4) fixin, Здравствуйте! У меня вопрос к комменту "а сколько в этой базе узлов? У меня база 45 Гб (40 узлов), дочка размером 1,5 Гб формируется 6-7 часов. Штатная выгрузка длится примерно столько же, но монопольно. Тут рядом на ИС еще есть методика удаления лишних объектов из копии базы, если для вас мой метод не подходит, можете юзать этот."
У меня база 70 гигов, 80 узлов. Штатная выгрузка просто физически не выгружает. В комменте есть ссылка "Тут рядом на ИС еще есть методика удаления лишних объектов из копии базы, если для вас мой метод не подходит, можете юзать этот" дайте плиз ссылку. буду проверять оба метода.
21. Осипов Сергей (fixin) 3556 19.09.15 09:03 Сейчас в теме
(20) не, ну сами поищите. Это же банально.
22. isn Игнатьев (isn) 12 21.09.15 10:47 Сейчас в теме
(21) В какой тип файла выгружается, xml, dt, 1cd?
23. isn Игнатьев (isn) 12 21.09.15 13:10 Сейчас в теме
К сожалению, данный вариант формирования узла УРИБ у меня не сработал. Узел с 0, как таковой не создался и судя по коду обработки и не мог создаться.
24. isn Игнатьев (isn) 12 21.09.15 13:44 Сейчас в теме
Зря качал файл. Обработка оказалась бесполезна.
25. Осипов Сергей (fixin) 3556 21.09.15 21:35 Сейчас в теме
(22) он обменивается по COM
(23) А что именно у Вас не получилось?
27. Илья Олегович Червяков (amiralnar) 8 25.10.16 06:23 Сейчас в теме
Сергей, здравствуйте! Спасибо за очень полезную обработку!
Чувствую себя в замешательстве...
В вопросах РИБ очень полезны ваши публикации, пользуюсь второй раз уже.
28. Николай (NikolaST) 25.04.17 08:45 Сейчас в теме
Обработка очень полезная. Небольшое замечание - константы необходимо выгружать так:
вместо
Соединение.Константы[ИмяОбъекта].Установить(Соединение.ЗначениеИзСтрокиВнутр(ЗначениеУпакованное));

нужно писать через менеджера:
МенКонст = Соединение.Константы[ИмяОбъекта].СоздатьМенеджерЗначения();
МенКонст.Значение = Соединение.ЗначениеИзСтрокиВнутр(ЗначениеУпакованное);
МенКонст.ОбменДанными.Загрузка = Истина;
МенКонст.Записать();

а то в конфигурациях с БСП не прокатывало.
29. Сергей (user611677_evgenych76) 28.06.17 08:05 Сейчас в теме
Добрый день. Попробовал воспользоваться обработкой, т.к. штатная перестала работать (останавливается с сообщением о нехватке памяти).
Выдает вот такую ошибку:
{ВнешняяОбработка.ГенерацияУзлаРИБ.МодульОбъекта(589)}: Ошибка при вызове метода контекста (ПрочитатьXML)
Возврат Соединение.ПрочитатьXML(ЧтениеXML);
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.19.130): Значения данного типа не могут быть представлены в XML
База Розница версии 1. Платформа 8.2.19.130
Падает на справочнике дисконтных карт.
Оставьте свое сообщение