Вывод розничной цены в СКД для 1С:Розницы

1. ShuSU 63 10.09.21 08:55 Сейчас в теме
Всем привет. Помогите разобраться с СКД. сделал отчет, нужно в вытянуть Розничную цену и подставить в поле в макете.
не получается сделать связь по ВидуЦены магазина.
Прикрепленные файлы:
Ведомость_2_2.erf
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
15. user952544 11.09.21 17:03 Сейчас в теме +0.03 $m
(14)
1. Было бы неплохо увидеть как именно ругается. Возможно регистр сведений ЦеныНоменклатуры просто непериодический?
2. Не получил ответа на вопрос, как связаны магазин и видцены. В дальнейшем буду исходить из того, что &ВидЦены задается параметром и является одним и тем же для всех магазинов. Кроме того, это немного упростит запрос.
3. Было бы неплохо сначала разобраться с работой более простого запроса, использующего СрезПоследних, даже если его данные не вполне достоверны.
4. Попробуем тогда написать запрос, получающий розничные цены на дату документа поступления. Поскольку структура регистра сведений ЦеныНоменклатуры не вполне известна, предполагаю что дата установки цены находится в поле Период. Если поле называется иначе, необходимо заменить поле Период в тексте запроса на нужное.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
ДатаПрихода
;

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

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
ДатаПрихода
;

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

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Ссылка,
ПоступлениеТоваровТовары.НомерСтроки
запрос может быть немного сложен для новичка, попробую прокомментировать. Сначала создается временная таблица ТабДатыЦен, определяющая ближайшие даты установки цен номенклатуры в разрезе дат поступления и номенклатуры. Далее используя таблицу ТабДатыЦен получаем цены, соответствующие найденным датам и помещаем в таблицу ТабЦены. И последним запросом получаем уже итоговую таблицу для СКД.
29. ShuSU 63 15.09.21 00:25 Сейчас в теме +0.11 $m
Всем спасибо. Помогли разобраться с СКД. Особая благодарность user952544, за то что показал как формировать Запрос с обработкой полученных данных.
Итог полученного результата, который меня полностью удовлетворил, прилагаю, для ознакомления.
Прикрепленные файлы:
Ведомость_2_9.erf
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user790708 10.09.21 10:00 Сейчас в теме +0.01 $m
Схему СКД выложите, что б можно было посмотреть что с чем и как вы связываете.
3. ShuSU 63 10.09.21 10:02 Сейчас в теме
(2)файл прикреплен в теме
Прикрепленные файлы:
Ведомость_2_2.erf
4. user790708 10.09.21 10:12 Сейчас в теме +0.02 $m
(3)А где у вас там связь по виду цен?
У вас идет связь для Цена1 по номенклатуре и периоду:
ПО МаксЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура
И МаксЦен.Дата = ЦеныНоменклатуры.Период

Посмотрите есть ли в РС запись на дату Периода для выбранной номенклатуры, скорее всего дата и Период РС не совпадают
5. ShuSU 63 10.09.21 10:20 Сейчас в теме
(4)Я уже весь мозг сломал. уже и так и этак, получается что при указание вручную видацены, но при этом рубит документы. можете помочь поправить. что вы розничная вставала, при выборе магазина.
6. laperuz 47 10.09.21 10:27 Сейчас в теме +0.01 $m
(5) Гуглите "Срез последних на каждую дату", там где про 2 набора данных. Вряд ли у вас каждый день цена устанавливается, вам нужно получать на каждую дату поступления актуальную цену, это в СКД делается через 2 набора.
9. ShuSU 63 10.09.21 10:32 Сейчас в теме
(6)не через срез не получается, ни через ценуноменклатуры. Еще и в отбор улетает по цене. Первый мой отчет в СКБ. уже глаза замылились. Мне бы уже рабочий пример, что бы понять где я уперся в стену.
8. user790708 10.09.21 10:31 Сейчас в теме
(5)(4)Я не уверен, что понимаю вашу задачу, но возможно вам надо почитать на тему "1с запрос цены на дату документа"
https://infostart.ru/1c/articles/77568/
https://forum.mista.ru/topic.php?id=502008
https://1clancer.ru/article/poluchenie_v_zaprose_tsen_na_datu_dokumenta_802
12. ShuSU 63 10.09.21 11:32 Сейчас в теме
(8) Вид блока в отчете должен быть идентичен стандартному ПФ_MXL_ПоступлениеТоваров
Прикрепленные файлы:
7. пользователь 10.09.21 10:31
Сообщение было скрыто модератором.
...
10. ShuSU 63 10.09.21 10:37 Сейчас в теме
(7) Спасибо за наводку. Буду перебирать варианты.
11. ShuSU 63 10.09.21 11:26 Сейчас в теме
Хорошо. Опять затык. Как из НабораДанных1 перенести в макет Кол. Цена, Сумма, которых нет в НабореДанных2. при формирование ссылается что нет полей.
Прикрепленные файлы:
Ведомость_2_3.erf
13. user952544 10.09.21 16:57 Сейчас в теме +0.02 $m
Непонятно, как связано поле ВидЦены с магазином или правилом ценообразования. Если ВидЦены и есть правило ценообразования, то запрос будет примерно такой
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Ссылка КАК Ссылка,
	ПоступлениеТоваровТовары.НомерСтроки КАК НомерСтроки,
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Количество КАК Количество,
	ПоступлениеТоваровТовары.Цена КАК Цена,
	ПоступлениеТоваровТовары.Сумма КАК Сумма,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1
ПОМЕСТИТЬ ТабПост
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОкончания, ) КАК ЦеныНоменклатурыСрезПоследних
		ПО ПоступлениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
			И ПоступлениеТоваровТовары.Ссылка.Магазин.ПравилоЦенообразования = ЦеныНоменклатурыСрезПоследних.ВидЦены

ИНДЕКСИРОВАТЬ ПО
	Номенклатура
Показать

при этом розничные цены будут на конец периода. Двух источников данных не нужно.
14. ShuSU 63 11.09.21 06:10 Сейчас в теме
(13)

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОкончания, ) КАК ЦеныНоменклатурыСрезПоследних

Ругается на срез при формирование. На эту ошибку сто раз уже натыкался.

Плюс из за того что помещена в временную таблицу, остальные реквизиты не находит макет

Посути мне надо цена розницы, созданная на основание поступление, а не влюбой другой момент. пытался через связи ПоступлениеТовара, УстановкаЦены, но тоже, то нелогические связи то за пределы массива.
15. user952544 11.09.21 17:03 Сейчас в теме +0.03 $m
(14)
1. Было бы неплохо увидеть как именно ругается. Возможно регистр сведений ЦеныНоменклатуры просто непериодический?
2. Не получил ответа на вопрос, как связаны магазин и видцены. В дальнейшем буду исходить из того, что &ВидЦены задается параметром и является одним и тем же для всех магазинов. Кроме того, это немного упростит запрос.
3. Было бы неплохо сначала разобраться с работой более простого запроса, использующего СрезПоследних, даже если его данные не вполне достоверны.
4. Попробуем тогда написать запрос, получающий розничные цены на дату документа поступления. Поскольку структура регистра сведений ЦеныНоменклатуры не вполне известна, предполагаю что дата установки цены находится в поле Период. Если поле называется иначе, необходимо заменить поле Период в тексте запроса на нужное.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
ДатаПрихода
;

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

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Номенклатура,
ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
ДатаПрихода
;

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

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Ссылка,
ПоступлениеТоваровТовары.НомерСтроки
запрос может быть немного сложен для новичка, попробую прокомментировать. Сначала создается временная таблица ТабДатыЦен, определяющая ближайшие даты установки цен номенклатуры в разрезе дат поступления и номенклатуры. Далее используя таблицу ТабДатыЦен получаем цены, соответствующие найденным датам и помещаем в таблицу ТабЦены. И последним запросом получаем уже итоговую таблицу для СКД.
16. ShuSU 63 11.09.21 18:07 Сейчас в теме
(15)
(15)
Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДатыЦен КАК ТабДатыЦен
ПО (ТабДатыЦен.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
И (ТабДатыЦен.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатурыВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО (ЦеныНоменклатуры.период = ТабДатыЦен.ДатаЦены)
И (ТабДатыЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура)
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)


РЕСПЕКТ!!! Только во втором запросе опечатка )))
17. ShuSU 63 11.09.21 18:56 Сейчас в теме
(15)
простите за наглость. А не могли бы подсказать как вытянуть данные ПоступлениеТоваровТоварыПоДаннымПоставщика.Количество, в случае если есть расхождение, если нет то заполнять количеством из ПоступлениеТоваровТовары.Количество. ЕЩЕ касяк, в моем варианте, если в по данным поставщика больше строк чем по факту, то не все входят в отчет.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
ПОМЕСТИТЬ ТабЦены
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДатыЦен КАК ТабДатыЦен
		ПО (ТабДатыЦен.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И (ТабДатыЦен.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Период = ТабДатыЦен.ДатаЦены)
			И (ТабДатыЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура)
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

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

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Ссылка,
	ПоступлениеТоваровТовары.НомерСтроки,
	ПоступлениеТоваровТоварыПоДаннымПоставщика.Количество

УПОРЯДОЧИТЬ ПО
	НомерСтроки
Показать
18. ShuSU 63 11.09.21 19:23 Сейчас в теме
(17)
Прикрепленные файлы:
19. user952544 11.09.21 19:44 Сейчас в теме +0.05 $m
ВЫБРАТЬ
Запр.Ссылка КАК Ссылка,
Запр.Номенклатура КАК Номенклатура,
МАКСИМУМ(Запр.НомерСтроки) КАК НомерСтроки,
СУММА(Запр.Количество) КАК Количество,
СУММА(Запр.Количество1) КАК Количество1,
СУММА(Запр.Сумма) КАК Сумма,
СУММА(Запр.Сумма1) КАК Сумма1,
МАКСИМУМ(Запр.Магазин) КАК Магазин,
ВЫБОР КОГДА СУММА(Запр.Количество)=0 ТОГДА 0 ИНАЧЕ СУММА(Запр.Сумма)/СУММА(Запр.Количество) конец КАК Цена,
ВЫБОР КОГДА СУММА(Запр.Количество)=0 ТОГДА 0 ИНАЧЕ СУММА(Запр.Сумма1)/СУММА(Запр.Количество) конец КАК Цена1,
МАКСИМУМ(Запр.Дата) КАК Дата
ИЗ
(ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПоступлениеТоваровТовары.Ссылка КАК Ссылка,
ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
СУММА(ПоступлениеТоваровТовары.Количество) КАК Количество,
МАКСИМУМ(ПоступлениеТоваровТовары.НомерСтроки) КАК НомерСтроки,
СУММА(ПоступлениеТоваровТовары.Сумма) КАК Сумма,
МАКСИМУМ(ПоступлениеТоваровТовары.Ссылка.Магазин) КАК Магазин,
МАКСИМУМ(ПоступлениеТоваровТовары.Ссылка.Дата) КАК Дата,
// МАКСИМУМ(ТабЦены.Цена) КАК Цена1,
МАКСИМУМ(ТабЦены.Цена)*СУММА(ПоступлениеТоваровТовары.Количество) КАК Сумма1,
0 КАК Количество1
ИЗ
Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
ЛЕВОЕ СОЕДИНЕНИЕ ТабЦены КАК ТабЦены
ПО (ТабЦены.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
И ПоступлениеТоваровТовары.Номенклатура = ТабЦены.Номенклатура
ГДЕ
ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
ПоступлениеТоваровТовары.Ссылка,
ПоступлениеТоваровТовары.Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыПоДаннымПоставщика.Ссылка КАК Ссылка,
ТоварыПоДаннымПоставщика.Номенклатура КАК Номенклатура,
0 КАК Количество,
0 КАК НомерСтроки,
0 КАК Сумма,
МАКСИМУМ(ТоварыПоДаннымПоставщика.Ссылка.Магазин) КАК Магазин,
МАКСИМУМ(ТоварыПоДаннымПоставщика.Ссылка.Дата) КАК Дата,
// 0 КАК Цена1,
0 КАК Сумма1,
СУММА(ТоварыПоДаннымПоставщика.Количество) КАК Количество1
ИЗ
Документ.ПоступлениеТоваров.ТоварыПоДаннымПоставщика КАК ТоварыПоДаннымПоставщика
ГДЕ
ТоварыПоДаннымПоставщика.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
И ТоварыПоДаннымПоставщика.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
ТоварыПоДаннымПоставщика.Ссылка,
ТоварыПоДаннымПоставщика.Номенклатура) Запр
СГРУППИРОВАТЬ ПО Запр.Номенклатура,Запр.Ссылка
///////////////////
В таком случае лучше использовать ОБЪЕДИНИТЬ ВСЕ, и после использования обернуть в подзапрос и заново сгруппировать. Писал все прямо в браузере, опечаток может быть больше
20. ShuSU 63 11.09.21 20:55 Сейчас в теме
(19)
вы мастер.
я через конструктор все сначала, а потом руками правлю.
Можно ли с вами связаться, если вы берете заказы. А то поставили задачу с отчетами, в котором я ноль с единичкой. Пока все тонкости с СКД я обойду.
21. ShuSU 63 12.09.21 00:04 Сейчас в теме
(19)
ТабЦены

не находит, а в временную таблицу только в основном запросе можно ставить
22. user952544 12.09.21 06:24 Сейчас в теме +0.03 $m
(21)Добавь два верхних запроса по формированию временных таблиц из (15), их просто не писал, они не меняются
(20)Не, красить заборы за деньги и для развлечения две больших разницы. Деньги я зарабатываю в другом месте здесь чисто для фана
23. ShuSU 63 12.09.21 06:36 Сейчас в теме
(22)
два верхних запроса по формированию временных таблиц из (15), их просто не писал, они не меняются
(20)Не, красить заборы за деньги

Пробывал добавить, я в логике запутался. Спасибо за ответы ваши. Напрямую хотел бы вам вопросы задавать.
24. ShuSU 63 12.09.21 07:03 Сейчас в теме
(22) При такой отработки:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
ПОМЕСТИТЬ ТабЦены
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДатыЦен КАК ТабДатыЦен
		ПО (ТабДатыЦен.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И (ТабДатыЦен.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Период = ТабДатыЦен.ДатаЦены)
			И (ТабДатыЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура)
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

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

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

УПОРЯДОЧИТЬ ПО
	НомерСтроки
Показать

Получается что цены розницы не обходит. И еще в итоге СуммаЗакупи должна формироваться от КолПоДокументу*ЦенуЗакуп. А СуммаРозницы от КолПоФакту*ЦенуРозници. Соответственно если расхождения нету КолПоФакту должен быть идентичен КолПоДокументу
Прикрепленные файлы:
25. user952544 13.09.21 09:09 Сейчас в теме +0.01 $m
1.Для вывода цен розницы надо выбрать на закладке параметров ВидЦены. Или наконец определиться со связью вида цены в регистре цен с магазином. Но тогда надо будет доделать запрос.
2. КолПоДокументу - это с ТоварыПоДаннымПоставщика? А там цена в реквизитах табличной части есть? И если нет, то что с товарами, которых не в табличной части Товары?
26. ShuSU 63 13.09.21 10:33 Сейчас в теме
(25) ВидЦены через условие подцепляю. Глаза замылены, не увидел. с розницей все ок сейчас:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
ПОМЕСТИТЬ ТабЦены
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДатыЦен КАК ТабДатыЦен
		ПО (ТабДатыЦен.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И (ТабДатыЦен.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Период = ТабДатыЦен.ДатаЦены)
			И (ТабДатыЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура)
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания
	И ЦеныНоменклатуры.ВидЦены = &ВидЦены

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

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

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

УПОРЯДОЧИТЬ ПО
	НомерСтроки
Показать


В ТоварыПоДаннымПоставщика все те же реквезиты что и в ПоступлениеТоваровТовары. Цена есть. ))
27. ShuSU 63 13.09.21 20:38 Сейчас в теме
28. ShuSU 63 14.09.21 04:43 Сейчас в теме
(27)
Пока ждал отклика по заявке и ответа в форуме сам поправил все как мне надо
если кому то пригодиться:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ДатаЦены
ПОМЕСТИТЬ ТабДатыЦен
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И ПоступлениеТоваровТовары.Ссылка.Дата >= ЦеныНоменклатуры.Период
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата КАК ДатаПрихода,
	МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена,
	ПоступлениеТоваровТовары.Ссылка.ЕстьРасхождения КАК ЕстьРасхождения
ПОМЕСТИТЬ ТабЦены
ИЗ
	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДатыЦен КАК ТабДатыЦен
		ПО (ТабДатыЦен.Номенклатура = ПоступлениеТоваровТовары.Номенклатура)
			И (ТабДатыЦен.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ЦеныНоменклатуры.Период = ТабДатыЦен.ДатаЦены)
			И (ТабДатыЦен.Номенклатура = ЦеныНоменклатуры.Номенклатура)
			И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)
ГДЕ
	ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
	И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания
	И ЦеныНоменклатуры.ВидЦены = &ВидЦены

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровТовары.Номенклатура,
	ПоступлениеТоваровТовары.Ссылка.Дата,
	ПоступлениеТоваровТовары.Ссылка.ЕстьРасхождения

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	ДатаПрихода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Запр.Ссылка КАК Ссылка,
	Запр.Номенклатура КАК Номенклатура,
	МАКСИМУМ(Запр.НомерСтроки) КАК НомерСтроки,
	СУММА(Запр.Количество) КАК Количество,
	СУММА(Запр.Количество1) КАК Количество1,
	СУММА(Запр.Сумма) КАК Сумма,
	СУММА(Запр.Сумма1) КАК Сумма1,
	МАКСИМУМ(Запр.Магазин) КАК Магазин,
	ВЫБОР
		КОГДА СУММА(Запр.Количество1) = 0
				И Запр.Ссылка.ЕстьРасхождения = ИСТИНА
			ТОГДА 0
		ИНАЧЕ СУММА(Запр.Сумма) / СУММА(Запр.Количество1)
	КОНЕЦ КАК Цена,
	ВЫБОР
		КОГДА СУММА(Запр.Количество) = 0
			ТОГДА 0
		ИНАЧЕ СУММА(Запр.Сумма1) / СУММА(Запр.Количество)
	КОНЕЦ КАК Цена1,
	МАКСИМУМ(Запр.Дата) КАК Дата
ИЗ
	(ВЫБРАТЬ
		ПоступлениеТоваровТовары.Ссылка КАК Ссылка,
		ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,
		СУММА(ПоступлениеТоваровТовары.Количество) КАК Количество,
		МАКСИМУМ(ПоступлениеТоваровТовары.НомерСтроки) КАК НомерСтроки,
		СУММА(ВЫБОР
				КОГДА ТабЦены.ЕстьРасхождения = ИСТИНА
					ТОГДА 0
				ИНАЧЕ ПоступлениеТоваровТовары.Сумма
			КОНЕЦ) КАК Сумма,
		МАКСИМУМ(ПоступлениеТоваровТовары.Ссылка.Магазин) КАК Магазин,
		МАКСИМУМ(ПоступлениеТоваровТовары.Ссылка.Дата) КАК Дата,
		МАКСИМУМ(ТабЦены.Цена) * СУММА(ПоступлениеТоваровТовары.Количество) КАК Сумма1,
		ВЫБОР
			КОГДА ТабЦены.ЕстьРасхождения = ЛОЖЬ
				ТОГДА ПоступлениеТоваровТовары.Количество
			ИНАЧЕ 0
		КОНЕЦ КАК Количество1
	ИЗ
		Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
			ЛЕВОЕ СОЕДИНЕНИЕ ТабЦены КАК ТабЦены
			ПО (ТабЦены.ДатаПрихода = ПоступлениеТоваровТовары.Ссылка.Дата)
				И ПоступлениеТоваровТовары.Номенклатура = ТабЦены.Номенклатура
	ГДЕ
		ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
		И ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания
	
	СГРУППИРОВАТЬ ПО
		ПоступлениеТоваровТовары.Ссылка,
		ПоступлениеТоваровТовары.Номенклатура,
		ВЫБОР
			КОГДА ТабЦены.ЕстьРасхождения = ЛОЖЬ
				ТОГДА ПоступлениеТоваровТовары.Количество
			ИНАЧЕ 0
		КОНЕЦ
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ТоварыПоДаннымПоставщика.Ссылка,
		ТоварыПоДаннымПоставщика.Номенклатура,
		0,
		0,
		ТоварыПоДаннымПоставщика.Сумма,
		МАКСИМУМ(ТоварыПоДаннымПоставщика.Ссылка.Магазин),
		МАКСИМУМ(ТоварыПоДаннымПоставщика.Ссылка.Дата),
		0,
		СУММА(ВЫБОР
				КОГДА ТабЦены.ЕстьРасхождения = ИСТИНА
					ТОГДА ТоварыПоДаннымПоставщика.Количество
				ИНАЧЕ 0
			КОНЕЦ)
	ИЗ
		Документ.ПоступлениеТоваров.ТоварыПоДаннымПоставщика КАК ТоварыПоДаннымПоставщика,
		ТабЦены КАК ТабЦены
	ГДЕ
		ТоварыПоДаннымПоставщика.Ссылка.ДатаВходящегоДокумента >= &ДатаНачала
		И ТоварыПоДаннымПоставщика.Ссылка.ДатаВходящегоДокумента <= &ДатаОкончания
	
	СГРУППИРОВАТЬ ПО
		ТоварыПоДаннымПоставщика.Ссылка,
		ТоварыПоДаннымПоставщика.Номенклатура,
		ТоварыПоДаннымПоставщика.Сумма) КАК Запр

СГРУППИРОВАТЬ ПО
	Запр.Номенклатура,
	Запр.Ссылка,
	Запр.Ссылка.ЕстьРасхождения

УПОРЯДОЧИТЬ ПО
	НомерСтроки
Показать
29. ShuSU 63 15.09.21 00:25 Сейчас в теме +0.11 $m
Всем спасибо. Помогли разобраться с СКД. Особая благодарность user952544, за то что показал как формировать Запрос с обработкой полученных данных.
Итог полученного результата, который меня полностью удовлетворил, прилагаю, для ознакомления.
Прикрепленные файлы:
Ведомость_2_9.erf
Оставьте свое сообщение

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