Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Доброе время суток. Есть самописная конфигурация на платформе 8.3.6. В ней есть документ многорежимный: приход, расход, перемещение материалов между участками. Сейчас пробую сделать отчет на СКД с начальными остатками, приходом, расходом и конечными остатками в разрезе номенклатуры. Все было хорошо, но необходимо исключить из оборотов документы с перемещением и сформировать "картину" по всему цеху. Написал такой запрос:
В итоге обороты задваиваются. Если убрать режим Авто, сопутствующие реквизиты и условие с отбором,то все становится на свои места. Вот ломаю голову как выйти из ситуации. Может кто сталкивался с аналогичной проблемой,
ВЫБРАТЬ РАЗЛИЧНЫЕ
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор
ПОМЕСТИТЬ ВТ_Перемещения
ИЗ
РегистрНакопления.ОстаткиНаУчастках.ОстаткиИОбороты(
&НачСутокФакт,
&КонСутокФакт,
Авто,
,
Груз.РазрезУчета В (&РазрезУчета)
И НЕ Участок В (&Участок_ЦПШ)) КАК ОстаткиНаУчасткахОстаткиИОбороты
ГДЕ
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор.ТипДокумента = &Перемещение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ОстаткиНаУчасткахОстаткиИОбороты.ПериодСекунда,
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор,
ОстаткиНаУчасткахОстаткиИОбороты.Груз,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесНачальныйОстаток) КАК ВесНачальныйОстаток,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесПриход) КАК ВесПриход,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесРасход) КАК ВесРасход,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесКонечныйОстаток) КАК ВесКонечныйОстаток
ИЗ
РегистрНакопления.ОстаткиНаУчастках.ОстаткиИОбороты(
&НачСутокФакт,
&КонСутокФакт,
Авто,
,
Груз.РазрезУчета В (&РазрезУчета)
И НЕ Участок В (&Участок_ЦПШ)) КАК ОстаткиНаУчасткахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеСырьяИГП.СрезПоследних(&КонСутокФакт, ) КАК СоответствиеСырьяИГПСрезПоследних
ПО ОстаткиНаУчасткахОстаткиИОбороты.Груз = СоответствиеСырьяИГПСрезПоследних.ГотоваяПродукция
И ОстаткиНаУчасткахОстаткиИОбороты.Участок = СоответствиеСырьяИГПСрезПоследних.Участок
ГДЕ
НЕ ОстаткиНаУчасткахОстаткиИОбороты.Регистратор В
(ВЫБРАТЬ
ВТ_Перемещения.Регистратор
ИЗ
ВТ_Перемещения КАК ВТ_Перемещения)
СГРУППИРОВАТЬ ПО
ОстаткиНаУчасткахОстаткиИОбороты.Груз,
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор,
ОстаткиНаУчасткахОстаткиИОбороты.ПериодСекунда
ПоказатьВ итоге обороты задваиваются. Если убрать режим Авто, сопутствующие реквизиты и условие с отбором,то все становится на свои места. Вот ломаю голову как выйти из ситуации. Может кто сталкивался с аналогичной проблемой,
По теме из базы знаний
- Остатки по всем регистрам накопления (имеющим данные)
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Свертка регистров накопления блока ЖКХ, для программы 1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК 3.0. Вводит начальные остатки по регистрам накопления с видом Остатки на дату свертки
- Сравнение остатков МПЗ по балансу и регистру накопления УчетЗатратРегл, исправление остатков в регистре накопления. УПП 1.3
- Сравнение остатков по регистрам накопления
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Xershi, "различные" не влияют на результата, а группировку и суммирование я уже сдала, итоговую группировку мне не надо, а если и делаю то начальные и конечные остатки задваиваются.
Вот пару строк из результат запроса:
29.02.2016 20:00:00 5Б1 105,867 0 0 105,867
28.03.2016 8:00:00 5Б1 105,867 0 0 105,867
Получается если нет оборотов за период то он выводит две строчки - начало и конец периода, а при сворачивании сумма удваивается.
Вот пару строк из результат запроса:
29.02.2016 20:00:00 5Б1 105,867 0 0 105,867
28.03.2016 8:00:00 5Б1 105,867 0 0 105,867
Получается если нет оборотов за период то он выводит две строчки - начало и конец периода, а при сворачивании сумма удваивается.
(6) kasper076, похоже на правду. Сейчас запрос такой:
результат проверяю сейчас
ВЫБРАТЬ
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор
ПОМЕСТИТЬ ВТ_Перемещения
ИЗ
РегистрНакопления.ОстаткиНаУчастках.ОстаткиИОбороты(
&НачСутокФакт,
&КонСутокФакт,
Авто,
,
Груз.РазрезУчета В (&РазрезУчета)
И НЕ Участок В (&Участок_ЦПШ)) КАК ОстаткиНаУчасткахОстаткиИОбороты
ГДЕ
ОстаткиНаУчасткахОстаткиИОбороты.Регистратор.ТипДокумента = &Перемещение
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ОстаткиНаУчасткахОстаткиИОбороты.Груз,
ОстаткиНаУчасткахОстаткиИОбороты.Участок,
ОстаткиНаУчасткахОстаткиИОбороты.ВидЗапаса,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесНачальныйОстаток) КАК ВесНачальныйОстаток,
СУММА(ОстаткиНаУчасткахОстаткиИОбороты.ВесКонечныйОстаток) КАК ВесКонечныйОстаток
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
РегистрНакопления.ОстаткиНаУчастках.ОстаткиИОбороты(
&НачСутокФакт,
&КонСутокФакт,
,
,
Груз.РазрезУчета В (&РазрезУчета)
И НЕ Участок В (&Участок_ЦПШ)) КАК ОстаткиНаУчасткахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеСырьяИГП.СрезПоследних(&КонСутокФакт, ) КАК СоответствиеСырьяИГПСрезПоследних
ПО ОстаткиНаУчасткахОстаткиИОбороты.Груз = СоответствиеСырьяИГПСрезПоследних.ГотоваяПродукция
И ОстаткиНаУчасткахОстаткиИОбороты.Участок = СоответствиеСырьяИГПСрезПоследних.Участок
СГРУППИРОВАТЬ ПО
ОстаткиНаУчасткахОстаткиИОбороты.Груз,
ОстаткиНаУчасткахОстаткиИОбороты.Участок,
ОстаткиНаУчасткахОстаткиИОбороты.ВидЗапаса
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ОстаткиНаУчасткахОбороты.Груз,
ОстаткиНаУчасткахОбороты.Участок,
ОстаткиНаУчасткахОбороты.ВидЗапаса,
СУММА(ОстаткиНаУчасткахОбороты.ВесПриход) КАК ВесПриход,
СУММА(ОстаткиНаУчасткахОбороты.ВесРасход) КАК ВесРасход
ПОМЕСТИТЬ ВТ_Обороты
ИЗ
РегистрНакопления.ОстаткиНаУчастках.Обороты(
&НачСутокФакт,
&КонСутокФакт,
Регистратор,
Груз.РазрезУчета В (&РазрезУчета)
И НЕ Участок В (&Участок_ЦПШ)) КАК ОстаткиНаУчасткахОбороты
ГДЕ
НЕ ОстаткиНаУчасткахОбороты.Регистратор В
(ВЫБРАТЬ
ВТ_Перемещения.Регистратор
ИЗ
ВТ_Перемещения КАК ВТ_Перемещения)
СГРУППИРОВАТЬ ПО
ОстаткиНаУчасткахОбороты.Груз,
ОстаткиНаУчасткахОбороты.Участок,
ОстаткиНаУчасткахОбороты.ВидЗапаса
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Остатки.Груз КАК Груз,
ВТ_Остатки.Участок КАК Участок,
ВТ_Остатки.ВидЗапаса КАК ВидЗапаса,
ВТ_Остатки.ВесНачальныйОстаток КАК ВесНачальныйОстаток,
0 КАК ВесПриход,
0 КАК ВесРасход,
ВТ_Остатки.ВесКонечныйОстаток КАК ВесКонечныйОстаток
ПОМЕСТИТЬ ВТ
ИЗ
ВТ_Остатки КАК ВТ_Остатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВТ_Обороты.Груз,
ВТ_Обороты.Участок,
ВТ_Обороты.ВидЗапаса,
0,
ВТ_Обороты.ВесПриход,
ВТ_Обороты.ВесРасход,
0
ИЗ
ВТ_Обороты КАК ВТ_Обороты
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.Груз КАК Груз,
ВТ.ВидЗапаса,
СУММА(ВТ.ВесНачальныйОстаток) КАК ВесНачальныйОстаток,
СУММА(ВТ.ВесПриход) КАК ВесПриход,
СУММА(ВТ.ВесРасход) КАК ВесРасход,
СУММА(ВТ.ВесКонечныйОстаток) КАК ВесКонечныйОстаток
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Груз,
ВТ.ВидЗапаса
УПОРЯДОЧИТЬ ПО
Груз
АВТОУПОРЯДОЧИВАНИЕ
Показатьрезультат проверяю сейчас
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот