Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 20:07

Запрос: ПоступленияТоваровУслуг с пустой табличной частью

Автор Leviathan, 06 апр 2011, 15:46

0 Пользователей и 1 гость просматривают эту тему.

cska-fanat-kz

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка
ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка ЕСТЬ NULL
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

Приветствую!
Рекомендую такой вариант:
1. В запросе берем две таблицы - ПТУ и таб.часть ПТУ.
2. Соединяем по ссылке на ПТУ
3. Выбрасываем все строки, где подобралась табличная часть.

Вот и весь фокус :) если не понятно написала - уточняй
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Leviathan

Спасибо! Работает.
Может быть, вы знаете, где ошибка в моем варианте с подзапросом? Мне просто хочется понять на будущее. Похоже, 1С далеко на mssql, хотя и шлет ему запросы :-)

Клякса, я так понял вы имеете в виду именно то, что написал cska-fanat, и набрали одновременно?  :)
Заметил интересную вещь. Мой друг 1Сник тоже примерно так предложил делать (см в начале ветки). А то что я предложил через Count он вообще не понял :-) Видимо, на 1с другие каноны, я sql-щик, так что пока не привык

cska-fanat-kz

если сравнивать с МССКЛ...
то соединения таблиц и там есть.
а на этом все и построено.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Klyacksa

2Leviathan
Оу, да. Бывает у нас с ним такое )))

Про подзапрос - не могу так сразу сказать, это нужно тестировать и смотреть, что именно запрос считает.
Нужно проверить, что возвращает конструкция:
ВЫБРАТЬ
         Количество(*)
     ИЗ
         Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
   ГДЕ ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка

при пустой табличной части.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Maxim


Maxim

Можно конечно вот так попробывать:
Если Запрос.Выполнить().Пустой() Тогда
    Сообщить("Пустая таблица.");
КонецЕсли;


cska-fanat-kz

Вернее

Сообщить("Нет документов с заполненной ТЧ");
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Maxim

 :P а мне просто некогда было, написал пару слов и так себе

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск