|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
AnisaL
03.03.21
✎
16:34
|
Добрый день!
Почему такой запрос задваивает строки и почему в результат март вошел, хотя в параметрах указываю февраль? ВЫБРАТЬ ЗаданияНаРаботу.Контрагент КАК Контрагент, ЗаданияНаРаботу.Регистратор КАК Регистратор ИЗ РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу ГДЕ ЗаданияНаРаботу.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И ВЫБОР КОГДА &Контрагент <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ЗаданияНаРаботу.Контрагент = &Контрагент ИНАЧЕ ИСТИНА КОНЕЦ АВТОУПОРЯДОЧИВАНИЕ |
|||
1
Beduin
03.03.21
✎
16:36
|
(0) А ты сами записи регистра смотрела вначале?
|
|||
2
AnisaL
03.03.21
✎
16:37
|
(0) вот результат https://c.radikal.ru/c33/2103/81/c16ce90d9db3.jpg
|
|||
3
dka80
03.03.21
✎
16:37
|
Выложи скрин регистра с отбором по этому контрагенту
|
|||
4
dka80
03.03.21
✎
16:38
|
(2)
ВЫБРАТЬ * ИЗ РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу ГДЕ ЗаданияНаРаботу.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И ВЫБОР КОГДА &Контрагент <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ЗаданияНаРаботу.Контрагент = &Контрагент ИНАЧЕ ИСТИНА КОНЕЦ АВТОУПОРЯДОЧИВАНИЕ |
|||
5
Beduin
03.03.21
✎
16:38
|
Вангую регистратор пишет не в свой период.
|
|||
6
PR
03.03.21
✎
16:39
|
(2) Так а ты выбери в полях еще период, увидишь много интересного
|
|||
7
AnisaL
03.03.21
✎
16:41
|
||||
8
Beduin
03.03.21
✎
16:43
|
(7) Тебя не смущает, что учет времени 58 от марта пишет в февраль?
|
|||
9
dka80
03.03.21
✎
16:43
|
(7) блин, у меня глаза вытекли - в следующий раз еще мельче сделай
а теперь посмотри дату документа и период, в который он записал |
|||
10
AnisaL
03.03.21
✎
16:48
|
(9) да, документ от 02.03.21 а пишет за февраль
|
|||
11
AnisaL
03.03.21
✎
16:49
|
(9) вот такой запрос мне нужно получить, только чтобы он не задваивал, как его правильно сделать?
ВЫБРАТЬ ЗаданияНаРаботу.Контрагент КАК Контрагент, ЗаданияНаРаботу.Организация КАК Организация, СУММА(ПоступлениеВКассу.СуммаДокумента) КАК Сумма ИЗ РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеВКассу КАК ПоступлениеВКассу ПО ЗаданияНаРаботу.Контрагент = ПоступлениеВКассу.Контрагент ГДЕ ЗаданияНаРаботу.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И ВЫБОР КОГДА &Контрагент <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ЗаданияНаРаботу.Контрагент = &Контрагент ИНАЧЕ ИСТИНА КОНЕЦ И ПоступлениеВКассу.Организация = &Организация И ПоступлениеВКассу.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания СГРУППИРОВАТЬ ПО ЗаданияНаРаботу.Контрагент, ЗаданияНаРаботу.Организация АВТОУПОРЯДОЧИВАНИЕ |
|||
12
Beduin
03.03.21
✎
16:51
|
(11) Этот не будет задваивать.
|
|||
13
AnisaL
03.03.21
✎
16:52
|
(12) он увеличивает в 4 раза сумму
|
|||
14
AnisaL
03.03.21
✎
16:53
|
(12) https://a.radikal.ru/a09/2103/5c/4fac269cd113.jpg вот какой результат, а должно быть 20058
|
|||
15
Beduin
03.03.21
✎
16:53
|
(13) Но строки не задваивает же.
МАКСИМУМ поставь вместо СУММА |
|||
16
Kassern
03.03.21
✎
16:54
|
(15) это как пластырем пробоину на корабле заклеивать)
|
|||
17
AnisaL
03.03.21
✎
16:55
|
(15) строки не задваивает, но сумму увеличивает в 4 раза
|
|||
18
dka80
03.03.21
✎
16:55
|
(11) если у тебя в регистре все верно, а судя-по-всему у тебя там все же ошибка, т.к. один регистратор делает две записи под разными строками, тогда так:
ВЫБРАТЬ различные ЗаданияНаРаботу.Контрагент КАК Контрагент, ЗаданияНаРаботу.Регистратор КАК Регистратор поместить вт ИЗ РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу ГДЕ ЗаданияНаРаботу.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И ВЫБОР КОГДА &Контрагент <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ЗаданияНаРаботу.Контрагент = &Контрагент ИНАЧЕ ИСТИНА КОНЕЦ ; А далее к ВТ лепишь поступлениев кассу |
|||
19
AnisaL
03.03.21
✎
17:08
|
(18) вот такой запрос ничего не выдает
ВЫБРАТЬ ЗаданияНаРаботу.Контрагент КАК Контрагент ПОМЕСТИТЬ ВТ ИЗ РегистрНакопления.ЗаданияНаРаботу КАК ЗаданияНаРаботу ГДЕ ЗаданияНаРаботу.Период МЕЖДУ &ДатаНачала И &ДатаОкончания И ВЫБОР КОГДА &Контрагент <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ЗаданияНаРаботу.Контрагент = &Контрагент ИНАЧЕ ИСТИНА КОНЕЦ И ЗаданияНаРаботу.Организация = &Организация СГРУППИРОВАТЬ ПО ЗаданияНаРаботу.Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Контрагент КАК Контрагент, СУММА(ПоступлениеВКассу.СуммаДокумента) КАК Сумма ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеВКассу КАК ПоступлениеВКассу ПО ВТ.Контрагент = ПоступлениеВКассу.Контрагент И (ПоступлениеВКассу.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) СГРУППИРОВАТЬ ПО ВТ.Контрагент АВТОУПОРЯДОЧИВАНИЕ |
|||
20
dka80
03.03.21
✎
17:16
|
(19) во-первых, выбрать РАЗЛИЧНЫЕ ЗаданияНаРаботу.Контрагент КАК Контрагент. Хотя у тебя там есть Сгруппировать, но как то это через...
во-вторых: ты этот запрос в консоли запросов прогнала? есть строки во временной таблице? Если нет, начинай потихоньку убирать условия из ГДЕ в-третьих: почему ты и задания отбираешь по периоду и дату оплаты по периоду? А если задания были в феврале, а оплатили в марте? |
|||
21
НЕА123
03.03.21
✎
17:22
|
(20)+
NULL |
|||
22
Said_We
03.03.21
✎
17:27
|
(0) А чего такое условие сложное?
И (ЗаданияНаРаботу.Контрагент = &Контрагент ИЛИ &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) Как-то проще по моему читается. В регистр накопления приход и расход с разными знаками пишется. Пожет это не двойные строки, а такие записи в РН? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |