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

Создание отчёта по нескольким документам 1С 8.3

Автор Паха Бреус, 30 апр 2016, 02:05

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

Паха Бреус

Доброго времени суток!
Помогите новичку разобраться в проблеме.
Есть 2 документа: "Приход" и "Расход".
Эти 2 документа являются регистраторами в "Регистрах накоплений".
По документам и регистру создается отчёт примерно такого вида:

Вроде всё работает отлично,НО!..
Отлично работает только тогда, когда в документах "Приход" и "Расход" только по 1 строке товара.
Когда в документах 2 и более строк, то происходит не пойми что.
НАПРИМЕР.
В документе прихода ДП-0004 2 строки:




НоменклатураКоличество
1Азот технический ГОСТ 9293-748 000
2Углекислота ГОСТ 8050-853 600
В документе расхода ДР-0001 3 строки:





НоменклатураКоличество баллоновМасса газаОбщая масса
1Кислород технический ГОСТ 5583-78489,50456,00
2Азот технический ГОСТ 9293-742510,50262,50
3Углекислота ГОСТ 8050-851624384
Скриншот отчёта:

Помогите! Пожалуйста!
Может быть пригодится - код запроса:
ВЫБРАТЬ
ОстаткиОстаткиИОбороты.Номенклатура КАК Номенклатура,
ОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
ОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
ОстаткиОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
ОстаткиОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
Приход.Номенклатура.(
Ссылка,
Количество,
Номенклатура,
НомерСтроки
) КАК Номенклатура1,
Расход.Номенклатура.(
Ссылка,
КоличествоБаллонов,
МассаГаза,
ОбщаяМасса,
Номенклатура,
НомерСтроки
) КАК Номенклатура2,
Приход.Дата КАК ДатаПрихода,
Расход.Дата КАК ДатаРасхода
ИЗ
РегистрНакопления.Остатки.ОстаткиИОбороты КАК ОстаткиОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Приход КАК Приход
ПО ОстаткиОстаткиИОбороты.Номенклатура = Приход.Номенклатура.Номенклатура
И (Приход.Дата МЕЖДУ &НачалоПериода И &КонецПериода)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Расход КАК Расход
ПО ОстаткиОстаткиИОбороты.Номенклатура = Расход.Номенклатура.Номенклатура
И (Расход.Дата МЕЖДУ &НачалоПериода И &КонецПериода)


Спасибо за помощь заранее!

Enjoineer

В Вашем случае условие соединения должно быть не по вхождению даты документа в период, а по регистратору :
"И ОстаткиОстаткиИОбороты.Регистратор = Расход.Ссылка".
Но. Регистры для того и созданы, чтобы быстро формировать отчеты, не обращаясь к документам.
Для решения Вашей задачи по крайней мере в части прихода достаточно данных в регистре накопления. В конструкторе запроса в параметрах виртуальной таблицы "ОстаткиИОбороты" выбираем Периодичность "Регистратор". Затем выбираем Регистратор в выходные поля.
Если количество баллонов в приходе не указывается, то для расхода можно хранить количество в "Реквизите" регистра накопления.
Насколько постоянная величина "Масса газа в баллоне" для каждой номенклатуры? Если это справочная информация, то можно тянуть ее из справочника "Номенклатура".


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

Рейтинг@Mail.ru

Поиск