Чиним долгое сравнение конфигурации

17.09.24

База данных - Обновление 1С

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

Если вы сохраняете конфигурацию из подключенной к хранилищу базы для разработки в файл "хранилище.cf", затем его сравниваете с боевой базой и у вас всё тормозит, значит реквизиты с одинаковым именем в боевой базе и в хранилище имеют разные GUID. Чтобы это исправить, надо:

1. Выполнить загрузку конфигурации из файла "хранилище.cf" в боевую базу данных, отказаться от обновления.

2. Нажать "Конфигурация базы данных" - "Сравнить, объединить с конфигурацией БД".

3. Увидеть какие реквизиты удалились, какие создаются (у них будет одно имя, но различается внутренний GUID), записать список этих реквизитов. Пример - см скриншот.


4. В боевой базе данных вернуться к конфигурации базы данных.

5. Сохранить конфигурацию из боевой базы в файл "боевая.cf". Боевая база больше не нужна.

6. В подключенной к хранилищу базе для разработки захватить объекты, удалить все записанные ранее реквизиты.

7. Сравнить с файлом "боевая.cf". Добавить ранее удаленные реквизиты. Они добавятся с теми GUID, которые имеют в боевой базе.

Всё, теперь если опять сохранить файл "хранилище.cf" и сравнить в боевой базе то сравнение будет работать быстро, так как теперь совпадают не только видимые имена реквизитов, но и их внутренние идентификаторы. Единственное, из этих реквизитов удалятся все данные в базе для разработки.

cf боевая база хранилище тормоза

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147078    649    360    

235

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

В статье рассматривается использование WinMerge для сравнения, объединения и обновления конфигураций 1С. Отдельно рассматривается методика трехстороннего сравнения при обновлении конфигурации

21.10.2024    2654    mixaeel    18    

17

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    499    3    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    856    gull22    2    

8

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Упрощенное обновление конфигураций 1С (предпочтительно самописных) с помощью батника и Яндекс Диска (по публичной ссылке)

1 стартмани

22.08.2024    552    0    user1694357    0    

4

Обновление 1С Системный администратор Россия Абонемент ($m)

На ИТС есть статья, в которой поверхностно описан процесс автоматического обновления тонких клиентов. В качестве примера, что логично, представлены методы конфигурации 1С. Но, в отличие от того же управления списками баз, для обновления не требуется хранить информацию, потому я решил переписать код на php, чтобы можно было отвязаться от 1С. Не работает для файловых баз, подключенных как File="ПутьКПапкеБазы"; (а жаль), для опубликованных файловых - работает.

1 стартмани

20.08.2024    678    MikeSh    10    

2

Обновление 1С Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

В случае, когда при обновлении конфигурации счет разделяется на несколько субсчетов, может возникать ошибка в видах субконто. Предлагается алгоритм, как это исправить.

05.08.2024    813    NikiforovVA    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Xershi 1555 18.09.24 20:59 Сейчас в теме
А как так вышло?
Я после глобального обновления снимаю бекап рабочей базы и заливаю в базу для разработки.
Ни разу с таким не сталкивался.
Была похожая ситуация когда вышло 10 обновлений и франч накатил их без обновления конфигурации поставщика. Но накатывание конфигурации поставщика решило проблему и такого как у вас не было.
В довесок, а не потеряет ли база данные после таких манипуляций! На копии конечно не страшно, но стоит об этом упомянуть!
smartcoder; +1 Ответить
2. krash13 18.09.24 23:21 Сейчас в теме
(1) Ну например, есть гении, переносящие из дев контура в рабочий контур реквизиты и даже целые объекты ctrl-C ctrl-V или перетаскиванием
smartcoder; +1 Ответить
3. Xershi 1555 19.09.24 12:06 Сейчас в теме
(2) ну тут конечно такое будет. Как говорится по рукам давать за такое. Поэтому за правило нужно взять разработка у себя а в рабочей только получать изменения.
4. user1852486 19.09.24 15:31 Сейчас в теме
(3) Судя по всему у вас один контур, я именно про два говорю, когда рабочее хранилище отдельно от разработки/теста.
5. Xershi 1555 19.09.24 16:30 Сейчас в теме
(4) ну это накладные расходы, такое можно позволить при наличии целой команды разных разработчиков.
6. vatkir 17 23.09.24 13:46 Сейчас в теме
(1) Вариант из статьи получился так: в базе для разработки надо переименовать Реквизит1 в Реквизит2, затем создать новый Реквизит1, затем на бой перенести не Загрузкой конфигурации, не подключением боя к хранилищу, а Сравнением объединением. Итог:
В хранилище:
- GUID1 = Реквизит2
- GUID2 = Реквизит1
В боевой:
- GUID1 = Реквизит1 (так и было изначально, сравнение объединение ничего не переименовало)
- GUID2 не существует (так как при сравнении система решила что Реквизит1 уже есть, хоть и с другим GUID, значит ничего не добавляем)
- GUID3 = Реквизит2 (новый GUID сгенерирован в момент добавления Реквизита2 при Сравнении объединении, т.к. GUID1 уже занят Реквизитом1)

Кстати это может потянуть за собой интересный глюк. Если в форму списка вывести Реквизит2. В базе хранилища отображается Реквизит2, в боевой в том-же элементе формы - Реквизит1. Пока не выполнишь действия из статьи починить этот сбой невозможно. Ну или как вы написали копию боевой взять и в ней кодить, но хранилище тогда заново надо создавать, т.к. в нём глюк сохранится.
7. Xershi 1555 23.09.24 14:31 Сейчас в теме
13. vatkir 17 29.09.24 07:31 Сейчас в теме
(7) эм...нет, вы ошибаетесь, именно резные идентификаторы в двух конфигурациях, чистка кеша такое не лечит
14. Xershi 1555 29.09.24 13:24 Сейчас в теме
(13) возможно действительно глюк, стоит разработчикам отписать. Но по опыту такое поведение на 90% связано с кешем.
8. Wi5hMaCTeP 5 24.09.24 09:36 Сейчас в теме
Не проще пересоздать хранилище из прода (вообще всегда надо именно оттуда его создавать, имхо) и перезалить дев-базы бэкапом прода?
9. vatkir 17 25.09.24 06:59 Сейчас в теме
(8) конечно проще, но все объекты должны быть не захвачены, такое окно иногда трудно поймать
11. Wi5hMaCTeP 5 25.09.24 08:20 Сейчас в теме
(9) да, это нужно согласовывать с командой. Но, если вопрос стоит остро, я думаю не проблема согласовать остановку на пару часов. Делал такое не раз, на команде до 10 человек вообще проблем не возникает.
10. n_mezentsev 57 25.09.24 07:59 Сейчас в теме
Спасибо за метод, но, к сожалению, он не работает в случае, если есть другие отсутствующие/присутствующие Объекты (по крайней мере, они - насчет реквизитов не знаю). То есть при внедрении нового объекта в рабочую базу также сидишь и ждешь в свое окошко...
И вы забыли упомянуть важный факт. В тестовой базе удалятся данные, указанные в удаляемом реквизите. Добавьте, пожалуйста. Это, конечно, не серьезная проблема, но может быть болезненным - опять тестовые данные собирать. (это естественно, кстати, ведь в базе sql данные хранятся под особыми идентификаторами, позволяя нам динамически обновлять имя реквизита, но не удалять - восстанавливать вручную/объединением, конечно)
12. vatkir 17 29.09.24 07:27 Сейчас в теме
(10) Это в статье есть, см. последнее предложение. Насчёт тормозов если конфигурации различаются целыми объектами - логично.
15. n_mezentsev 57 22.10.24 09:35 Сейчас в теме
(10) Поправка, сравнение было долгим потому как один макет не отследил, при наличии различных добавленных реквизитов и даже объектов сравнение идет дольше, чем мгновенно, но совсем не долго:)
Оставьте свое сообщение