Пятница, 29.03.2024, 16:54
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Прочее » ПоискСсылокИЗаменаДублей не позволяет заменять битые ссылки
ПоискСсылокИЗаменаДублей не позволяет заменять битые ссылки
ElgregoДата: Вторник, 08.10.2019, 11:59 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 56
Репутация: 55
Статус: Оффлайн
Добрый день, Сергей.
При попытке из запроса добавить пары для замены значений, обнаружил, что ты в формировании текста запроса по паре дублей соединяешься внутренним соединением к таблице объектов для замены. Это соединение приводит к тому, что заменить удаленные ранее объекты на правильные становится невозможно.
Пришлось для этого закомментить вот этот код (в модуле формы обработки замены):

|//{Запрос: ЭлементыФинальныхГрупп
|ВЫБРАТЬ
//| " + мПсевдонимТаблицы + ".Ссылка КАК Ссылка,
| ЭлементыГрупп.Ссылка КАК Ссылка,
| " + ВыражениеПоляЦенность + " КАК " + мИмяПоляЦенность + ",
| ЭлементыГрупп." + мИмяФлагаПравильныйЭлемент + " КАК " + мИмяФлагаПравильныйЭлемент + ",
| ЭлементыГрупп." + мИмяПоляПравильныйЭлемент + " КАК " + мИмяПоляПравильныйЭлемент + "
|ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ ИСТИНА КАК " + мИмяФлагаПравильныйЭлемент + ",
| ФинальныеПары.Правильный КАК Ссылка, ФинальныеПары.Правильный КАК " + мИмяПоляПравильныйЭлемент + " ИЗ ФинальныеПары КАК ФинальныеПары
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ ЛОЖЬ КАК " + мИмяФлагаПравильныйЭлемент + ",
| ФинальныеПары.Неправильный КАК Ссылка, ФинальныеПары.Правильный КАК " + мИмяПоляПравильныйЭлемент + " ИЗ ФинальныеПары КАК ФинальныеПары) КАК ЭлементыГрупп
|";
//| ВНУТРЕННЕЕ СОЕДИНЕНИЕ " + ТекстИсточника  + " КАК " + мПсевдонимТаблицы + "
//| ПО ЭлементыГрупп.Ссылка = " + мПсевдонимТаблицы + ".Ссылка";


после этого все стало нормально.
Не подскажешь для чего ты всегда соединяешься с таблицей объекта, если в финальных парах уже все есть?

Если возможно, сделай пожалуйста так, чтобы битые ссылки тоже можно было менять в данной обработке.
Заранее спасибо.
 
tormozitДата: Вторник, 08.10.2019, 22:44 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6110
Репутация: 153
Статус: Оффлайн
Ярко зеленый шрифт на сером фоне читать тяжело. Старайся не использовать такое сочетание.

Чтобы все заданные пользователем настройки (например порядок ценности) корректно отработали, в конечном запросе должен присутствовать оригинальный источник данных.

Я не понял проблему. Попробуй описать ее подробнее желательно со скриншотом первой страницы формы инструмента.

Про битые ссылки тоже не понял. Их поддержка уже давно имеется. Их можно добавлять в состав групп дублей и в правила замены. Видимо здесь тоже нужно более подробное описание проблемы.
 
ElgregoДата: Среда, 09.10.2019, 15:29 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 56
Репутация: 55
Статус: Оффлайн
Для замены дубликатов я использовал запрос. В результате этого запроса было выбрано 2 поля "ЧтоЗаменять" и "НаЧтоЗаменять". Затем из консоли запросов был вызван инструмент "ирПоискДублейИЗаменаСсылок". В поле "ЧтоЗаменять" находились битые ссылки.
Проблема была в том, что в результате передачи данного набора в обработку замены я получил только правильные элементы. Неправильных элементов в таблице для замены не оказалось.
Пройдя в отладчике, я понял где конкретно происходит очистка битых ссылок. А именно, в функции "ПолучитьЗапросПодготовкиПар".
В данной функции динамически строится текст запроса для выбора и свертки дубликатов ссылок. Если на входе в эту функцию передать битые ссылки (что собственно я и сделал), то благодаря внутреннему соединению с таблицей объекта замены (в моем случае это Документ.ПоступлениеНаРасчетныйСчет) мы никогда не получим отсутствующие в базе объекты.
Прикрепления: 4377437.png (75.3 Kb) · 7509396.png (69.8 Kb)
 
ElgregoДата: Среда, 09.10.2019, 15:31 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 56
Репутация: 55
Статус: Оффлайн
А вот так стал выглядеть список на замену после моего удаления внутреннего соединения из текста запроса.
Прикрепления: 4765919.png (112.1 Kb)
 
tormozitДата: Среда, 09.10.2019, 22:49 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6110
Репутация: 153
Статус: Оффлайн
Спасибо. Теперь ситуация понятна. Это ошибка.
Твое исправление в первой части подходит, а соединение с источником все таки нужно оставить но заменить его на ЛЕВОЕ.
http://www.hostedredmine.com/issues/841043
 
tormozitДата: Воскресенье, 13.10.2019, 20:41 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 6110
Репутация: 153
Статус: Оффлайн
Исправлено в 5.09
 
Форум » Основной » Прочее » ПоискСсылокИЗаменаДублей не позволяет заменять битые ссылки
  • Страница 1 из 1
  • 1
Поиск: