Имя: Пароль:
1C
 
Не отрабатывает условие в запросе
,
0 _Дайвер_
 
05.08.19
22:04
Пишу отчет на СКД по выборке данных из регистра сведений, в регистре есть 2 измерения
1-е измерение = тип документ.ссылка (регистратор)
2-е измерение состоит из 8 типов документ.ссылка (финдокумент)

мне нужна выборка "регистраторов" только те в которых не участвует документ СчетНаОплату  

вот условие:

ГДЕ
    регистратор.Основание.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И регистратор.ФинансовыйДокумент.ПометкаУдаления = ЛОЖЬ
    И ТИПЗНАЧЕНИЯ(финдокумент.ФинансовыйДокумент.Ссылка) <> ТИП(Документ.СчетНаОплатуПокупателю)

В итоге в результат отчета попадает запись где этот тип есть, в самом регистре 2 записи по регистратору для каждого типа, одна из них с типом СчетНаОплату.
Пробовал и группировку и различные, что может быть?
1 Консультант Баранов
 
05.08.19
22:13
НЕ финдокумент.ФинансовыйДокумент.Ссылка ССЫЛКА Документ.СчетНаОплатуПокупателю
2 RomanYS
 
05.08.19
22:15
(0)(1) ".Ссылка" - лишнее
3 _Дайвер_
 
05.08.19
22:16
(1) Так тоже пробовал, это аналогично моему условию
4 RomanYS
 
05.08.19
22:17
(0) Какая-то путаница:
- измерение -  "регистратор". Не нормально так называть измерение.
-  в запросе есть  регистратор.ФинансовыйДокумент и финдокумент.ФинансовыйДокумент. Это же разные сущности?
5 _Дайвер_
 
05.08.19
22:22
(4) это заявка, опечатка, во:
ГДЕ
    заявка.Основание.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И заявка.ФинансовыйДокумент.ПометкаУдаления = ЛОЖЬ
    И ТИПЗНАЧЕНИЯ(заявка.ФинансовыйДокумент.Ссылка) <> ТИП(Документ.СчетНаОплатуПокупателю)

Основание - 1 измерение
ФинансовыйДокумент - 2 измерение
6 RomanYS
 
05.08.19
22:24
(5) ясности не добавило
Если "ФинансовыйДокумент - 2 измерение", то зачем брать заявка.ФинансовыйДокумент?
И ".Ссылка" убери.
7 _Дайвер_
 
05.08.19
22:28
Попробовал через временную таблицу сделать, результат тот же (6) ссылку убрал, для наглядности
8 hhhh
 
05.08.19
22:33
(6) походу Заявка - это имя регистра
9 hhhh
 
05.08.19
22:34
(7) для наглядности убери Ссылка. Она всё портит.
10 _Дайвер_
 
05.08.19
22:35
(6) (8) Именно, все напутал)))
ГДЕ
    ТИПЗНАЧЕНИЯ(РегистрСведений.ФинансовыйДокумент) <> ТИП(Документ.СчетНаОплатуПокупателю)
    И РегистрСведений.ФинансовыйДокумент.ПометкаУдаления = ЛОЖЬ
    И РегистрСведений.Основание.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
11 _Дайвер_
 
05.08.19
22:37
(9) Уже убрал
12 hhhh
 
05.08.19
22:42
(11) ну похоже у тебя в конечных полях и отборах в СКД нет этого поля ФинансовыйДокумент.
13 _Дайвер_
 
05.08.19
22:49
(12) В отборах нет, они мне вроде как и не нужны, я же хочу получить все записи по 1-му измерению где вообще нет записей со 2-м измерением.

т.е. может быть

Заявка 1 - Счет на оплату 0000001
Заявка 1 - Поступление товаров и услуг 0000001
Заявка 2 - Поступление товаров и услуг 0000002

Мне нужна только 2-я заявка
14 hhhh
 
05.08.19
22:56
(13) СКД  это такая штука, если у тебя нет поля ФининсовыйДокумент, то оно полностью вычищается из запроса.

То есть твой запрос такой

ГДЕ
    РегистрСведений.Основание.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
15 _Дайвер_
 
05.08.19
23:10
(14) Пробовал выводить, в отчет попадают все записи, и по 1-му измерению и по 2-му
16 _Дайвер_
 
05.08.19
23:13
С помощью "различные" отчет приобретает нужный вид, но выводятся строки противоречащие условию
И ТИПЗНАЧЕНИЯ(заявка.ФинансовыйДокумент.Ссылка) <> ТИП(Документ.СчетНаОплатуПокупателю)
17 _Дайвер_
 
05.08.19
23:29
Спасибо всем!!!

Переформировал условия, пошел от обратного
в ВТ_ТаблицаЗакрытыхЗаявок, заполнил все строки с заявками в которых есть счет на оплату,
в основном запросе поставил условие где ссылка не в ВТ_ТаблицаЗакрытыхЗаявок, теперь отрабатывает как и хотел
18 catena
 
06.08.19
06:50
(17)Если бы задачу объяснял, как в (13), правильный ответ получил бы в первом ответе.
Независимо от того, куда вы едете — это в гору и против ветра!