Имя: Пароль:
1C
1С v8
Маленький запросик
0 SherifSP
 
16.07.12
18:06
Подскажите плз что делает этот запрос в условии, а то не сильно понятно

Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    Долги.Контрагент,
   |    Долги.ТорговаяТочка,
   |    Долги.ТорговыйПредставитель,
   |    СУММА(ВЫБОР
   |            КОГДА Долги.ДнейПросрочки < 0
   |                ТОГДА Долги.СуммаВзаиморасчетовОстаток
   |            ИНАЧЕ 0
   |        КОНЕЦ) КАК СуммаПросрочки,
   |    МИНИМУМ(Долги.ДатаОплаты) КАК ДатаОплаты
   |ИЗ
   |    (ВЫБРАТЬ
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент КАК Контрагент,
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ТорговаяТочка КАК ТорговаяТочка,
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ТорговыйПредставитель КАК ТорговыйПредставитель,
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетов,
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ДатаОплаты КАК ДатаОплаты,
   |        РАЗНОСТЬДАТ(&ДатаИтогов, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ДатаОплаты, ДЕНЬ) + Константы.ДопустимыеДниПросрочки КАК ДнейПросрочки,
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток
   |    ИЗ
   |        РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, ) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
   |            ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
   |            ПО (1 = 1)
   |    ГДЕ
   |        ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ТорговыйПредставитель = &ТорговыйПредставитель) КАК Долги
   |ГДЕ
   |    Долги.ДнейПросрочки < 0
   |    И Долги.СуммаВзаиморасчетовОстаток > 0
   |
   |СГРУППИРОВАТЬ ПО
   |    Долги.Контрагент,
   |    Долги.ТорговаяТочка,
   |    Долги.ТорговыйПредставитель";
   Запрос.УстановитьПараметр("ТорговыйПредставитель", ТорговыйПредставитель);
   Запрос.УстановитьПараметр("ДатаИтогов", КонецДня(ДатаПросрочки));
   мДанныеПоДолгам = Запрос.Выполнить().Выгрузить();
1 Mafoni
 
16.07.12
18:07
Судя по всему - вычисляет сумму задолженности.
2 SherifSP
 
16.07.12
18:09
По Торговому представителю?
3 andrewks
 
16.07.12
18:12
ИЗ
   |        РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, ) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
   |            ЛЕВОЕ СОЕДИНЕНИЕ Константы КАК Константы
   |            ПО (1 = 1)

что за быдлокодинг?

РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, ) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки,
Константы КАК Константы
4 andrewks
 
16.07.12
18:13
+(3) а, не, сторно.
5 эцп
 
16.07.12
18:14
(2) А также по Контрагент и ТорговаяТочка
6 SherifSP
 
16.07.12
18:22
Мне нужно переделать запрос по контрагенту с условием что Дни просрочки больше 14 дней
7 эцп
 
16.07.12
18:27
(6) Взять только вложенный запрос, наложить условие на контрагента, и добавить:
|РАЗНОСТЬДАТ(&ДатаИтогов, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ДатаОплаты, ДЕНЬ) < -14
8 SherifSP
 
16.07.12
18:32
(7)Вообще то 14 дней это 14*86400
9 MrStomak
 
17.07.12
12:28
(3) Есть, кстати, ситуации, когда подобное объявление таблиц не воспринимается как полное соединение по истине
10 Fragster
 
гуру
17.07.12
12:31
(8) нет
11 Defender aka LINN
 
17.07.12
12:31
(9) Есть. Всю жизнь это было внутренним соединением.
(8) Тебя даже написанное большими буквами слово "ДЕНЬ" не смущает?
12 Ненавижу 1С
 
гуру
17.07.12
12:32
зачем плодить v8: Отбор по контрагенту
Программист всегда исправляет последнюю ошибку.