ПоискСсылокИЗаменаДублей не позволяет заменять битые ссылки
|
|
Elgrego | Дата: Вторник, 08.10.2019, 11:59 | Сообщение # 1 |
Лейтенант
Группа: Проверенные
Сообщений: 57
Репутация: 59
Статус: Оффлайн
| Добрый день, Сергей. При попытке из запроса добавить пары для замены значений, обнаружил, что ты в формировании текста запроса по паре дублей соединяешься внутренним соединением к таблице объектов для замены. Это соединение приводит к тому, что заменить удаленные ранее объекты на правильные становится невозможно. Пришлось для этого закомментить вот этот код (в модуле формы обработки замены):
|//{Запрос: ЭлементыФинальныхГрупп |ВЫБРАТЬ //| " + мПсевдонимТаблицы + ".Ссылка КАК Ссылка, | ЭлементыГрупп.Ссылка КАК Ссылка, | " + ВыражениеПоляЦенность + " КАК " + мИмяПоляЦенность + ", | ЭлементыГрупп." + мИмяФлагаПравильныйЭлемент + " КАК " + мИмяФлагаПравильныйЭлемент + ", | ЭлементыГрупп." + мИмяПоляПравильныйЭлемент + " КАК " + мИмяПоляПравильныйЭлемент + " |ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ ИСТИНА КАК " + мИмяФлагаПравильныйЭлемент + ", | ФинальныеПары.Правильный КАК Ссылка, ФинальныеПары.Правильный КАК " + мИмяПоляПравильныйЭлемент + " ИЗ ФинальныеПары КАК ФинальныеПары | ОБЪЕДИНИТЬ ВСЕ | ВЫБРАТЬ ЛОЖЬ КАК " + мИмяФлагаПравильныйЭлемент + ", | ФинальныеПары.Неправильный КАК Ссылка, ФинальныеПары.Правильный КАК " + мИмяПоляПравильныйЭлемент + " ИЗ ФинальныеПары КАК ФинальныеПары) КАК ЭлементыГрупп |"; //| ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстИсточника + " КАК " + мПсевдонимТаблицы + " //| ПО ЭлементыГрупп.Ссылка = " + мПсевдонимТаблицы + ".Ссылка";
после этого все стало нормально. Не подскажешь для чего ты всегда соединяешься с таблицей объекта, если в финальных парах уже все есть?
Если возможно, сделай пожалуйста так, чтобы битые ссылки тоже можно было менять в данной обработке. Заранее спасибо.
|
|
| |
tormozit | Дата: Вторник, 08.10.2019, 22:44 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
| Ярко зеленый шрифт на сером фоне читать тяжело. Старайся не использовать такое сочетание.
Чтобы все заданные пользователем настройки (например порядок ценности) корректно отработали, в конечном запросе должен присутствовать оригинальный источник данных.
Я не понял проблему. Попробуй описать ее подробнее желательно со скриншотом первой страницы формы инструмента.
Про битые ссылки тоже не понял. Их поддержка уже давно имеется. Их можно добавлять в состав групп дублей и в правила замены. Видимо здесь тоже нужно более подробное описание проблемы.
|
|
| |
Elgrego | Дата: Среда, 09.10.2019, 15:29 | Сообщение # 3 |
Лейтенант
Группа: Проверенные
Сообщений: 57
Репутация: 59
Статус: Оффлайн
| Для замены дубликатов я использовал запрос. В результате этого запроса было выбрано 2 поля "ЧтоЗаменять" и "НаЧтоЗаменять". Затем из консоли запросов был вызван инструмент "ирПоискДублейИЗаменаСсылок". В поле "ЧтоЗаменять" находились битые ссылки. Проблема была в том, что в результате передачи данного набора в обработку замены я получил только правильные элементы. Неправильных элементов в таблице для замены не оказалось. Пройдя в отладчике, я понял где конкретно происходит очистка битых ссылок. А именно, в функции "ПолучитьЗапросПодготовкиПар". В данной функции динамически строится текст запроса для выбора и свертки дубликатов ссылок. Если на входе в эту функцию передать битые ссылки (что собственно я и сделал), то благодаря внутреннему соединению с таблицей объекта замены (в моем случае это Документ.ПоступлениеНаРасчетныйСчет) мы никогда не получим отсутствующие в базе объекты.
|
|
| |
Elgrego | Дата: Среда, 09.10.2019, 15:31 | Сообщение # 4 |
Лейтенант
Группа: Проверенные
Сообщений: 57
Репутация: 59
Статус: Оффлайн
| А вот так стал выглядеть список на замену после моего удаления внутреннего соединения из текста запроса.
|
|
| |
tormozit | Дата: Среда, 09.10.2019, 22:49 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
| Спасибо. Теперь ситуация понятна. Это ошибка. Твое исправление в первой части подходит, а соединение с источником все таки нужно оставить но заменить его на ЛЕВОЕ. http://www.hostedredmine.com/issues/841043
|
|
| |
tormozit | Дата: Воскресенье, 13.10.2019, 20:41 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 6382
Репутация: 165
Статус: Оффлайн
| Исправлено в 5.09
|
|
| |