Имя: Пароль:
1C
1C 7.7
v7: 1с++ Как оставить только те строки документа, в которых у товара только ОДНО
,
0 palpetrovich
 
30.05.16
17:09
СВОЙСТВО. Т.е. в результат не должны попасть строки у которых больше одного или вообще нет свойств  

кодик упрощенно

select
    ДТРН.НомерСтрокиДокумента
    ,Свойства.ЗначениеСвойстваТовара
from ДокументТ_РасходнаяНакладная ДТРН (nolock)
left join
    Справочник_СвойстваТовара Свойства (nolock)
    ON ДТРН.Товар = Свойства.ИдВладельца
where 1 = 1
    and Свойства.ПометкаУдаления = 0
    and ДТРН.ИдДокумента = ' P0POG   '

как к нему having прикрутить - не знаю :(
1 Mikeware
 
30.05.16
17:14
...
group ДТРН.НомерСтрокиДокумента
having (count(*)>1) or (count(*)=0)
так?

только  ,Свойства.ЗначениеСвойстваТовара выкинь
2 Mikeware
 
30.05.16
17:16
а, если оставить строго одно, тогда =1
3 palpetrovich
 
30.05.16
17:24
(1) не могу "выкинуть", весь смысл теряется :)
4 Mikeware
 
30.05.16
17:30
(3) тогда оборачивай в еще один запрос, а там уже присоелиняй значения свойств
5 palpetrovich
 
30.05.16
17:34
(4) это-ж все условия повторять нужно? т.е они должны быть одинаковы (или почти) для "внутреннего" селекта и для "внешнего"?
6 Mikeware
 
30.05.16
17:35
(5) да.
7 palpetrovich
 
30.05.16
17:42
(6) спасибо
зв: задумчиво так:  может легче выгрузить в ТЗ и там порешать проблемку :)
8 trad
 
30.05.16
17:56
select
    ДТРН.НомерСтрокиДокумента,
(
    select top 1
        Свойства.ЗначениеСвойстваТовара
    from Справочник_СвойстваТовара Свойства (nolock)
    where Свойства.ИдВладельца = ДТРН.Товар
      and Свойства.ПометкаУдаления = 0
) ЗначениеСвойстваТовара
from ДокументТ_РасходнаяНакладная ДТРН (nolock)
where 1 = 1
    and ДТРН.ИдДокумента = ' P0POG   '
and (
    select count(*)
    from Справочник_СвойстваТовара Свойства (nolock)
    where Свойства.ИдВладельца = ДТРН.Товар
      and Свойства.ПометкаУдаления = 0
) = 1
9 palpetrovich
 
30.05.16
19:49
(8) спасибо, прикольно. Завтра на работе попробую
10 trad
 
31.05.16
09:01
(9) но это только для скл базы, для дбф не подойдет
11 palpetrovich
 
31.05.16
09:18
(10) конечно СКЛ, проверил на боевой - то что надо, спасибо
12 Mikeware
 
31.05.16
09:21
пользуйся 1cQA для отладки, и будет тебе удобство.
ну а для набросков эскизов запросов - конструктор запросов Берездецкого...
13 palpetrovich
 
31.05.16
09:41
(12) у меня на новой работе крайне ограниченные возможности по установке ПО :)
и работаю я на такой вот штуке http://www.komputerswiat.pl/testy/sprzet/komputery/2015/07/intel-compute-stick-vs-google-chromebit.aspx  
:)
14 Mikeware
 
31.05.16
09:44
(13) ну, раз 1с+= есть - то и 1cQA юзать можешь.
а использовать такое для разработки несколько неудобно.
15 trad
 
31.05.16
09:56
(13) нач.ИТ у тебя - чокнутый гик?