|
Исключить из запроса к регистру остатков и оборотов регистратора | ☑ | ||
---|---|---|---|---|
0
squall84
01.04.20
✎
16:32
|
Есть самописный отчет. Запрос состоит из нескольких временных таблиц, но меня интересует только запрос одной из них, который получает неверные данные.
Если таким запросом я обращаюсь к регистру, то получаю начальный количество и стоимость прихода не ту, которая установлена в документе оприходования. В моем случае документ оприходования - это поступление товаров. Т.е. я получаю сумму некоторых документов регистраторов. А мне нужно получить данные именно самого поступления. Вот запрос: ВЫБРАТЬ ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура, СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход) КАК Количество, СРЕДНЕЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход) КАК Сумма, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход, 0) <> 0 ТОГДА ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход, 0) / ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход, 0) ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход, 0) КОНЕЦ) КАК Цена, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования.Контрагент КАК Контрагент, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры ПОМЕСТИТЬ ВТПоступления ИЗ РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&Дата1, &Дата2, , , СерияНоменклатуры.Импорт = ИСТИНА) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты ГДЕ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования) = ТИП(Документ.ПоступлениеТоваровУслуг) СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования.Контрагент, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры В регистре добавил периодичность по регистратору, и указал, что регистратор - это поступление. Показывает теперь вроде так, как нужно, но насколько это корректно? Возможно нужно по другому делать? Вот такой запрос: ВЫБРАТЬ ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура, СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход) КАК Количество, СРЕДНЕЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход) КАК Сумма, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход, 0) <> 0 ТОГДА ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход, 0) / ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоПриход, 0) ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьПриход, 0) КОНЕЦ) КАК Цена, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования.Контрагент КАК Контрагент, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры ИЗ РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , СерияНоменклатуры.Импорт = ИСТИНА) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты ГДЕ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования) = ТИП(Документ.ПоступлениеТоваровУслуг) И ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования.Контрагент, ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры |
|||
1
ДенисЧ
01.04.20
✎
16:33
|
Исчо один, желающий остатков по виду документа...
|
|||
2
Cyberhawk
01.04.20
✎
16:37
|
(1) Документы однозначно расположены на временной оси, поэтому в сием желании ничего крамольного нет
|
|||
3
squall84
01.04.20
✎
16:43
|
(1) А каким образом мне тогда получить из регистра партий чистый приход по документу?
|
|||
4
ДенисЧ
01.04.20
✎
16:45
|
(3) Приход получай из .Обороты() Остатки - из Остатки().
Не надо делать котлету из рябчика и коня... |
|||
5
squall84
01.04.20
✎
16:54
|
(4) Так и в остатках и в оборотах тоже нет регистратора. И выдают они мне тоже не те данные, что мне нужны. Т.е. и по ним чистого прихода получить я не могу. Я уже проверял.
|
|||
6
ДенисЧ
01.04.20
✎
16:55
|
(5) В остатках регистратора нет.
В оборотах есть. |
|||
7
squall84
01.04.20
✎
17:14
|
(6) Нет у меня там регистратора, там вообще нет реквизитов. Только в непериодическом регистре партий. Чтобы в оборотах или остатках он у меня появился нужно, включить периодичность по регистратору, как я делал во втором запросе. Об этом и был вопрос - корректно так делать или нет.
|
|||
8
ДенисЧ
01.04.20
✎
18:57
|
(7) А у меня есть... У тебя неправильный регистр... Хочешь, продам правильный? )))
|
|||
9
ДенисЧ
01.04.20
✎
18:58
|
(7) "Об этом и был вопрос - корректно так делать или нет."
Я сказал, как правильно - остатки из остатков... и так далее |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |