|
В запросе выбрать контрагентов без головного контрагента | ☑ | ||
---|---|---|---|---|
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) = Истина :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |