|   |   | 
| 
 | ЗУП: Удаление дублей подразделений типовыми средствами. Ошибка | ☑ | ||
|---|---|---|---|---|
| 0
    
        alex-79 04.10.19✎ 16:00 | 
        Здравствуйте!
 Конфигурация ЗУП 3.1.9.229 (типовая) Решил избавиться от дублей в справочнике подразделения. Использую стандартный функционал конфигурации "Поиск и удаление дублей". Для примера взял два подразделения: 1. Подразделение "Отрадный Ф74" появилось в базе ЗУП при синхронизации с бухгалтерией. 2. Подразделение "Отрадный Ф74 не использовать" было создана вручную в базе ЗУП. Необходимо в ЗУП оставить только подразделение "Отрадный Ф74", перекинув на него все документы. На этом скрине показаны настройки обработки https://i9.wampi.ru/2019/10/04/RIS-1.png В момент переноса данных с одного подразделения на другое появляется ошибка: "Заменены не все места использования. Возможно места использования были добавлены или изменены другим пользователем." Сам процесс замены подразделения в документах не происходит. На этом скрине показано сообщение об ошибке. При нажатии на подразделение "Отрадный Ф74 не использовать" появляется окно "Объект не найден", но он есть в базе. https://i9.wampi.ru/2019/10/04/RIS-2fecb49c35a9044a8.png Подскажите, что с этим можно сделать. | |||
| 1
    
        shuhard 04.10.19✎ 16:05 | 
        (0)[Подскажите, что с этим можно сделать.]
 выполнить часть работы руками | |||
| 2
    
        alex-79 04.10.19✎ 16:08 | 
        После такой ошибки все замены подразделений в документах и т.д. откатываться обратно как будто обработка ничего не делала.     | |||
| 3
    
        alex-79 04.10.19✎ 16:10 | 
        Самое загадочное заключается в том, что в список объектов, у которых нужно менять подразделение, попадает подразделение, которое нужно заменить.     | |||
| 4
    
        alex-79 04.10.19✎ 16:14 | 
        Дубли подразделений ни один раз удалял в БП 3.0 и УТ 11 и проблемы такой не было.
 ЗУП обновлял до текущего релиза, но ошибка так и не исчезла. | |||
| 5
    
        Фрэнки 04.10.19✎ 16:34 | 
        ну так в обработке открывается транзакция - ничего удивительного в том, что это создает откат     | |||
| 6
    
        alex-79 04.10.19✎ 16:47 | 
        Сейчас развернул последний релиз демо базы ЗУП и сделал тоже самое.
 Скрин ошибки и также не удалось поменять подразделение https://i9.wampi.ru/2019/10/04/182eae60ce68cc6f0.png Но в отличии от рабочей базы ЗУП хоть понятно почему нельзя было пометить на удаление подразделение. Из обработки открывается подразделение и видна причина, по которой нельзя пометить на удаление. https://i0.wampi.ru/2019/10/04/2.png (5) Френки, Подразделение, которое нужно удалить в рабочей базе ЗУП прилетело из БП при синхронизации. Что-то с ним не так. Я вижу только один способ. Отладчиком проверять работу обработки "Поиск и удаление дублей". Правила синхронизации БП - ЗУП типовые. Чувствуется, что данные заполняли криво. | |||
| 7
    
        Михаил Козлов 04.10.19✎ 17:04 | 
        Попробуйте обработкой Поиск и замена значений (для УФ) заменить ссылки.
 Ненужное подразделение - удалить. | |||
| 8
    
        alex-79 04.10.19✎ 17:23 | 
        (7) Михаил Козлов
 Я добрался до фонового задания. Интересные два параметра, которые передаются в процедуру замены ссылок на скрине https://i9.wampi.ru/2019/10/04/QIP-Shot---Screen-058.png Обработка поиска и замены значений будет ли учитывать это? Вопрос. Есть сомнение на счет того, что она поломает логику. Тем более данные по ЗУП за несколько лет перелопачивать надо будет обработке и в рабочей базе около 20-ти организаций. | |||
| 9
    
        alex-79 04.10.19✎ 18:03 | 
        Запустил обработку с таким кусоком кода
 ПарыЗамен = Новый Соответствие; ПарыЗамен.Вставить(ПодразделениеОткуда, ПодразделениеКуда); ПарыЗамен.Вставить(ПодразделениеКуда, ПодразделениеКуда); ПараметрыЗамены = Новый Структура; ПараметрыЗамены.Вставить("ВключатьБизнесЛогику", Истина); ПараметрыЗамены.Вставить("СпособУдаления", "Пометка"); ПараметрыЗамены.Вставить("УчитыватьПрикладныеПравила", Истина); Результат = ОбщегоНазначения.ЗаменитьСсылки(ПарыЗамен, ПараметрыЗамены); Отладчиком посмотрел, что возвращается в переменную "Результат". В неё возвращается таблица значений На скрине видно, что проблема в отсутствии документа "Штатное расписание" в ЗУПе https://i8.wampi.ru/2019/10/04/QIP-Shot---Screen-059.png Чьи то шаловливые ручки обработкой удаляли документы без поиска ссылок. Такой вывод напрашивается. | |||
| 10
    
        alex-79 04.10.19✎ 18:14 | 
        Тьфу! Не документа, а справочника "Штатное расписание".     | |||
| 11
    
        Фрэнки 04.10.19✎ 19:35 | 
        (10) либо его элементы просто не приезжали из центра по РИБ     | |||
| 12
    
        Фрэнки 04.10.19✎ 19:39 | 
        а про транзакцию я выше написал - это довольно распространенный прием : перед началом критичной процедуры, вроде выбранной, в коде модуля процедуры ставиться НачатьТранзакцию и в конце ЗафиксироватьТранзакцию
 Можно не добраться до фиксации, если вылететь по Исключение или просто сделать Возврат при получении сообщений об ошибках или проверках. | |||
| 13
    
        alex-79 04.10.19✎ 21:50 |  | |||
| 14
    
        alex-79 04.10.19✎ 21:55 | 
        Попробовал обработку "Поиск и замена значений".
 При первой обработке подразделений остается одна ссылка на справочник "Штатное расписание", в которой не удалось заменить подразделение. https://i8.wampi.ru/2019/10/04/QIP-Shot---Screen-061.png При втором запуске обработки замена подразделения в Штатном расписании происходит. Типовая обработка "Поиск и удаление дублей" в базе ЗУП в этом случае совсем не работает. | |||
| 15
    
        Фрэнки 05.10.19✎ 11:06 | 
        (14) // Типовая обработка "Поиск и удаление дублей" в базе ЗУП в этом случае совсем не работает.
 Я заранее не стал об этом писать, но у меня есть подозрения, что в ЗУП эта обработка переделана под ее использование для уборки дублей физлиц и она уже не может считаться универсальной. | |||
| 16
    
        dnab 05.10.19✎ 13:03 | 
        (15) использовал эту обработку после подгрузки из 2.5 организации в уже работающую базу 3.1. Заменял виды отпусков и должности     | |||
| 17
    
        Фрэнки 06.10.19✎ 09:23 | 
        (16) повезло
 а у автора топика другой тип объекта метаданных | |||
| 18
    
        ironicman 20.11.19✎ 17:27 | 
        Автор топика как-то справился с перерасчетами? В моем случае регистр перерасчетов наполняется записями после замены ссылок. 
 Перерасчеты не приводят к доначислениям (сумма - 0) при точечной проверке. Что намекает что их можно отменить. Но уверенность в том, что после замены ссылок штатными средствами, я не схвачу в будущем проблем тает на глазах. | |||
| 19
    
        dka80 20.11.19✎ 17:33 | 
        (18) будь мужиком! проверь на тестовой базе. Неоднократно чего только не менял. Все нормально     | |||
| 20
    
        ironicman 20.11.19✎ 17:46 | 
        (19) "Да я сто раз так делал"... :)
 Читай мой пост как результат проверки на тестовой базе. Иначе вопрос бы не возник.. | |||
| 21
    
        ironicman 21.11.19✎ 11:18 | 
        (8) В моем случае помогла установка в модуле объекта типовой обработки ПоискИУдалениеДублей в процедуре ФоновоеУдалениеДублей(..) установка ПараметрыЗамены.ВключатьБизнесЛогику = Ложь. 
 Произойдет "техническая" замена ссылок, без дополнительных проверок и действий, которые происходят в подписках. Скорее всего в общем случае это не подойдет, иначе бы эту опцию вывели в интерфейс обработки. ЗУП 3.1.10.111 (8.3.13.1644) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |