Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 сен 2021, 09:31

Не сходятся начальный и конечный остатки

Автор Golickoff, 29 ноя 2016, 08:57

0 Пользователей и 1 гость просматривают эту тему.

Golickoff

Всем привет.

Под текстом есть запрос. Если сформировать его за прошлый квартал, сумма остатка на конец будет равна 28694 шт. Если сформировать его за текущий квартал, сумма остатка на начало получится уже 99933 шт. При обработке выборки с остатком ничего не происходит, он просто присваивается параметру области макета без изменений. С чем это может быть связано?

"ВЫБРАТЬ
                   | ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
                   | ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД КАК НомерГТД,
                   | ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
                   | ЕСТЬNULL(ПриходнаяНакладнаяТовары.Цена, 0) КАК Цена,
                   | ПриходнаяНакладнаяТовары.СтранаПроисхождения КАК СтранаПроисхождения,
                   | ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход, 0) КАК НачОст
                   |ИЗ
                   | РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(
                   | &ДатаНач,
                   | &ДатаКон,
                   | Период,
                   | ,
                   | Организация = &Организация
                   | И Склад В (&Склады)) КАК ОстаткиНоменклатурыОстаткиИОбороты
                   | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Товары КАК ПриходнаяНакладнаяТовары
                   | ПО ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура = ПриходнаяНакладнаяТовары.Номенклатура
                   | И ОстаткиНоменклатурыОстаткиИОбороты.Партия = ПриходнаяНакладнаяТовары.Ссылка
                   |
                   |СГРУППИРОВАТЬ ПО
                   | ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура,
                   | ОстаткиНоменклатурыОстаткиИОбороты.НомерГТД,
                   | ОстаткиНоменклатурыОстаткиИОбороты.Партия.ВалютаДокумента,
                   | ПриходнаяНакладнаяТовары.СтранаПроисхождения,
                   | ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход, 0),
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоПриход,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоРасход,
                   | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток,
                   | ЕСТЬNULL(ПриходнаяНакладнаяТовары.Цена, 0)
                   |
                   |УПОРЯДОЧИТЬ ПО
                   | НомерГТД,
                   | Номенклатура"
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

cska-fanat-kz

ну по запросу же не видно чему у вас параметры ДатаНач, ДатаКон равны :befhbt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Golickoff

Цитата: cska-fanat-kz от 29 ноя 2016, 09:31
ну по запросу же не видно чему у вас параметры ДатаНач, ДатаКон равны :befhbt:
Берутся из реквизитов отчёта, выведенных на форму. Программно проверил значения в коде установки параметров запроса -- значения верны и соответствуют началу и концу квартала, т.е. при построении за прошлый квартал даты стоят 01.07.2016 0:00:00 и 31.09.2016 23:59:59, а за текущий  01.10.2016 0:00:00 и 31.12.2016 23:59:59 соответственно.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

has


Golickoff

Цитата: has от 29 ноя 2016, 10:21
31.09.2016 - в сентябре 30 дней
Я писал это руками, а не копированием. Иногда я ошибаюсь. Тем не менее, в отчёте стоят корректные даты и дело не в них.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

alex0402

1) посмотреть, что находится в физической таблице регистра. (посчитать запросами).
2) проверить базу на наличие ошибок конфигуратором.
Спасибо за Сказать спасибо

Golickoff

Цитата: alex0402 от 29 ноя 2016, 10:28
1) посмотреть, что находится в физической таблице регистра. (посчитать запросами).
2) проверить базу на наличие ошибок конфигуратором.
"ВЫБРАТЬ
               | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
               | ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток
               |ИЗ
               | РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, , ) КАК ОстаткиНоменклатурыОстаткиИОбороты
               |ИТОГИ ПО
               | ОБЩИЕ,
               | КоличествоНачальныйОстаток,
               | КоличествоКонечныйОстаток";

Проверил остатки этим запросом, на конец и на начало они сошлись. Как найти проблемное место в запросе из отчёта?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

alex0402

Цитата: Golickoff от 29 ноя 2016, 08:57СГРУППИРОВАТЬ ПО
1) СГРУППИРОВАТЬ ПО - лишняя конструкция. ОстаткиИОбороты и так группируют.
2) убирать/добавлять измерения из запроса и смотреть результат.
Спасибо за Сказать спасибо

Golickoff

Цитата: alex0402 от 29 ноя 2016, 11:22
Цитата: Golickoff от 29 ноя 2016, 08:57СГРУППИРОВАТЬ ПО
1) СГРУППИРОВАТЬ ПО - лишняя конструкция. ОстаткиИОбороты и так группируют.
За это спасибо. А вообще, я разобрался в чём дело. Это запрос для таможенного отчёта и он немного специфичен: в нём нет колонки прихода и весь приход должен учитываться в колонке начального остатка. Соответственно, на следующий день были приходы и начальный остаток на сегодня был равен конечному остатку на вчера+приход. Такие дела. Всем спасибо.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск