|
Вложенный запрос по регистру сведений. | ☑ | ||
---|---|---|---|---|
0
nasta_nasta
27.06.17
✎
11:34
|
Всем добрый день.
Не кидайте, пожалуйста тапками, недавно перешла с 7.7 на 8ку, с отчетом беда. Мучаюсь уже 2 недели, перечитала все темы вроде и так пробовала и так, но не получается. ((( Есть РС "ЦеныПоставщиков", периодичность день. Нужно выбрать обороты по регистру "ПартииТоваровНаСкладах", и по этой номенклатуре на дату документа поступления выбрать данные из РС "ЦеныПоставщиков". В отчет нужно вывести группировки Документ поступления, Номенклатура - из "ПартииТоваровНаСкладах", и по этой номенклатуре данные из РС. У меня получилось сделать двумя запросами, но только с группировкой по Регистратору по РС, а он не нужен... Т.е. я не могу соединить эти два запроса по дате и номенклатуре - пробовала и СКД, и запросом. Подскажите пожалуйста, что я делаю не так. Вот текст запроса: ВЫБРАТЬ ПартииТоваровНаСкладахОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент КАК Контрагент, СУММА(ПартииТоваровНаСкладахОбороты.КоличествоПриход) КАК КоличествоОборот, СУММА(ПартииТоваровНаСкладахОбороты.СтоимостьПриход) КАК СтоимостьОборот, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК Закупка, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход = 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК ДопРасходы, ПартииТоваровНаСкладахОбороты.ДокументОприходования КАК ДокументЗакупки, ПартииТоваровНаСкладахОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОбороты.Регистратор, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата КАК ДатаПрихода {ВЫБРАТЬ Номенклатура.*, Контрагент, КоличествоОборот, СтоимостьОборот, Закупка, ДопРасходы, ДокументЗакупки.*, Склад.*, Регистратор.*, ДатаПрихода, ВложенныйЗапрос.ЦенаПоставщика, ВложенныйЗапрос.КонтрольныеЗнаки, ВложенныйЗапрос.ПошлинаСумма, ВложенныйЗапрос.ТранспортСумма, ВложенныйЗапрос.ОптоваяНадбавкаСумма, ВложенныйЗапрос.Себестоимость, ВложенныйЗапрос.СебестоимостьВал} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНачала, &ДатаКонца, Регистратор, ) КАК ПартииТоваровНаСкладахОбороты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныПоставщиковСрезПоследних.Период КАК Период, ЦеныПоставщиковСрезПоследних.Регистратор КАК Регистратор, ЦеныПоставщиковСрезПоследних.Контрагент КАК Контрагент, ЦеныПоставщиковСрезПоследних.Номенклатура КАК Номенклатура, СРЕДНЕЕ(ЦеныПоставщиковСрезПоследних.ЦенаПоставщика) КАК ЦенаПоставщика, СУММА(ЦеныПоставщиковСрезПоследних.КонтрольныеЗнаки) КАК КонтрольныеЗнаки, СУММА(ЦеныПоставщиковСрезПоследних.ПошлинаСумма) КАК ПошлинаСумма, СУММА(ЦеныПоставщиковСрезПоследних.ТранспортСумма) КАК ТранспортСумма, СУММА(ЦеныПоставщиковСрезПоследних.ОптоваяНадбавкаСумма) КАК ОптоваяНадбавкаСумма, СУММА(ЦеныПоставщиковСрезПоследних.Себестоимость) КАК Себестоимость, СУММА(ЦеныПоставщиковСрезПоследних.СебестоимостьВал) КАК СебестоимостьВал {ВЫБРАТЬ Период, Регистратор.*, Контрагент.*, Номенклатура.*, ЦенаПоставщика, КонтрольныеЗнаки, ПошлинаСумма, ТранспортСумма, ОптоваяНадбавкаСумма, Себестоимость, СебестоимостьВал} ИЗ РегистрСведений.ЦеныПоставщиков.СрезПоследних(&ДатаКонца, ) КАК ЦеныПоставщиковСрезПоследних {ГДЕ ЦеныПоставщиковСрезПоследних.Период, ЦеныПоставщиковСрезПоследних.Регистратор.*, ЦеныПоставщиковСрезПоследних.Контрагент.*, ЦеныПоставщиковСрезПоследних.Номенклатура.*, ЦеныПоставщиковСрезПоследних.ЦенаПоставщика, ЦеныПоставщиковСрезПоследних.КонтрольныеЗнаки, ЦеныПоставщиковСрезПоследних.ПошлинаСумма, ЦеныПоставщиковСрезПоследних.ТранспортСумма, ЦеныПоставщиковСрезПоследних.ОптоваяНадбавкаСумма, ЦеныПоставщиковСрезПоследних.Себестоимость, ЦеныПоставщиковСрезПоследних.СебестоимостьВал} СГРУППИРОВАТЬ ПО ЦеныПоставщиковСрезПоследних.Регистратор, ЦеныПоставщиковСрезПоследних.Номенклатура, ЦеныПоставщиковСрезПоследних.Контрагент, ЦеныПоставщиковСрезПоследних.Период) КАК ВложенныйЗапрос ПО ПартииТоваровНаСкладахОбороты.Номенклатура = ВложенныйЗапрос.Номенклатура И ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата >= ВложенныйЗапрос.Период {ГДЕ ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент.* КАК Контрагент, ПартииТоваровНаСкладахОбороты.Номенклатура.*, ПартииТоваровНаСкладахОбороты.ДокументОприходования.*, ПартииТоваровНаСкладахОбороты.Склад.*, ПартииТоваровНаСкладахОбороты.Регистратор.*} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОбороты.Склад, ПартииТоваровНаСкладахОбороты.ДокументОприходования, ПартииТоваровНаСкладахОбороты.Номенклатура, ПартииТоваровНаСкладахОбороты.Регистратор, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата {УПОРЯДОЧИТЬ ПО Контрагент, Номенклатура.*, ДокументЗакупки.*, ДопРасходы, КоличествоОборот, СтоимостьОборот, Закупка, Склад.*, Регистратор.*, ДатаПрихода} ИТОГИ СУММА(КоличествоОборот), СУММА(СтоимостьОборот), СУММА(Закупка), СУММА(ДопРасходы) ПО Контрагент, ДокументЗакупки, Номенклатура, Склад {ИТОГИ ПО Контрагент, Номенклатура.*, ДокументЗакупки.*, КоличествоОборот, СтоимостьОборот, Закупка, ДопРасходы, Склад.*, ДопРасходы, Регистратор.*, ДатаПрихода, ВложенныйЗапрос.КонтрольныеЗнаки, ВложенныйЗапрос.ПошлинаСумма, ВложенныйЗапрос.ТранспортСумма, ВложенныйЗапрос.ОптоваяНадбавкаСумма, ВложенныйЗапрос.Себестоимость, ВложенныйЗапрос.СебестоимостьВал, ВложенныйЗапрос.ЦенаПоставщика} |
|||
1
HaeMHuK
27.06.17
✎
11:49
|
Неделю назад писал похожий отчет.
Вот подсказка: http://catalog.mista.ru/public/77568/ |
|||
2
Peltzer
27.06.17
✎
11:50
|
ВЫБРАТЬ * ИЗ(ВЫБРАТЬ
МАКСИМУМ(Цены.Период), Партии.ДеньОприходования, Партии.Номенклатура ИЗ ( ВЫБРАТЬ НАЧАЛОПЕРИОДА(Партии.ДокументОприходования,ДЕНЬ) КАК ДеньОприходования, Партии.Номенклатура, Цены.Период ИЗ ПартииТоваровНаСкладахОбороты КАК Партии ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВЫБРАТЬ Цены.Период,Цены.Номенклатура ИЗ ИЗ РС.ЦеныПоставщиков ПО Цены.Период <= ДеньОприходования И Цены.Номенклатура = Партии.Номенклатура) как ЦеныДоПрихода СГРУППИРОВАТЬ ПО ДеньОприходования, Номенклатура ) КАК СрезПоследнихЦен ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков Так ты получишь срез последних цен до документа поступления - далее соединяй с партиями |
|||
3
nasta_nasta
27.06.17
✎
11:52
|
(1) Спасибо. Да, видела эту статью, сделала как в ней - если соединяю по номенклатуре и по дате - не работает, если только по номенклатуре - то работает, но данные на конец периода соответственно...
|
|||
4
catena
27.06.17
✎
11:54
|
(3)Значит не правильно сделала, показывай.
|
|||
5
nasta_nasta
27.06.17
✎
12:14
|
(4) Вот.
ВЫБРАТЬ ПартииТоваровНаСкладахОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОбороты.Склад КАК Склад, ПартииТоваровНаСкладахОбороты.ДокументОприходования КАК ДокументОприходования, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент КАК Контрагент, СУММА(ПартииТоваровНаСкладахОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОбороты.СтоимостьПриход) КАК СтоимостьПриход, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата КАК ДатаПрих, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход = 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК ДопРасходы, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК Закупка, СРЕДНЕЕ(ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ВЫРАЗИТЬ(ПартииТоваровНаСкладахОбороты.СтоимостьПриход / ПартииТоваровНаСкладахОбороты.КоличествоПриход КАК ЧИСЛО(10, 2)) КОНЕЦ) КАК ЦенаПоступления {ВЫБРАТЬ Номенклатура.*, Склад.*, ДокументОприходования.*, Контрагент.*, КоличествоПриход, СтоимостьПриход, ДатаПрих, ДопРасходы, Закупка, ЦенаПоступления} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК ПартииТоваровНаСкладахОбороты {ГДЕ ПартииТоваровНаСкладахОбороты.Номенклатура.*, ПартииТоваровНаСкладахОбороты.Склад.*, ПартииТоваровНаСкладахОбороты.ДокументОприходования.*, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент.*, ПартииТоваровНаСкладахОбороты.КоличествоПриход, ПартииТоваровНаСкладахОбороты.СтоимостьПриход, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата, (ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход = 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК ДопРасходы, (ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ПартииТоваровНаСкладахОбороты.СтоимостьПриход КОНЕЦ) КАК Закупка, (ВЫБОР КОГДА ПартииТоваровНаСкладахОбороты.КоличествоПриход > 0 ТОГДА ВЫРАЗИТЬ(ПартииТоваровНаСкладахОбороты.СтоимостьПриход / ПартииТоваровНаСкладахОбороты.КоличествоПриход КАК ЧИСЛО(10, 2)) КОНЕЦ) КАК ЦенаПоступления, ПартииТоваровНаСкладахОбороты.Период} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОбороты.ДокументОприходования.Контрагент, ПартииТоваровНаСкладахОбороты.ДокументОприходования, ПартииТоваровНаСкладахОбороты.Номенклатура, ПартииТоваровНаСкладахОбороты.Склад, ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата УПОРЯДОЧИТЬ ПО Контрагент, ДокументОприходования, Номенклатура |
|||
6
catena
27.06.17
✎
12:21
|
(5)Где тут цены из РС?
|
|||
7
catena
27.06.17
✎
12:21
|
И чисти запрос от построителя, когда кидаешь, невозможно ж читать.
|
|||
8
nasta_nasta
27.06.17
✎
14:18
|
(6) ой, не сообразила вот запрос по РС
ВЫБРАТЬ ЦеныПоставщиковСрезПоследних.Период КАК Период, ЦеныПоставщиковСрезПоследних.Контрагент КАК Контрагент, ЦеныПоставщиковСрезПоследних.Номенклатура КАК Номенклатура, СРЕДНЕЕ(ЦеныПоставщиковСрезПоследних.ЦенаПоставщика) КАК ЦенаПоставщика, СУММА(ЦеныПоставщиковСрезПоследних.КонтрольныеЗнаки) КАК КонтрольныеЗнаки, СУММА(ЦеныПоставщиковСрезПоследних.ПошлинаСумма) КАК ПошлинаСумма, СУММА(ЦеныПоставщиковСрезПоследних.ТранспортСумма) КАК ТранспортСумма, СУММА(ЦеныПоставщиковСрезПоследних.ОптоваяНадбавкаСумма) КАК ОптоваяНадбавкаСумма, СУММА(ЦеныПоставщиковСрезПоследних.Себестоимость) КАК Себестоимость, СУММА(ЦеныПоставщиковСрезПоследних.СебестоимостьВал) КАК СебестоимостьВал, ЦеныПоставщиковСрезПоследних.Регистратор {ВЫБРАТЬ Период, Контрагент.*, Номенклатура.*, ЦенаПоставщика, КонтрольныеЗнаки, ПошлинаСумма, ТранспортСумма, ОптоваяНадбавкаСумма, Себестоимость, СебестоимостьВал} ИЗ РегистрСведений.ЦеныПоставщиков.СрезПоследних(&ДатаПрих, ) КАК ЦеныПоставщиковСрезПоследних {ГДЕ ЦеныПоставщиковСрезПоследних.Период, ЦеныПоставщиковСрезПоследних.Контрагент.*, ЦеныПоставщиковСрезПоследних.Номенклатура.*} СГРУППИРОВАТЬ ПО ЦеныПоставщиковСрезПоследних.Контрагент, ЦеныПоставщиковСрезПоследних.Номенклатура, ЦеныПоставщиковСрезПоследних.Период, ЦеныПоставщиковСрезПоследних.Регистратор УПОРЯДОЧИТЬ ПО Контрагент, Номенклатура Связь по ПартииТоваров - Цены: номенклатура-номенклатура и ДатаПрих - Период не могу понять как скрин прикрепить |
|||
9
nasta_nasta
27.06.17
✎
14:22
|
(7) прошу прощения. форум читаю давно, а вот пишу впервые. не знаю всех нюансов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |