Имя: Пароль:
1C
1С v8
ЗУП: Удаление дублей подразделений типовыми средствами. Ошибка
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)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой