Имя: Пароль:
1C
1С v8
В запросе выбрать контрагентов без головного контрагента
0 igel1969
 
31.01.18
14:09
Здравствуйте.
1С 8.2 УТ 10.3
Казалось бы вопрос идиотский, но никак не получается, а запрос нужно сделать срочно.
Мне нужно выбрать в запросе документы по всем контрагентам, которые не имеют головного контрагента.
Я уж и так писал:
РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент = Null

и так:
РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент = &ГК
Запрос.УстановитьПараметр("ГК", Справочники.Контрагенты.ПустаяСсылка());
и так: ЕСТЬNULL(РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент, NULL) = NULL

Ничего не помогает.

Проверять реквизит "ВходитВХолдинг" не предлагать, ибо такого реквизита не существует - это какое-то вычисляемое поле на форме.
1 CHerypga
 
31.01.18
14:11
по логике
РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент = &ГК
Запрос.УстановитьПараметр("ГК", Справочники.Контрагенты.ПустаяСсылка());
должно работать, хотя кто ж знает что за тип там у вашего реквизита, может там Неопределено, но уж точно никак не Null
2 hhhh
 
31.01.18
14:12
(0) вы не поняли, там головной контрагент всегда есть. Наверно вам тупо надо

РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент = РеализацияТоваровУслугТовары.Ссылка.Контрагент
3 CHerypga
 
31.01.18
14:12
по поводу
ЕСТЬNULL(РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент, NULL) = NULL
Null в запросе не равен самому себе, он равен себе только в коде
4 igel1969
 
31.01.18
14:13
(2) т.е. если на форме головной контрагент не заполнен, то реально в базе он заполнен и равен самому контрагенту?
5 igel1969
 
31.01.18
14:14
(2) так и есть, сработало, спасибо!!!!
6 GGDots
 
31.01.18
14:15
что выводит следующий код для твоего документа без головного контрагента:

Сообщить(Ссылка.Контрагент.ГоловнойКонтрагент);

в отладчике если встать на эту строчку - какой тип значения
показывает Ссылка.Контрагент.ГоловнойКонтрагент? какое там значение?

И покажи целиком запрос - мало ли какие условия дополнительные обрубают всю выборку
7 GGDots
 
31.01.18
14:15
+
8 Гипервизор
 
31.01.18
14:16
(2) Есть нюансы:

Если НЕ ЭтоГруппа И НЕ ЗначениеЗаполнено(ГоловнойКонтрагент) И НЕ ОбособленноеПодразделение Тогда
        Если ЭтоНовый() Тогда
            ГоловнойКонтрагент = мСсылкаНового;
        Иначе
            ГоловнойКонтрагент = Ссылка;
        КонецЕсли;
    КонецЕсли;
9 igel1969
 
31.01.18
14:27
(8) во-первых я ищу в запросе, а во-вторых, среди документов. как Вы представляете себе документ, в котором контрагент - группа или новый?
10 igel1969
 
31.01.18
14:28
(6) вот да, ступил из-за того, что торопился. всегда можно поставить точку останова и посмотреть значение.
11 1Сергей
 
31.01.18
14:28
>>ЕСТЬNULL(РеализацияТоваровУслугТовары.Ссылка.Контрагент.ГоловнойКонтрагент, NULL)

Это пять ящитаю
12 igel1969
 
31.01.18
14:31
(11) да, сам уже понял что написал ))))))
13 Гипервизор
 
31.01.18
14:39
(12) Осталось еще понять что вы написали в ответ на (8).
Я привел кусок типового кода, из которого видно, что есть случаи, когда головной контрагент не заполняется автоматически.
14 Chameleon1980
 
31.01.18
14:43
NULL не равно NULL - это ничто
15 GGDots
 
31.01.18
15:07
(14)

Сообщить(NULL = NULL) = Истина :)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn