|
Запрос, регистр накопления, правильно задать период | ☑ | ||
---|---|---|---|---|
0
lg2marvel
22.08.16
✎
15:20
|
Добрый день, нужен запрос в регистр накопления, есть следующее:
// ДЕНЬГИ ЗапросПоДеньгам = Новый Запрос(); ЗапросПоДеньгам.Текст = " | ВЫБРАТЬ | Склады.Ссылка КАК Склад, | ДвиженияДенежныхСредствОбороты.СуммаОборот, | Кассы.Ссылка Как Касса | ИЗ | Справочник.Склады КАК Склады | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты | ПО Склады.ТорговыйОбъект = ТорговыеОбъекты.Ссылка, | РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаОтчетаНачало, &ДатаОтчетаКонец, Авто, ) КАК ДвиженияДенежныхСредствОбороты // | РегистрНакопления.ДвиженияДенежныхСредств.Обороты КАК ДвиженияДенежныхСредствОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы | ПО ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса = Кассы.Ссылка | ГДЕ (Склады.Ссылка = &ДСклад) И (Кассы.Ссылка = &ДСКасса) | СГРУППИРОВАТЬ ПО | Склады.Ссылка, | Кассы.Ссылка, | ДвиженияДенежныхСредствОбороты.СуммаОборот |"; ТО = Шапка.Склад.ТорговыйОбъект; СпрКасса = Справочники.Кассы; ТекКасса = СпрКасса.НайтиПоРеквизиту("ТорговыйОбъект",ТО); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаНачало", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаКонец", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДСклад", Шапка.Склад); ЗапросПоДеньгам.УстановитьПараметр("ДСКасса", ТекКасса); Результат = ЗапросПоДеньгам.Выполнить(); ДДеньги = Результат.Выгрузить(); ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой)); Результат - ноль. Если оставляю РегистрНакопления.ДвиженияДенежныхСредств.Обороты КАК ДвиженияДенежныхСредствОбороты, то выводит правильный остаток на конец, а как правильно сделать остаток на конкретную дату? |
|||
1
Горогуля
22.08.16
✎
15:21
|
убери отбор по правой таблице
|
|||
2
Горогуля
22.08.16
✎
15:22
|
и декартово произведение тоже убери
|
|||
3
Горогуля
22.08.16
✎
15:23
|
и вообще нарисуй запрос с нуля. медленно и неторопливо
|
|||
4
lg2marvel
22.08.16
✎
15:24
|
(2) Результат тотже - ноль
| ВЫБРАТЬ | Склады.Ссылка КАК Склад, | ДвиженияДенежныхСредствОбороты.СуммаОборот, | Кассы.Ссылка Как Касса | ИЗ | Справочник.Склады КАК Склады | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты | ПО Склады.ТорговыйОбъект = ТорговыеОбъекты.Ссылка, | РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаОтчетаНачало, &ДатаОтчетаКонец, Авто, ) КАК ДвиженияДенежныхСредствОбороты // | РегистрНакопления.ДвиженияДенежныхСредств.Обороты КАК ДвиженияДенежныхСредствОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы | ПО ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса = Кассы.Ссылка // | ГДЕ (Склады.Ссылка = &ДСклад) И (Кассы.Ссылка = &ДСКасса) | СГРУППИРОВАТЬ ПО | Склады.Ссылка, | Кассы.Ссылка, | ДвиженияДенежныхСредствОбороты.СуммаОборот |"; |
|||
5
vicof
22.08.16
✎
15:32
|
Началопериода, конецпериода
|
|||
6
Горогуля
22.08.16
✎
15:33
|
(4) теперь переходи к (2) и (3)
|
|||
7
lg2marvel
22.08.16
✎
15:42
|
Переписал запрос:
ЗапросПоДеньгам.Текст = " | ВЫБРАТЬ | ДвиженияДенежныхСредствОбороты.СуммаОборот, | Кассы.Ссылка | ИЗ | Справочник.Склады КАК Склады, // | РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаОтчетаНачало,&ДатаОтчетаКонец) КАК ДвиженияДенежныхСредствОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы | ПО ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса = Кассы.Ссылка, | Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты | | | ГДЕ (Кассы.Ссылка = &ДСКасса) | СГРУППИРОВАТЬ ПО | Кассы.Ссылка, | ДвиженияДенежныхСредствОбороты.СуммаОборот |"; ТО = Шапка.Склад.ТорговыйОбъект; СпрКасса = Справочники.Кассы; ТекКасса = СпрКасса.НайтиПоРеквизиту("ТорговыйОбъект",ТО); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаНачало", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаКонец", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДСКасса", ТекКасса); Результат тот же |
|||
8
Горогуля
22.08.16
✎
15:43
|
даже конструктор такое выплюнет
|
|||
9
lg2marvel
22.08.16
✎
15:43
|
(7) Чуть неправильный
ЗапросПоДеньгам.Текст = " | ВЫБРАТЬ | ДвиженияДенежныхСредствОбороты.СуммаОборот, | Кассы.Ссылка | ИЗ | Справочник.Склады КАК Склады, | РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&ДатаОтчетаНачало,&ДатаОтчетаКонец) КАК ДвиженияДенежныхСредствОбороты // | РегистрНакопления.ДвиженияДенежныхСредств.Обороты КАК ДвиженияДенежныхСредствОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы | ПО ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса = Кассы.Ссылка, | Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты | | | ГДЕ (Кассы.Ссылка = &ДСКасса) | СГРУППИРОВАТЬ ПО | Кассы.Ссылка, | ДвиженияДенежныхСредствОбороты.СуммаОборот |"; ТО = Шапка.Склад.ТорговыйОбъект; СпрКасса = Справочники.Кассы; ТекКасса = СпрКасса.НайтиПоРеквизиту("ТорговыйОбъект",ТО); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаНачало", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаКонец", Шапка.Дата); ЗапросПоДеньгам.УстановитьПараметр("ДСКасса", ТекКасса); |
|||
10
lg2marvel
22.08.16
✎
15:43
|
(8) Он и выплевывает, но отбор по датам не работает :-(
|
|||
11
Горогуля
22.08.16
✎
15:45
|
выбрать поместить НужныеКассы;
выбрать из НужныеКассы левое движения |
|||
12
vicof
22.08.16
✎
15:50
|
-Доктор, меня никто не слушает
-Следующий |
|||
13
hhhh
22.08.16
✎
15:51
|
(10) ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаНачало", Шапка.Дата);
ЗапросПоДеньгам.УстановитьПараметр("ДатаОтчетаКонец", Шапка.Дата); так вам за период в одну секунду надо? Может в эту секунду и не было оборота? |
|||
14
lg2marvel
22.08.16
✎
15:56
|
(13) На конец дня
|
|||
15
Горогуля
22.08.16
✎
15:56
|
(14) а по коду не скажешь
|
|||
16
hhhh
22.08.16
✎
15:57
|
(14) оборот на конец? как это понять?
|
|||
17
Горогуля
22.08.16
✎
15:59
|
||||
18
lg2marvel
22.08.16
✎
16:03
|
(16) Остаток на конец
|
|||
19
Горогуля
22.08.16
✎
16:05
|
(18) для этого в запросе обязательно нужно что-то про остатки
|
|||
20
hhhh
22.08.16
✎
16:08
|
(19) ДвиженияДенежныхСредств - оборотный регистр
|
|||
21
lg2marvel
22.08.16
✎
16:10
|
Всем спасибо
ЗапросПоДеньгам.Текст = " | ВЫБРАТЬ | ДвиженияДенежныхСредствОбороты.СуммаОстаток // | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса | ИЗ // | РегистрНакопления.ДвиженияДенежныхСредств.Обороты( &ДатаОтчетаНачало, &ДатаОтчетаКонец,) КАК ДвиженияДенежныхСредствОбороты | РегистрНакопления.ДенежныеСредства.Остатки(&ДатаОтчетаКонец) КАК ДвиженияДенежныхСредствОбороты | | ГДЕ (ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса = &ДСКасса) | СГРУППИРОВАТЬ ПО // | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса, | ДвиженияДенежныхСредствОбороты.СуммаОстаток |"; |
|||
22
Горогуля
22.08.16
✎
16:10
|
отлично! тогда остатки не нужны
|
|||
23
Горогуля
22.08.16
✎
16:10
|
он уже и регистр сменил
|
|||
24
hhhh
22.08.16
✎
16:16
|
(21) остаки всегда на начало бывают. на конец не прокатит у вас
|
|||
25
lg2marvel
23.08.16
✎
09:09
|
(24) Спасибо, в данном случае это не принципиально, но набудущее учту.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |