:: Вопросы по 1С
Запрос в 8.3
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Хочу получить дубли запросом.
ЮЛ = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Код,
| Контрагенты.ИНН,
| Контрагенты1.Код КАК Код1,
| Контрагенты1.ИНН КАК ИНН1
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1
| ПО Контрагенты.ИНН = Контрагенты1.ИНН
| И Контрагенты.Код <> Контрагенты1.Код
|ГДЕ
| Контрагенты.ЮридическоеФизическоеЛицо = &ЮЛ";
Запрос.УстановитьПараметр("ЮЛ", ЮЛ);

Работает совсем не так как ожидалось(
Похоже плюет на Контрагенты.ИНН = Контрагенты1.ИНН
Что не так?


------------------
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Классический запрос дублей выглядит так:
ВЫБРАТЬ
Подзапрос.ИНН КАК ИНН,
Подзапрос.Колво,
Контрагенты.Ссылка КАК Ссылка
ИЗ
(ВЫБРАТЬ
Контрагенты.ИНН КАК ИНН,
КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Колво
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ Контрагенты.ИНН <> ""
СГРУППИРОВАТЬ ПО
Контрагенты.ИНН
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Контрагенты.Ссылка) > 1) КАК Подзапрос
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО Подзапрос.ИНН = Контрагенты.ИНН
УПОРЯДОЧИТЬ ПО
ИНН,
Ссылка
АВТОУПОРЯДОЧИВАНИЕ
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Но ваш запрос тоже работает на моей базе. Только я условие добавил ГДЕ Контрагенты.ИНН <> "".
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
pasha_usue
Но ваш запрос тоже работает на моей базе. Только я условие добавил ГДЕ Контрагенты.ИНН <> "".
Ну именно так, у меня в ИНН1 и Код1 пустота. Тока... что то в смысл не въеду.
И поправил запрос, кол-во дублей уменьшилось, но все равно, полно показывает.
Полагаю в ИНН не обязательно пустота, поставил 10 пробелов, то же самое
А вот так не работает(((
И СокрЛП(Контрагенты.ИНН) <> &пусто

Нельзя функции с полями?

Попробую вашу, с группировкой)


------------------
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Пустота. Потому что левое соединение, а дубля не нашлось. Там NULL, по-сути.
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
Аспид
Автор

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Ну конечно же INNER JOIN нужен)))
Ваша отработала на 5!
Спасибо!


------------------
Ratings: 0 negative/0 positive
Re: Запрос в 8.3
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
И СокрЛП(Контрагенты.ИНН) <> &пусто
В языке запросов 1С очень кудряво с функциями. Их там штук пять и ни одна не похожа на те, которые используются в основном языке. Причем, в СКД используются функции языка запросов, но там этих функций чуть больше.

А вот проверка "Контрагенты.Ссылка Есть NULL" возможна, как и в обычном языке запросов.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика