Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 10:35

Помогите реализовать отчет

Автор Dmitry Qwe, 21 дек 2017, 17:19

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

Dmitry Qwe

Хочу сделать отчет ведомость по мат. лицу(поля: мат.лицо, номенклатура начОстаток, приход, расход, КонОстаток) за период. Мат.лицо находится в РегистреСведений, все остальное в регистре накопления.
как сделать такой отчет не используя виртуальную таблицу ОстаткиИОбороты?

Dmitry Qwe

Пытался так сделать но данный запрос выводит данные от начала периода и до бесконечности, а мне нужно что бы результат был за период (начало периода и конецПериода)

ВЫБРАТЬ
ИТ_Активы_Перемещение.МОЛ КАК МОЛ,
ИТ_Активы.Номенклатура КАК Номенклатура,
ИТ_Активы.КоличествоПриход КАК КоличествоПриход,
ИТ_Активы.КоличествоРасход КАК КоличествоРасход
ПОМЕСТИТЬ ВТ_НачалоПериода
ИЗ
РегистрНакопления.ИТ_Активы.Обороты(&НачалоПериода, , , ) КАК ИТ_Активы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИТ_Активы_Перемещение.СрезПоследних КАК ИТ_Активы_Перемещение
ПО (ИТ_Активы.Номенклатура = ИТ_Активы_Перемещение.Номенклатура )
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ИТ_Активы_Перемещение.МОЛ КАК МОЛ,
ИТ_Активы.Номенклатура КАК Номенклатура,
ИТ_Активы.КоличествоПриход КАК КоличествоПриход,
ИТ_Активы.КоличествоРасход КАК КоличествоРасход
ПОМЕСТИТЬ ВТ_КонецПериода
ИЗ
РегистрНакопления.ИТ_Активы.Обороты(, &КонецПериода, , ) КАК ИТ_Активы
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИТ_Активы_Перемещение.СрезПоследних КАК ИТ_Активы_Перемещение
ПО ИТ_Активы.Номенклатура= ИТ_Активы.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_НачалоПериода.МОЛ КАК МОЛ,
ВТ_НачалоПериода.Номенклатура КАК Номенклатура,
ИТ_Активы_ВЭксплуатацииОстаткиНач.КоличествоОстаток КАК КоличествоНачальныйОстаток,
ВТ_НачалоПериода.КоличествоПриход КАК КоличествоПриход,
ВТ_НачалоПериода.КоличествоРасход КАК КоличествоРасход,
ИТ_Активы_ВЭксплуатацииОстаткиКон.КоличествоОстаток как КоличествоКонечныйОстаток
ИЗ
ВТ_НачалоПериода КАК ВТ_НачалоПериода
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_КонецПериода КАК ВТ_КонецПериода
ПО ВТ_НачалоПериода.МОЛ = ВТ_КонецПериода.МОЛ
ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ИТ_Активы.Остатки КАК ИТ_АктивыОстаткиНач
ПО ВТ_НачалоПериода.Номенклатура= ИТ_АктивыОстаткиНач.Номенклатура
ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ИТ_Активы.Остатки КАК ИТ_АктивыОстаткиКон
ПО ВТ_КонецПериода.Номенклатура= ИТ_Активы_ВЭксплуатацииОстаткиКон.Номенклатура


alex0402

Цитата: Dmitry Qwe от 21 дек 2017, 18:00а мне нужно что бы результат был за период (начало периода и конецПериода)

ну так об этом нужно говорить не на форуме, а конфигуратору 1С:
Цитата: Dmitry Qwe от 21 дек 2017, 18:00РегистрНакопления.ИТ_Активы.Обороты(, &КонецПериода, , ) КАК ИТ_Активы

Спасибо за Сказать спасибо

Norfolk

Следуя вашей логике, у вас получается временные отрезки:
1. с начала периода до бесконечности
2. от -бесконечности до конца периода
Вы делаете полное соединение - соответственно в выборку попадают все данные.
Сделайте внутреннее соединение.

Dmitry Qwe

Norfolk, alex0402, Сейчас с полным соединением ничего не меняя перетестил вроде все правильно выводит, на счет внутреннего,  тогда не все записи за период попадают. Голова уже кипит, не вижу где косяк и есть ли он:angry:

Теги:

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

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

Поиск