Создание стартовой базы

0. 4680 11.10.21 11:17 Сейчас в теме
Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. AlexWhite 195 11.10.21 11:40 Сейчас в теме
А почему предопределенные элементы в новой базе получили другой GUID, чем в источнике?

Думал всегда, что при использовании режима "Загрузить конфигурацию из файла" внутренние GUID должны совпадать.

Спасибо за статью и креативный подход к решению!
4. sapervodichka 4680 11.10.21 12:05 Сейчас в теме
(1) при загрузке конфигурации внутренние GUID совпадают у метаданных и их реквизитов в конфигурации. Для предопределенных в конфигурации элементов, например, счетов в плане счетов или элементов справочника создаются также сами объекты данных в базе с привязкой к этому предопределенному элементу, вот у объектов данных создаваемых на основании предопределенных уникальные идентификаторы разные в каждой создаваемой базе.
blackjack666; psa247; +2 Ответить
6. AlexWhite 195 11.10.21 12:12 Сейчас в теме
(4)
счетов в плане счетов или элементов справочника создаются также сами объекты данных в базе с привязкой к этому предопределенному элементу, вот у объектов данных создаваемых на основании предопределенных уникальные идентификаторы разные в каждой создаваемой базе

Вот это да! Век живи, век учись. Спасибо!
2. gorakh 25 11.10.21 11:47 Сейчас в теме
Если база на MS SQL то для чистки очень помогает TRUNCATE TABLE. Находим ненужные таблицы и просто удаляем их. Например "Версии объектов". Обычно она одна из самых больших и в базе разработки явно лишняя.
skyboy13; rolin555; adhocprog; sapervodichka; +4 Ответить
3. &rew 31 11.10.21 12:03 Сейчас в теме
Можно еще конвертахой 2.0 бомбануть правила автоматом и притащить нужные справочники, константы, ПВХ, РС по метаданным. Там и GUIDы прилетят как надо.
sapervodichka; +1 Ответить
5. sapervodichka 4680 11.10.21 12:10 Сейчас в теме
(3) по идее да, в Универсальном обмене XML, которая по правилам обмена тащит, также есть COM подключение )
7. zhuravlev_as 287 11.10.21 13:22 Сейчас в теме
Если разработчики 1С до сих пор не реализовали обработку "Выгрузка/загрузка данных в формате XML" для управляемого приложения, то это их никак не красит.
10. sapervodichka 4680 11.10.21 13:57 Сейчас в теме
(7) она есть, но в ней нет удобных фильтров и COM обмена
8. Rustig 1279 11.10.21 13:40 Сейчас в теме
И сколько времени ушло на сдачу работ?

Ну при размере в 100 Гб это прям нет-нет. У меня нет столько недель ждать, пока все почиститься.


Я в свое время файловую базу в 20 Гб копировал - надо было оставить справочники, удалить документы - по сути стартовую базу создать.

В одной копии запустил удаление документов (затем сжатие базы провел), во второй копии разрабатывал перенос справочников (ЦФшник же имеется)... Параллельно....

В итоге, удалилось все быстрее, чем я думал - особенно с учетом времени сна.... Мне почему-то кажется что вся описанная схема выше это как минимум неделя на тестирование. И если так, то удаление документов закончилось бы раньше, имхо...
корум; PowerBoy; +2 Ответить
9. sapervodichka 4680 11.10.21 13:56 Сейчас в теме
(8) привет, ушёл 1 вечер четверга, т.к. в ночь с четверга на пятницу в неё уже остатки грузили
&rew; Rustig; +2 Ответить
11. vld1973 17 11.10.21 15:55 Сейчас в теме
Спасибо, интересное решение
12. psa247 14 11.10.21 18:38 Сейчас в теме
Прикольно. Добавил в закладки
13. ybatiaev 55 11.10.21 21:33 Сейчас в теме
Всегда ранее делал CF с рабочей базы. Потом её в пустую загружал. Всё. Создавалась чистая база с полной копией скелета, т.е. конфигурацией. А потом уже выгрузка/загрузка XML стандартной обработкой то, что нужно за любой период.
Что в этом механизме не так?
sapervodichka; +1 Ответить
14. sapervodichka 4680 11.10.21 21:57 Сейчас в теме
(13) ну этот ваш вариант я сотни раз делал. В нем конечно вы знаете, что появляются дубли валют, классификаторов, плана счетов субконто, предопределенных элементов с разным УИ. Которые потом нужно устранить, чтобы не получить, например, 2 рубля или 2 шт, ну и ошибки СУБД при вставке 2 счетов с одним и тем же кодом но с разным УИ и привязанным к одному предопределенному счету. Вот в статье и написано, что ситуация была не рядовой, что УИ должны были совпадать у всех объектов и самое важное, что сама база (как вы пишите) не запускалась с пустого cf и не выполняла обработчики заполнения данных, т.е. ваш вариант бы не подошел.
CnupT; ybatiaev; +2 Ответить
15. skyboy13 11 11.10.21 22:26 Сейчас в теме
Большие базы можно чистить удалением элементов конфигурации. Сделал копию через sql. Удалил документ поступление денег, сохранил конфигурацию, потом ctr-c/ctrl-v из базы донора вставил и сохранил еще раз. Если основные таблицы так по удалять, то потом через выгрузку в dt - можно быстро получить то, что нужно маленького объема.
16. sapervodichka 4680 11.10.21 22:59 Сейчас в теме
(15) это какая-то разовая акция для независимого регистра сведений, да и то я так всем программистам категорически запрещаю делать, т.к. при копи-пасте объектов метаданных они получают другие идентификаторы в дереве конфигурации, что приводит к тому, что сами конфигурации уже не наследуются при установке обновлений и идет потеря данных таблиц (возвращать объект можно только сравнением объединением). При этом если попробовать на практике удалить ну хотя бы 100 объектов метаданных из конфигурации 1C:ERP это какая-то пытка на несколько дней (чтобы снять с поддержки и удалить все связи по типам в других объектах, ну уж нет, точно это прям бедовая затея, неправильная)
17. skyboy13 11 12.10.21 07:07 Сейчас в теме
(16) Ну что я могу сказать, мне жаль программистов, которым "категорически запрещается что-то делать". я не работают с типовым конфигурациями, в которых работает сотни программистов, составляющие сотни связей. у меня свои собственные конфигурации, там все проще продумано. Хотя их объем и под 100 терабайт.
А если нужно сохранить идентификаторы, привязкой обратно к хранилищу, все решается. Так что альтернативные решения, не стоит называть бредом. Каждая рабочая идея имеет право на существование. Удачи.
22. sapervodichka 4680 12.10.21 09:55 Сейчас в теме
(17) давай без обид, слова "бред" я не писал, прочти пожалуйста внимательней, я писал что это "бедовая" затея, от слова "беда", т.к. после копипастов объектов конфигурация становится не обновляемой на следующие релизы выпускаемые 1С или обновляется с потерей данных тех таблиц которые копировались (при загрузке нового релиза конфигурации). Когда своих напарников по работе пытаешься уберечь от быстрых решений с драматическим послевкусием, они благодарны только оставались, иначе такой копипаст на большом проекте фактически равен будущему увольнению. Сам как ты пишешь удалить и скопировать я в редких случаях делал как писал "на разовых" например с регистров версии объектов когда надо было почистить его (но все равно не копипастом возвращал а сравнением объединением конф)
26. skyboy13 11 12.10.21 10:01 Сейчас в теме
(22) да минус просто жалко, зашел тут на минут, предложил еще вариант. с определенными ограничениям, но вариант. я, например, там базы не переношу в любом случае. все синхронизации работают проще через http, можно использовать много-поточность. в разы все быстрее работает.
даже филиальные базы, которых тысячи, конектятся через защищенный контур и шлют и забирают обновления по http, все это поддерживается одним или двумя разработчикам, ибо проще в разы.
sapervodichka; +1 Ответить
28. sapervodichka 4680 12.10.21 10:04 Сейчас в теме
18. skyboy13 11 12.10.21 07:34 Сейчас в теме
Ну, а если не нравится вариант с ctr-c/ctr-v. Сохраняем конфу в xml, удаляем что не нужно. Загружаем. Сохраняем базу. Далее загружаем первоначальный вариант. И конфа очищена и идентификаторы родные. Работы по полчаса.
Это похоже, как ранее писали на TRUNCATE TABLE, но без sql-ных рисков.
20. sapervodichka 4680 12.10.21 09:37 Сейчас в теме
(18)
удаляем что не нужно
звучит нереально. Ведь в ЕРП 1000 типов метаданных и нужно быть МЕГАГУРУ СУПЕР ЧЕЛОМ чтобы, что не нужно удалить, а что нужно оставить, и при этом чтобы конкретные данные остались сотни настроек баз совпадали между собой, учетная политика совпадала, чтобы были нужные ссылки только на нужные объекты и всего этого хватило для запуска.
23. skyboy13 11 12.10.21 09:55 Сейчас в теме
(20) Так публикация была не про конкретно ЕРП. 1С-вкие конфигурации это вообще отдельная песня. Так что не понятно, за что мне минус влепили.
25. sapervodichka 4680 12.10.21 09:58 Сейчас в теме
(23) этот минус за коммент никуда не идет ни в рейтинг, короче ни куда. Это просто мнение за комментарий, т.к. в 99 % случаев на практике как ты пишешь так ни в коем случае нельзя делать. А оставшимся 1 % надо понимать последствия.
29. Spec1Cnik 11 12.10.21 10:24 Сейчас в теме
(18) Также когда-то вставал вопрос с ут11.4, на которой велась разработка - что с ней делать, ибо нужна была база рабочая чистая без тестовых документов и их движений + все все настройки из "тестовой". Всё таки решил воспользоваться решением с копированием базы и удалением ненужных данных из "тестовой". Через sql если делать напрямую - всё достаточно быстро происходит.
sapervodichka; +1 Ответить
30. sapervodichka 4680 12.10.21 10:56 Сейчас в теме
(29) напиши подробнее как делал, если будет возможность. Тут если убрать кухню по созданию обработки то база в течение 1 часа создается.
19. Olenevod 27 12.10.21 09:37 Сейчас в теме
А не подскажешь, список объектов которые ты выгружал? Ну это типа учетная политика, версии подсистем. планы счетов и т.д.
Т.е. некий базовый список
21. sapervodichka 4680 12.10.21 09:40 Сейчас в теме
(19) у меня УХа была перепиленная в задаче, для других баз другой набор объектов, кроме счетов и субконто, вот еще какие грузил:
Прикрепленные файлы:
24. savaB 12.10.21 09:56 Сейчас в теме
стесняюсь спросить - А с РИБ что не так?
27. sapervodichka 4680 12.10.21 10:04 Сейчас в теме
(24) Первое что с ним не так - это там его нет и надо делать и план обмена и состав и код и создавать начальный образ (совпадет он по всем настройкам? и при этом будет ли пустой базой? нет скорее). Второе - про типовые базы с Полным обменом наверное почти все так, можно создать настройки обмена, затем создать образ, но с ним надо работать, понять что не подтянулось и заморачиваться удаляя лишнее. С нетиповой базой, в которой для нетиповых объектов нет Полного обмена, этим надо еще заниматься. Все это какая-то другая задача.... а нужно просто создать базу с идентичными настройками (РИБ как механизм для неё не нужен по задаче). Единственное, что можно добавить, что вышеописанная идея подходит для создания начального образа РИБ (потом только узлы обмена создать и замок докинуть на конфу и вот тебе узел РИБ )))))
31. savaB 12.10.21 11:01 Сейчас в теме
1. добавить план обмена - дело пары минут
2. (и основное) - настроить состав
3. никакого кода не надо - от слова вооще
4. совпадает 1 к 1.
5. начальный образ - время зависит от состава и ограничено железом.

"надо работать, понять что не подтянулось и заморачиваться удаляя лишнее" - так и по Вашей методе надо работать
33. sapervodichka 4680 12.10.21 11:11 Сейчас в теме
(31) по моей любая база в течение 1 часа готова без доработок. А тут РИБ, потом еще человека научи начальный образ отцеплять от обмена. Админам объясни зачем РИБ добавил... Роль на РИБ сделай чтобы у пользователей ошибки регистрации при работе с базой не шли... а если попросят повторить, что-то быстренько догрузить это надо рабочую базу обновлять 200 человек выгонять. Ну РИБ РИБом но единственным инструментом нельзя все дырки затыкать, есть проще решения.
34. savaB 12.10.21 11:31 Сейчас в теме
(33) Зачем это все? сделал образ, отцепил от центра - и усе
35. sapervodichka 4680 12.10.21 12:01 Сейчас в теме
(34) Борис, запили статью, возможно, твоя практика окажется полезной.
36. savaB 12.10.21 12:19 Сейчас в теме
(35) Разве что на пенсии ;)))
sapervodichka; +1 Ответить
32. savaB 12.10.21 11:05 Сейчас в теме
да, если надо переносить доки с отбором - возникают вопросы, но обработки типа Обмен между идентичными конфигурациями решают этот вопрос
37. quazare 1405 12.10.21 12:48 Сейчас в теме
можно было движения sql-лем почистить - как-то у меня подобная чистка (порядка 100 - 120 гб) заняла около 40 минут на ssd.
sapervodichka; +1 Ответить
40. triviumfan 28 18.10.21 11:39 Сейчас в теме
(37) почему так долго? Если "транкейтом" удалить документы и движения можно за секунды :).
38. quazare 1405 12.10.21 12:56 Сейчас в теме
вообще можно "приготовить" тестовую базу из ночной копии рабочей, а все изменения в рабочей регистрировать планами обмена.
sapervodichka; +1 Ответить
39. sapervodichka 4680 12.10.21 23:03 Сейчас в теме
(38) пиши рецепт Джейми Оливер плюсану (считаю, чем больше рецептов готовки тем лучше)
41. rst_filippov 47 23.10.21 11:08 Сейчас в теме
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Преподаватель 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Временный (на проект)


Администратор 1C
Москва
зарплата до 110 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день