Обработка удаления дублей предопределенных значений справочников

Публикация № 348388

Администрирование - Администрирование данных 1С - Обработка справочников

удаление дублей предопределенных

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

Началось все с того, что при обновлении Бухгалтерии 3.0 выскочила ошибка "Ошибка при вызове метода контекста (Записать)". При выяснении причин оказалось? что в некоторых справочниках задвоились (троились, ...) предопределенные значения.

Обработка удаления дублей категорически отказывалась их сливать воедино.

Тогда я написал эту обработку.

Принцип прост. В поле Объект выбираете обрабатываемый справочник и нажимаете кнопку "перенумеровать двойные".

Обработка смотрит, по какому полю идет представление справочника (код или наименование), и добавляет к двойным записям цифры по порядку 1,2 и т.д., при этом помечая их на удаление и снимая привязку к предопределенному элементу. После обработки программа прекрасно обновилась, а все помеченные элементы удалил стандартной обработкой удаления помеченных объектов.

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

Наименование Файл Версия Размер
Исправление двойных предопределенных значений

.epf 6,69Kb
192
.epf 1.0 6,69Kb 192 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ekaruk 5295 22.04.15 09:45 Сейчас в теме
Подход не совсем правильный.
Нельзя просто на автомате без просмотра менять коды куче элементов случайным образом.
Правильнее было проверить, что именно задублировалось, например, этим http://infostart.ru/public/305892/
Сравнить глазами, какой элемент родной и какой лишний.
У лишнего снять пометку предопределенности, и пометить на удаление.
Потом удалить стандартным удалением помеченных.
vadimlp77; +1 Ответить
2. _qqq 44 22.04.15 11:28 Сейчас в теме
(1) ekaruk,
Буквально сегодня решалась задача удаления задвоенного предопределенного элемента справочника.
К сожалению, обработку заметили после того, как все было сделано.
И пометка предопределенности не снимается никак, ни программно, ни разными редакторами реквизитов.
Т.к. в 8.3 предопределенные элементы привязываются к элементам, которые предопределены в конфигураторе.

Пришлось в конфигураторе удалять предопределенный элемент. Тогда в режиме предприятия два к нему привязанных элемента справочника стали помеченными на удаление и снялась галка Предопределенный. Ну а потом создавать заново предопределенный элемент.

UPD
Между задвоенными предопределенными элементами, по сути, нет никакой разницы. Поэтому и нет разницы какой будет удален.
4. ekaruk 5295 22.04.15 12:51 Сейчас в теме
(2) _qqq,
И пометка предопределенности не снимается никак, ни программно, ни разными редакторами реквизитов.

Конкретно ошибка "Ошибка при вызове метода контекста (Записать)" не связана с признаком предопределенности. Она связана с задублированным кодом.
Можно было обычной типовой групповой обработкой редактирования реквизитов изменить код, и потом уже снять признак предопределенности обнулив поле "ИмяПредопределенныхДанных".
Между задвоенными предопределенными элементами, по сути, нет никакой разницы. Поэтому и нет разницы какой будет удален.

Обычно один из них давно в базе и на нем есть документы и движения, а второй пришел из другой базы и на нем нет данных. Поэтому удалять нужно именно тот, на котором данных нет.
5. _qqq 44 23.04.15 09:24 Сейчас в теме
(4) ekaruk, том моем справочнике не было кода (длина кода 0). И к тому же не было контроля уникальности. Это справочник Наборы дополнительных реквизитов и сведений в ERP УП.

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

Это обычно так. Но у нас произошло ровно наоборот: для родного данных не оказалось, а для нового дубля перенеслись некоторые данные, поэтому дубль и образовался. Переносили, кстати, не самоделками, а типовыми, с ИТС.
3. Dionis 18 22.04.15 11:43 Сейчас в теме
(1) ekaruk, ну если придираться, то да. И начал я как раз с Вашей обработки, кстати, спасибо за нее!
Но поняв, что руками я устану все исправлять, сделал вот такой вот автомат. И бодро-весело все поправил :)
6. dimomys 23.09.15 17:07 Сейчас в теме
Спасибо, огромное автору!!!!!! Три дня бился с этой проблемой в Бухе 3.0 и вот так просто она решилась.
7. zhuravlev_as 24.11.15 15:47 Сейчас в теме
Спасибо. Уже несколько раз выручала.

Не хватает еще до комплекта обработки удаления дублей предопределенных элементов плана видов характеристик, здесь http://infostart.ru/public/435433/
И планов счетов: http://infostart.ru/public/435451/
8. Светлый ум 268 27.03.18 10:07 Сейчас в теме
Склеивание дублей в плане счетов - будет работать и в УФ, но из под толстого клиента. Причесывал ею БП 3.0.58 (это подправленная старая обработка склеивания план счетов и ПВХ)

- на сегодняшний день единственная обработка по склеиванию предопределенных дублей в плане счетов
(если кто найдет другой механизм - размещайте ссылки)
Прикрепленные файлы:
ПоискЗаменаУдалениеДублей_ПХВ_ПланСчетов — исправленная 2018г.epf
9. Светлый ум 268 27.03.18 10:11 Сейчас в теме
Евгения Карук (ekaruk) , http://infostart.ru/public/305892/

- Обработка Евгении хороша, очень пригодился механизм сообщающий "о всех дублях, по всем метаданным",
использовал ее как отчет после всех выполненных работ (свертка базы + перенос док.текущего периода)
10. mart-artur 5 28.01.19 14:51 Сейчас в теме
Спасибо, помогла обработка.
Оставьте свое сообщение