Имя: Пароль:
1C
1С v8
НовичЁк нуждается в помощи
0 abbas
 
17.04.12
16:28
есть реквизит конрагент и конрагент1,есть движения в регистрах,делаю отчет,в конструкторе запроса нужно утановить такой фильтр или условие,с помощью которого будет выводиться отчет,теперь вопрос знатокам:
как реализовать условие,если заполнен реквизит "контрагент" то делаем фильтр если его нет то по всем контрагентам,а так же по реквизиту "контрагент1",это нужно реализовать в кострукторе запроса,при произвольном условии =)
1 Азат
 
17.04.12
16:29
левое соединение справочник.контрагенты

и если нулл, то не заполнен, если не нулл, то заполнен)
2 PR
 
17.04.12
16:29
Новичкам у нас принято читать http://www.forum.mista.ru/rules.php перед тем, как заводить ветки.
3 le_
 
17.04.12
16:29
Через Выбор Когда Тогда Конец.
4 abbas
 
17.04.12
16:37
(3) то есть
ВЫБОР
   КОГДА НЕ NULL &Контрагент ТОГДА Взаиморасчеты.Контрагент = &Контрагент
КОНЕЦ    
я правильно реализовал?
5 le_
 
17.04.12
16:37
(4)
ВЫБРАТЬ
   ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
   ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты КАК ВзаиморасчетыСКонтрагентамиОбороты
ГДЕ
   ВЫБОР
           КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
               ТОГДА ЛОЖЬ
           ИНАЧЕ ВЫБОР
                   КОГДА ВзаиморасчетыСКонтрагентамиОбороты.Контрагент = &Контрагент
                       ТОГДА ИСТИНА
                   ИНАЧЕ ЛОЖЬ
               КОНЕЦ
       КОНЕЦ


А вообще, более правильно использовать построитель запроса (отчета) с соответствующими директивами построителя или СКД.
6 le_
 
17.04.12
16:39
Точнее, так:
КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
               ТОГДА Истина
7 abbas
 
17.04.12
16:39
Ну я пробывал с помощью СКД,но нужно в этом как и везде опыта маловато =(
8 le_
 
17.04.12
16:45
С виртуальными таблицами...
ВЫБРАТЬ
   ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
   ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот
ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(
           ,
           ,
           ,
           ВЫБОР
               КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
                   ТОГДА ИСТИНА
               ИНАЧЕ ВЫБОР
                       КОГДА Контрагент = &Контрагент
                           ТОГДА ИСТИНА
                       ИНАЧЕ ЛОЖЬ
                   КОНЕЦ
           КОНЕЦ) КАК ВзаиморасчетыСКонтрагентамиОбороты


(7) Запросы построителя или СКД будут работать быстрее.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.