Сделать отчет по количеству отгруженных, оплаченных и сколько осталось оплатить заказов

1. Lllypuk 15.12.21 15:42 Сейчас в теме
Всем привет! Подскажите, нужно сделать отчет по количеству отгруженных, оплаченных клиентом и сколько оплачено нашей компанией. Пока начал делать вот так:
ВЫБРАТЬ
	КурсыВалют.Период КАК Период,
	КурсыВалют.Валюта КАК Валюта,
	КурсыВалют.Курс КАК Курс,
	КурсыВалют.Кратность КАК Кратность
ПОМЕСТИТЬ Курсы
ИЗ
	РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
	КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
	СУММА(ЗаказКлиентаТовары.Количество) КАК Количество,
	ЗаказКлиентаТовары.Ссылка.Назначение КАК Назначение,
	СУММА(ЗаказКлиентаТовары.СуммаСНДС) КАК СуммаСНДС,
	ЗаказКлиентаТовары.Ссылка.Партнер КАК Партнер,
	ЗаказКлиентаТовары.Ссылка КАК ЗаказКлиента,
	ЗаказКлиентаТовары.Ссылка.ДокументОснование КАК КоммПредлож,
	НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.Дата, ДЕНЬ) КАК ДеньЗаказа,
	ЗаказКлиентаТовары.Ссылка.Валюта КАК Валюта,
	СУММА(ЗаказКлиентаТовары.СуммаСНДС - ЗаказКлиентаТовары.СуммаНДС) КАК СуммаБезНДС,
	ЗаказКлиентаТовары.Ссылка.Менеджер КАК Менеджер,
	ВЫБОР
		КОГДА ЗаказКлиентаТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЗаказКлиентаТовары.СуммаСНДС
		ИНАЧЕ ЗаказКлиентаТовары.СуммаСНДС * Курсы.Курс
	КОНЕЦ КАК СуммаСНДС_Руб,
	НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.ДокументОснование.Дата, МЕСЯЦ) КАК ПериодМесяц
ПОМЕСТИТЬ ЗаказыКлиентов
ИЗ
	Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
		ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК Курсы
		ПО ЗаказКлиентаТовары.Ссылка.Валюта = Курсы.Валюта
			И (НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.Дата, ДЕНЬ) = Курсы.Период)
ГДЕ
	ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
	И ЗаказКлиентаТовары.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
	ЗаказКлиентаТовары.Ссылка,
	ЗаказКлиентаТовары.Номенклатура,
	ЗаказКлиентаТовары.Ссылка.Назначение,
	ЗаказКлиентаТовары.Ссылка.Партнер,
	ЗаказКлиентаТовары.Ссылка.ДокументОснование,
	НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.Дата, ДЕНЬ),
	ЗаказКлиентаТовары.Ссылка.Валюта,
	ЗаказКлиентаТовары.Ссылка.Менеджер,
	ВЫБОР
		КОГДА ЗаказКлиентаТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЗаказКлиентаТовары.СуммаСНДС
		ИНАЧЕ ЗаказКлиентаТовары.СуммаСНДС * Курсы.Курс
	КОНЕЦ,
	НАЧАЛОПЕРИОДА(ЗаказКлиентаТовары.Ссылка.ДокументОснование.Дата, МЕСЯЦ)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
	СУММА(ЗаказПоставщикуТовары.Количество) КАК Количество,
	СУММА(ЗаказПоставщикуТовары.СуммаСНДС) КАК СуммаСНДС,
	ЗаказПоставщикуТовары.Ссылка КАК ЗаказПоставщику,
	ЗаказПоставщикуТовары.Назначение КАК Назначение,
	НАЧАЛОПЕРИОДА(ЗаказПоставщикуТовары.Ссылка.Дата, ДЕНЬ) КАК ДеньЗаказа,
	ЗаказПоставщикуТовары.Ссылка.Валюта КАК Валюта,
	ЗаказПоставщикуТовары.Ссылка.Партнер КАК Поставщик,
	СУММА(ЗаказПоставщикуТовары.СуммаСНДС - ЗаказПоставщикуТовары.СуммаНДС) КАК СуммаБезНДС,
	ВЫБОР
		КОГДА ЗаказПоставщикуТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЗаказПоставщикуТовары.СуммаСНДС
		ИНАЧЕ ЗаказПоставщикуТовары.СуммаСНДС * Курсы.Курс
	КОНЕЦ КАК СуммаСНДС_Руб
ПОМЕСТИТЬ ЗаказыПостав
ИЗ
	Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
		ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК Курсы
		ПО ЗаказПоставщикуТовары.Ссылка.Валюта = Курсы.Валюта
			И (НАЧАЛОПЕРИОДА(ЗаказПоставщикуТовары.Ссылка.Дата, ДЕНЬ) = Курсы.Период)
ГДЕ
	ЗаказПоставщикуТовары.Ссылка.Проведен
	И ЗаказПоставщикуТовары.Назначение В
			(ВЫБРАТЬ
				ЗаказыКлиентов.Назначение КАК Назначение
			ИЗ
				ЗаказыКлиентов КАК ЗаказыКлиентов)

СГРУППИРОВАТЬ ПО
	ЗаказПоставщикуТовары.Номенклатура,
	ЗаказПоставщикуТовары.Ссылка,
	ЗаказПоставщикуТовары.Назначение,
	НАЧАЛОПЕРИОДА(ЗаказПоставщикуТовары.Ссылка.Дата, ДЕНЬ),
	ЗаказПоставщикуТовары.Ссылка.Валюта,
	ЗаказПоставщикуТовары.Ссылка.Партнер,
	ВЫБОР
		КОГДА ЗаказПоставщикуТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЗаказПоставщикуТовары.СуммаСНДС
		ИНАЧЕ ЗаказПоставщикуТовары.СуммаСНДС * Курсы.Курс
	КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КоммерческоеПредложениеКлиентуТовары.Ссылка КАК Предлож,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
	СУММА(КоммерческоеПредложениеКлиентуТовары.Количество) КАК Количество,
	СУММА(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС) КАК СуммаСНДС,
	МАКСИМУМ(КоммерческоеПредложениеКлиентуТовары.КомментарийДляПокупателя) КАК КомментарийДляПокупателя,
	МАКСИМУМ(КоммерческоеПредложениеКлиентуТовары.КомментарийВнутренний) КАК КомментарийВнутренний,
	СУММА(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС - КоммерческоеПредложениеКлиентуТовары.СуммаНДС) КАК СуммаБезНДС,
	МАКСИМУМ(КоммерческоеПредложениеКлиентуТовары.кнлПошлина) КАК Пошлина,
	МАКСИМУМ(КоммерческоеПредложениеКлиентуТовары.кнлНаценка) КАК Наценка,
	МАКСИМУМ(КоммерческоеПредложениеКлиентуТовары.кнлСрокПост) КАК СрокПост,
	ВЫБОР
		КОГДА КоммерческоеПредложениеКлиентуТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЕСТЬNULL(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС, 0)
		ИНАЧЕ ЕСТЬNULL(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС * Курсы.Курс, 0)
	КОНЕЦ КАК СуммаСНДС_Руб
ПОМЕСТИТЬ КоммерПредлож
ИЗ
	Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
		ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК Курсы
		ПО КоммерческоеПредложениеКлиентуТовары.Ссылка.Валюта = Курсы.Валюта
			И (НАЧАЛОПЕРИОДА(КоммерческоеПредложениеКлиентуТовары.Ссылка.Дата, ДЕНЬ) = Курсы.Период)
ГДЕ
	КоммерческоеПредложениеКлиентуТовары.Ссылка.Проведен
	И КоммерческоеПредложениеКлиентуТовары.Ссылка В
			(ВЫБРАТЬ
				ЗаказыКлиентов.КоммПредлож КАК КоммПредлож
			ИЗ
				ЗаказыКлиентов КАК ЗаказыКлиентов)

СГРУППИРОВАТЬ ПО
	КоммерческоеПредложениеКлиентуТовары.Номенклатура,
	КоммерческоеПредложениеКлиентуТовары.Ссылка,
	ВЫБОР
		КОГДА КоммерческоеПредложениеКлиентуТовары.Ссылка.Валюта.Код = "643"
			ТОГДА ЕСТЬNULL(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС, 0)
		ИНАЧЕ ЕСТЬNULL(КоммерческоеПредложениеКлиентуТовары.СуммаСНДС * Курсы.Курс, 0)
	КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЗаказыКлиентов.Номенклатура КАК Номенклатура,
	ЗаказыКлиентов.Количество КАК Количество,
	ЗаказыКлиентов.Назначение КАК Назначение,
	ЗаказыКлиентов.Партнер КАК Партнер,
	ЗаказыКлиентов.Менеджер КАК Менеджер,
	ЗаказыКлиентов.ЗаказКлиента КАК ЗаказКлиента,
	ЗаказыКлиентов.КоммПредлож КАК КоммПредлож,
	КоммерПредлож.КомментарийДляПокупателя КАК КомментарийДляПокупателя,
	КоммерПредлож.КомментарийВнутренний КАК КомментарийВнутренний,
	ЗаказыПостав.Поставщик КАК Поставщик,
	КоммерПредлож.Предлож.Номер КАК Номер_КП,
	ЗаказыПостав.ЗаказПоставщику КАК ЗаказПоставщику,
	ЗаказыКлиентов.Валюта КАК Валюта_ЗК,
	ЗаказыКлиентов.СуммаСНДС КАК СуммаСНДС_ЗК,
	ЗаказыКлиентов.СуммаБезНДС КАК СуммаБезНДС_ЗК,
	КоммерПредлож.СуммаСНДС КАК СуммаСНДС_КП,
	КоммерПредлож.СуммаБезНДС КАК СуммаБезНДС_КП,
	ЕСТЬNULL(КоммерПредлож.Пошлина, 0) КАК Пошлина,
	ЕСТЬNULL(КоммерПредлож.СрокПост, 0) КАК СрокПост,
	ВЫРАЗИТЬ(ЗаказыКлиентов.СуммаСНДС_Руб КАК ЧИСЛО(15, 2)) КАК СуммаСНДС_Руб_ЗаказКлиента,
	ВЫРАЗИТЬ(ЕСТЬNULL(КоммерПредлож.СуммаСНДС_Руб, 0) КАК ЧИСЛО(15, 2)) КАК СуммаСНДС_Руб_КомПредлож,
	ВЫРАЗИТЬ(ЗаказыПостав.СуммаСНДС_Руб КАК ЧИСЛО(15, 2)) КАК СуммаСНДС_Руб_ЗаказПоставщику
ИЗ
	ЗаказыКлиентов КАК ЗаказыКлиентов
		ЛЕВОЕ СОЕДИНЕНИЕ ЗаказыПостав КАК ЗаказыПостав
		ПО ЗаказыКлиентов.Номенклатура = ЗаказыПостав.Номенклатура
			И ЗаказыКлиентов.Назначение = ЗаказыПостав.Назначение
		ЛЕВОЕ СОЕДИНЕНИЕ КоммерПредлож КАК КоммерПредлож
		ПО ЗаказыКлиентов.Номенклатура = КоммерПредлож.Номенклатура
			И ЗаказыКлиентов.КоммПредлож = КоммерПредлож.Предлож
Показать

В компании используется два документа "Заказ клиента" и "Заказ поставщику". Заказ клиента оплачивает клиент, а заказ поставщику оплачивает компания. Но есть заказы клиента и поставщика где оплата происходит "по накладным". В заказе клиента - это "Поступление безналичных ДС" а в заказе поставщику - это "Списание безналичных ДС". Посоветуйте какими регистрами накопления воспользоваться, чтобы правильно всё вытащить и связать ? Спасибо за ранее
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dmbarchenkov 15.12.21 15:46 Сейчас в теме
3. Lllypuk 15.12.21 15:51 Сейчас в теме
(2) 1С:Комплексная автоматизация 2 (2.4.13.282)
4. user1220551 17.12.21 23:14 Сейчас в теме
У вас все сломается об неполные оплаты. В программе нет расчетов по номенклатуре. Соответственно, В случае неполной оплаты, вам нужно либо распределять оплату равномерно на всю номенклатуру, либо по фифо, что необходимо делать постобработкой результата запроса. Для просмотра расчетов есть регистры "РасчетыСКлиентами..." "РасчетыСПоставщиками... " И такие же типовые отчеты. так же есть отчет "РасчетыСКонтрагентами" или "РасчетыСПартнерами" который смотрит на расчеты с клиентами и поставщиками одновременно. Но это даст вам только информацию об оплаченных документах, но не номенклатуре. И тут возвращаемся к началу, либо вы делаете а ля постобработку. Либо, создавать отдельный регистр "РасчетыПоНоменклатуре" и прописывать логику его заполнения. Можно найти сумму отгруженных товаров, суммы оплат по документам, потом распределить сумму оплат по сумме отгруженных. И тоже самое для приходов.
Оставьте свое сообщение

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