|   |   | 
| 
 | Пустые результаты в запросе. | ☑ | ||
|---|---|---|---|---|
| 0
    
        ogion83 12.08.14✎ 14:39 | 
        Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ЕстьNull(ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток,0) КАК СуммаНачальныйОстаток, | ЕстьNull(ВзаиморасчетыОстаткиИОбороты.СуммаПриход,0) КАК СуммаПриход, | ЕстьNull(ВзаиморасчетыОстаткиИОбороты.СуммаРасход,0) КАК СуммаРасход, | ЕстьNull(ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток,0) КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , ) КАК ВзаиморасчетыОстаткиИОбороты |ГДЕ | ВзаиморасчетыОстаткиИОбороты.Контрагент В(&Контрагент) И | ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Запрос.УстановитьПараметр("Контрагент",СписокКонтрагентовСПериодическимиВыплатами); Запрос.УстановитьПараметр("Дата1",НачалоМесяца(Дата)); Запрос.УстановитьПараметр("Дата2",КонецДня(Дата)); Запрос.УстановитьПараметр("ПометкаУдаления",Ложь); Как бы сделать так, чтобы в результате запроса были и те контрагенты из списка, по которым не было движений за месяц? | |||
| 1
    
        Molinor 12.08.14✎ 14:40 | 
        К справочнику контрагентов левым соединением то, что есть.     | |||
| 2
    
        Господин ПЖ 12.08.14✎ 14:41 | 
        левое соедниние в временной таблицей
 >ЕстьNull( это откуда сейчас возьмется? | |||
| 3
    
        ogion83 12.08.14✎ 14:50 | 
        Что то не выходит     | |||
| 4
    
        salvator 12.08.14✎ 14:51 | 
        (3) Покажи запрос     | |||
| 5
    
        ogion83 12.08.14✎ 14:52 | 
        Запрос.Текст = 
 "ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ВзаиморасчетыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, | ВзаиморасчетыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, | ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , ) КАК ВзаиморасчетыОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты | ПО ВзаиморасчетыОстаткиИОбороты.Контрагент = Контрагенты.Ссылка |ГДЕ | ВзаиморасчетыОстаткиИОбороты.Контрагент В(&Контрагент) | И ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Запрос.УстановитьПараметр("Контрагент",СписокКонтрагентовСПериодическимиВыплатами); Запрос.УстановитьПараметр("Дата1",НачалоМесяца(Дата)); Запрос.УстановитьПараметр("Дата2",КонецДня(Дата)); Запрос.УстановитьПараметр("ПометкаУдаления",Ложь); | |||
| 6
    
        Господин ПЖ 12.08.14✎ 14:53 | 
        >Что то не выходит
 как я вас понимаю... | |||
| 7
    
        salvator 12.08.14✎ 14:53 | 
        (5) Надо наоборот к справочнику цеплять левым соединением регистр. Или просто заменить на правое в своем запросе.     | |||
| 8
    
        Господин ПЖ 12.08.14✎ 14:53 | 
        накуа тебе весь справочник если уже список есть     | |||
| 9
    
        AlexITGround 12.08.14✎ 15:07 | 
        1. Убери соединение вообще.
 2. И ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления Запрос.УстановитьПараметр("ПометкаУдаления",Ложь); - вот это можно просто И Не ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления | |||
| 10
    
        Fragster гуру 12.08.14✎ 15:16 | 
        в конструкторе галку "все" поставить около контрагентов а не около взаиморасчетов     | |||
| 11
    
        beer_fan 12.08.14✎ 15:16 | 
        (9) Классно сказал - убрать соединение... это чтобы запрос систему гарантированно убил, если контрагентов много?     | |||
| 12
    
        AlexITGround 12.08.14✎ 15:19 | 
        (11) ВзаиморасчетыОстаткиИОбороты.Контрагент В(&Контрагент)
 а это зачем, как ты думаешь? | |||
| 13
    
        AlexITGround 12.08.14✎ 15:21 | 
        зачем тут соединение к справочнику я вообще неврублевский     | |||
| 14
    
        beer_fan 12.08.14✎ 15:23 | 
        (13) А если в СписокКонтрагентовСПериодическимиВыплатами не будет движений по какому-то контрагенту, а видеть его надо?
 Только тогда надо это ограничение к справочнику контрагентов применять, а не к виртуальной таблице. | |||
| 15
    
        Fram 12.08.14✎ 15:24 | 
        (13) "... те контрагенты из списка, по которым не было движений ..." из (0)     | |||
| 16
    
        AlexITGround 12.08.14✎ 15:41 | 
        (14),(15) круто рассуждаете, у меня , например, 90к контрагентов, а у ТС возможно и того больше, так целый справочник за каких пять лет соединять?     | |||
| 17
    
        Fram 12.08.14✎ 15:45 | 
        (16) да хоть 100500. не телепат, ответил в рамках вопроса     | |||
| 18
    
        salvator 12.08.14✎ 15:46 | 
        (16) Зачем весь справочник, если нужно только то, что лежит в &Контрагенты?     | |||
| 19
    
        AlexITGround 12.08.14✎ 15:49 | 
        (18) совершенно верно, см 9, 12.     | |||
| 20
    
        ogion83 12.08.14✎ 16:45 | 
        Что то (10) не нахожу     | |||
| 21
    
        ogion83 12.08.14✎ 16:51 | 
        Запрос.Текст = 
 "ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ВзаиморасчетыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, | ВзаиморасчетыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, | ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , ) КАК ВзаиморасчетыОстаткиИОбороты |ГДЕ | ВзаиморасчетыОстаткиИОбороты.Контрагент В(&Контрагент) | И ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Запрос.УстановитьПараметр("Контрагент",СписокКонтрагентовСПериодическимиВыплатами); Запрос.УстановитьПараметр("Дата1",НачалоМесяца(Дата)); Запрос.УстановитьПараметр("Дата2",КонецДня(Дата)); Запрос.УстановитьПараметр("ПометкаУдаления",Ложь); Нет ничего такого чтоб в конструкторе может указать? | |||
| 22
    
        RomanYS 12.08.14✎ 16:53 | 
        смотри (1)     | |||
| 23
    
        SSSSS_AAAAA 12.08.14✎ 16:54 | 
        (21) Это надо выбирать ВСЕХ контрагентов и уже к ним цеплять обороты из регистра.     | |||
| 24
    
        ogion83 12.08.14✎ 16:55 | 
        (23) Попробую, если получится.     | |||
| 25
    
        AlexITGround 12.08.14✎ 17:59 | 
        (24) ты скажи, тебе в выборке все контрагенты нужны или только те, по которым есть остаток, было движение?     | |||
| 26
    
        ogion83 13.08.14✎ 08:16 | 
        (25) Нужны все контрагенты, которые есть в списке.     | |||
| 27
    
        ogion83 13.08.14✎ 09:18 | 
        Может как то так?
 "ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ВзаиморасчетыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, | ВзаиморасчетыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, | ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, ДвиженияИГраницыПериода, ) КАК ВзаиморасчетыОстаткиИОбороты | ПО (ВзаиморасчетыОстаткиИОбороты.Контрагент = Контрагенты.Ссылка) |ГДЕ | ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления | И Контрагенты.Ссылка В(&Контрагент) |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Но не выходит... | |||
| 28
    
        AlexITGround 13.08.14✎ 09:31 | 
        У меня УПП, немножко другая структура, делай по аналогии
 code ВЫБРАТЬ Контрагенты.Ссылка, ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК СуммаНачальныйОстаток, ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаПриход, ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК СуммаРасход, ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаКонечныйОстаток, ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , Контрагент В (&Контрагент)) КАК ВзаиморасчетыОстаткиИОбороты ПО Контрагенты.Ссылка = ВзаиморасчетыОстаткиИОбороты.Контрагент И НЕ ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления ИТОГИ СУММА(СуммаНачальныйОстаток), СУММА(СуммаПриход), СУММА(СуммаРасход), СУММА(СуммаКонечныйОстаток) ПО Документ | |||
| 29
    
        bolobol 13.08.14✎ 09:32 | 
        Помеченный на удаление регистратор??     | |||
| 30
    
        AlexITGround 13.08.14✎ 09:34 | 
        (29) сорри, строку убрать, это копчик :)     | |||
| 31
    
        bolobol 13.08.14✎ 09:34 | 
        И из справочника ничего не выбрано     | |||
| 32
    
        AlexITGround 13.08.14✎ 09:35 | 
        (31) Контрагенты.Ссылка     | |||
| 33
    
        bolobol 13.08.14✎ 09:36 | 
        (30) да я про (27) пишу, это там равнение параметру - истину залал и нет результата, как вариант     | |||
| 34
    
        AlexITGround 13.08.14✎ 09:37 | 
        (33) абсолютно согласен с тобой, поэтому и выборка пустая     | |||
| 35
    
        hhhh 13.08.14✎ 09:48 | 
        (28)
 |ГДЕ | ЕСТЬNULL(ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления, ЛОЖЬ) = &ПометкаУдаления | И Контрагенты.Ссылка В(&Контрагент) | |||
| 36
    
        ogion83 13.08.14✎ 09:58 | 
        Пробовать (28)?     | |||
| 37
    
        hhhh 13.08.14✎ 10:02 | 
        (36) а, та вы еще не пробовали? НУ вот этот бред выниньте сначала
 ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления = &ПометкаУдаления | |||
| 38
    
        AlexITGround 13.08.14✎ 10:03 | 
        (36) пробуй 28, выкинь строку 
 И НЕ ВзаиморасчетыОстаткиИОбороты.Регистратор.ПометкаУдаления | |||
| 39
    
        AlexITGround 13.08.14✎ 10:04 | 
        (35) а вот это все не надо, читай с самого начала     | |||
| 40
    
        ogion83 13.08.14✎ 10:18 | 
        "ВЫБРАТЬ
 | Контрагент.Ссылка КАК Контрагент, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ВзаиморасчетыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, | ВзаиморасчетыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, | ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , Контрагент В (&Контрагент)) КАК ВзаиморасчетыОстаткиИОбороты | ПО Контрагенты.Ссылка = ВзаиморасчетыОстаткиИОбороты.Контрагент |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Загнал результат в ТЗ, там пусто. | |||
| 41
    
        ogion83 13.08.14✎ 10:26 | 
        Что то не идет.     | |||
| 42
    
        ogion83 13.08.14✎ 10:29 | 
        Хотя нет, получился список из кучи пустых строк, а в конце данные по контрагенту по которому были движения.     | |||
| 43
    
        salvator 13.08.14✎ 10:34 | 
        (40) 
 | Контрагент.Ссылка КАК Контрагент, ... | Справочник.Контрагенты КАК Контрагенты И ты хочешь сказать, что ошибки не выдает запрос? | |||
| 44
    
        ogion83 13.08.14✎ 10:36 | 
        (43) Нет ошибок     | |||
| 45
    
        ogion83 13.08.14✎ 10:36 | 
        Но это Контрагент.Ссылка КАК Контрагент, я поменял на Контрагент.Ссылка     | |||
| 46
    
        ogion83 13.08.14✎ 10:36 | 
        Так и так без ошибок но результат не тот     | |||
| 47
    
        Molinor 13.08.14✎ 10:38 | 
        (45)
 ы | |||
| 48
    
        ogion83 13.08.14✎ 10:39 | 
        Точно, поправил, но выдал все контрагенты, а не только те что входят в список     | |||
| 49
    
        hhhh 13.08.14✎ 10:40 | 
        (48) ну включи мзг, добавь
 |ГДЕ | Контрагенты.Ссылка В(&Контрагент) у тебя же было это зачем выбросил? | |||
| 50
    
        Molinor 13.08.14✎ 10:40 | 
        (48)
 Думать совсем не хотим? | |||
| 51
    
        ogion83 13.08.14✎ 10:41 | 
        А условие в этой строке (&Дата1, &Дата2, Авто, , Контрагент В (&Контрагент)) КАК ВзаиморасчетыОстаткиИОбороты не работает чтоли?     | |||
| 52
    
        ogion83 13.08.14✎ 10:41 | 
        Контрагент В (&Контрагент)     | |||
| 53
    
        Molinor 13.08.14✎ 10:42 | 
        Работает условие, но только на виртуальную таблицу.     | |||
| 54
    
        Sorm 13.08.14✎ 10:44 | 
        (0) Условие ПО РЕГИСТРАТОРУ для контрагентов, по которым НЕ БЫЛО движений?:) Нет ли здесь трудноуловимого противоречия?:)     | |||
| 55
    
        hhhh 13.08.14✎ 10:46 | 
        (52) ты целиком справочник берешь. и регистр с условием. И соединяешь.     | |||
| 56
    
        salvator 13.08.14✎ 10:48 | 
        (48) Убери условие на список контрагентов из виртуальной таблицы и наложи его на справочник в секции ГДЕ     | |||
| 57
    
        ogion83 13.08.14✎ 10:49 | 
        Во рабочий вариант, благодарствую.
 Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка, | ВзаиморасчетыОстаткиИОбороты.ВидВзаиморасчетов КАК ВидВзаиморасчетов, | ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ВзаиморасчетыОстаткиИОбороты.СуммаПриход КАК СуммаПриход, | ВзаиморасчетыОстаткиИОбороты.СуммаРасход КАК СуммаРасход, | ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Документ |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&Дата1, &Дата2, Авто, , Контрагент В (&Контрагент)) КАК ВзаиморасчетыОстаткиИОбороты | ПО Контрагенты.Ссылка = ВзаиморасчетыОстаткиИОбороты.Контрагент |ГДЕ | Контрагенты.Ссылка В (&Контрагент) |ИТОГИ | СУММА(СуммаНачальныйОстаток), | СУММА(СуммаПриход), | СУММА(СуммаРасход), | СУММА(СуммаКонечныйОстаток) |ПО | ВидВзаиморасчетов, | Контрагент, | Документ"; Запрос.УстановитьПараметр("Контрагент",СписокКонтрагентовСПериодическимиВыплатами); Запрос.УстановитьПараметр("Дата1",НачалоМесяца(Дата)); Запрос.УстановитьПараметр("Дата2",КонецДня(Дата)); | |||
| 58
    
        hhhh 13.08.14✎ 10:49 | 
        (56) нет. в виртуальной таблице тоже нужно. Не учи плохому.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |