Добавить в запрос приход (количество)

1. Vlan 36 24.10.23 12:52 Сейчас в теме
Всех приветствую.
В самописной конфигурации в имеющийся запрос нужно добавить начальное количество номенклатуры из регистра накопления УУ_Запасы. Не соображу, как сделать, т.к. приход может быть с помощью разных документов и их может быть несколько на одну номенклатуру. Для начала хотя бы самый первый приход выбрать (да, да, каюсь, совсем плохо у меня с СКД).
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	УУ_ФинРезультат.Период КАК Период,
	УУ_ФинРезультат.Регистратор КАК Регистратор,
	УУ_ФинРезультат.НомерСтроки КАК НомерСтроки,
	УУ_ФинРезультат.Активность КАК Активность,
	УУ_ФинРезультат.Организация КАК Организация,
	УУ_ФинРезультат.Магазин КАК Магазин,
	УУ_ФинРезультат.Контрагент КАК Контрагент,
	УУ_ФинРезультат.Номенклатура КАК Номенклатура,
	УУ_ФинРезультат.Количество КАК Количество,
	УУ_ФинРезультат.Себестоимость КАК Себестоимость,
	УУ_ФинРезультат.Сумма КАК Выручка,
	УУ_ФинРезультат.ВидДеятельности КАК ВидДеятельности,
	УУ_ФинРезультат.Склад КАК Склад,
	УУ_ФинРезультат.Сумма - УУ_ФинРезультат.Себестоимость КАК Маржа,
	УУ_ФинРезультат.Номенклатура.Код КАК НоменклатураКод,
	УУ_ФинРезультат.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	УУ_ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток,
	УУ_ЗапасыОстатки.СуммаОстаток КАК СуммаОстаток,
	РАЗНОСТЬДАТ(УУ_ЗапасыОстатки.Партия.Дата, &КонецП, ДЕНЬ) КАК ДниЖизни,
	ТИПЗНАЧЕНИЯ(УУ_ФинРезультат.Регистратор) КАК ТипДокумента,
	УУ_ЗапасыОстатки.Партия КАК Партия,
	ТИПЗНАЧЕНИЯ(УУ_ЗапасыОстатки.Партия) КАК ТипДокумента_партия
ИЗ
	РегистрНакопления.УУ_ФинРезультат КАК УУ_ФинРезультат
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УУ_Запасы.Остатки(, ) КАК УУ_ЗапасыОстатки
		ПО УУ_ФинРезультат.Организация = УУ_ЗапасыОстатки.Организация
			И УУ_ФинРезультат.Магазин = УУ_ЗапасыОстатки.Магазин
			И УУ_ФинРезультат.Склад = УУ_ЗапасыОстатки.Склад
			И УУ_ФинРезультат.Номенклатура = УУ_ЗапасыОстатки.Номенклатура
ГДЕ
	УУ_ФинРезультат.Период МЕЖДУ &НачалоП И &КонецП
Показать
По теме из базы знаний
Найденные решения
9. iSteld 24.10.23 18:13 Сейчас в теме
ВЫБРАТЬ
    СУММА(УУ_Запасы.Количество) КАК Количество,
    УУ_Запасы.Номенклатура КАК Номенклатура
ИЗ
    РегистрНакопления.УУ_Запасы КАК УУ_Запасы
ГДЕ
    УУ_Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

СГРУППИРОВАТЬ ПО
    УУ_Запасы.Номенклатура
Показать

Пример. В данном случае каждой номенклатуре будет сопоставлено общее количество по всем приходам
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 24.10.23 13:21 Сейчас в теме
(1) ОстаткиИОбороты вместо просто Остатки. Что в СКД, что в обычном запросе - работает одинаково.
3. Vlan 36 24.10.23 13:39 Сейчас в теме
(2) Товар получен в количестве 100 штук. Потом еще получено 200. А потом каждый день по 1 штуке продавали. Как сделать, чтобы показал отчет 300?
7. DBV 24.10.23 15:40 Сейчас в теме
(3) обратиться к ВТ Обороты и оттуда КоличествоПриход
4. Vlan 36 24.10.23 14:23 Сейчас в теме
Совместить в ОстаткахИОборотах не получилось, т.к. приход может быть на другие склады. Попробовал сделать ВТ с приходами и присоединить к основной таблице.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	УУ_ФинРезультат.Период КАК Период,
	УУ_ФинРезультат.Регистратор КАК Регистратор,
	УУ_ФинРезультат.Организация КАК Организация,
	УУ_ФинРезультат.Магазин КАК Магазин,
	УУ_ФинРезультат.Контрагент КАК Контрагент,
	УУ_ФинРезультат.Номенклатура КАК Номенклатура,
	УУ_ФинРезультат.Количество КАК Количество,
	УУ_ФинРезультат.Себестоимость КАК Себестоимость,
	УУ_ФинРезультат.Сумма КАК Выручка,
	УУ_ФинРезультат.ВидДеятельности КАК ВидДеятельности,
	УУ_ФинРезультат.Склад КАК Склад,
	УУ_ФинРезультат.Сумма - УУ_ФинРезультат.Себестоимость КАК Маржа,
	УУ_ФинРезультат.Номенклатура.Код КАК НоменклатураКод,
	УУ_ФинРезультат.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	УУ_ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток,
	УУ_ЗапасыОстатки.СуммаОстаток КАК СуммаОстаток,
	РАЗНОСТЬДАТ(УУ_ЗапасыОстатки.Партия.Дата, &КонецП, ДЕНЬ) КАК ДниЖизни,
	ТИПЗНАЧЕНИЯ(УУ_ФинРезультат.Регистратор) КАК ТипДокумента,
	УУ_ЗапасыОстатки.Партия КАК Партия,
	ТИПЗНАЧЕНИЯ(УУ_ЗапасыОстатки.Партия) КАК ТипДокумента_партия
ПОМЕСТИТЬ ФинРезультат
ИЗ
	РегистрНакопления.УУ_ФинРезультат КАК УУ_ФинРезультат
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УУ_Запасы.Остатки(, ) КАК УУ_ЗапасыОстатки
		ПО УУ_ФинРезультат.Организация = УУ_ЗапасыОстатки.Организация
			И УУ_ФинРезультат.Магазин = УУ_ЗапасыОстатки.Магазин
			И УУ_ФинРезультат.Склад = УУ_ЗапасыОстатки.Склад
			И УУ_ФинРезультат.Номенклатура = УУ_ЗапасыОстатки.Номенклатура
ГДЕ
	УУ_ФинРезультат.Период МЕЖДУ &НачалоП И &КонецП
;

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

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ФинРезультат.Период КАК Период,
	ФинРезультат.Регистратор КАК Регистратор,
	ФинРезультат.Организация КАК Организация,
	ФинРезультат.Магазин КАК Магазин,
	ФинРезультат.Контрагент КАК Контрагент,
	ФинРезультат.Номенклатура КАК Номенклатура,
	ФинРезультат.Количество КАК Количество,
	ФинРезультат.Себестоимость КАК Себестоимость,
	ФинРезультат.Выручка КАК Выручка,
	ФинРезультат.ВидДеятельности КАК ВидДеятельности,
	ФинРезультат.Склад КАК Склад,
	ФинРезультат.Маржа КАК Маржа,
	ФинРезультат.НоменклатураКод КАК НоменклатураКод,
	ФинРезультат.ВидНоменклатуры КАК ВидНоменклатуры,
	ФинРезультат.КоличествоОстаток КАК КоличествоОстаток,
	ФинРезультат.СуммаОстаток КАК СуммаОстаток,
	ФинРезультат.ДниЖизни КАК ДниЖизни,
	ФинРезультат.ТипДокумента КАК ТипДокумента,
	ФинРезультат.Партия КАК Партия,
	ФинРезультат.ТипДокумента_партия КАК ТипДокумента_партия,
	ВТ_Запасы.КоличествоПриход КАК КоличествоПриход
ИЗ
	ФинРезультат КАК ФинРезультат
ЛЕВОЕ СОЕДИНЕНИЕ
	ВТ_Запасы КАК ВТ_Запасы
ПО
	ФинРезультат.Номенклатура = ВТ_Запасы.Номенклатура
Показать
5. Said-We 24.10.23 15:15 Сейчас в теме
(4)
Совместить в ОстаткахИОборотах не получилось, т.к. приход может быть на другие склады.
А что смущает в складах? В обоих регистрах есть Склад.
А структура похожа на ТиС в 77, где партии товаров и суммы в одном регистре, а количество в другом.
6. Vlan 36 24.10.23 15:22 Сейчас в теме
(5) Ну, продажу смотрим по определенному складу/магазину, а поступление может быть любым. Я и пытаюсь понять, как это все увязать в один запрос. Подумываю уже об отказе от СКД, в модуле мне как-то проще сделать привязки.
8. Said-We 24.10.23 16:21 Сейчас в теме
(6) Запросом проще, чем кодом городить...
Выбрать
    Т.Поле1,
    Т.Поле2,
    ...
    Т.ПолеХ,
    Сумма(Т.Сумма1) как Сумма1,
    Сумма(Т.Сумма2) как Сумма2,
    Сумма(Т.Сумма3) как Сумма3,
    Сумма(Т.Сумма4) как Сумма4
ИЗ
    (Выбрать Поле1, Поле2,...ПолеХ, Сумма1, Сумма2, 0 как Сумма3, 0 как Сумма4 ИЗ Т1
    Объединить все Выбрать Поле1, Поле2,...ПолеХ, 0, 0, Сумма3, Сумма4 ИЗ Т2) как Т
Сгруппировать по
    Т.Поле1, Т.Поле2,...Т.ПолеХ
Показать
Или так или левым соединением. Зависит от того какие ещё условия накладываются на решение, то выбирают более удобный вариант.
Сложнее ситуация, когда разное количество полей ПолеХ, по которым собираются данные из разных источников. Но тут необходимо понимать как суммы распределять. Если на бумаге понятно как, то так и делать.
9. iSteld 24.10.23 18:13 Сейчас в теме
ВЫБРАТЬ
    СУММА(УУ_Запасы.Количество) КАК Количество,
    УУ_Запасы.Номенклатура КАК Номенклатура
ИЗ
    РегистрНакопления.УУ_Запасы КАК УУ_Запасы
ГДЕ
    УУ_Запасы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

СГРУППИРОВАТЬ ПО
    УУ_Запасы.Номенклатура
Показать

Пример. В данном случае каждой номенклатуре будет сопоставлено общее количество по всем приходам
10. Vlan 36 24.10.23 18:36 Сейчас в теме
(9) О, спасибо. На конкретном примере как-то в голове прояснилось. Сумма получается больше необходимой за счет документов с признаком "приход", но сейчас буду экспериментировать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот