Прошу помощи с запросом Начинающий, скорее всего это уже спрашивали, найти не смог, потому прошу помощи профи: ВЫБРАТЬ РАЗЛИЧНЫЕ Подразделения.Ссылка, ВложенныйЗапрос.РегистраторСкладОрдер, ВложенныйЗапрос.Цена ИЗ Справочник.Подразделения КАК Подразделения ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1 ЦеныНоменклатурыКонтрагентов.Цена КАК Цена, ЦеныНоменклатурыКонтрагентов.Период КАК Период, ЦеныНоменклатурыКонтрагентов.Регистратор.СкладОрдер КАК РегистраторСкладОрдер, ЦеныНоменклатурыКонтрагентов.Номенклатура КАК Номенклатура ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов ГДЕ ЦеныНоменклатурыКонтрагентов.Номенклатура = &Номенклатура УПОРЯДОЧИТЬ ПО Период) КАК ВложенныйЗапрос ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделение Пытаюсь полуить последжнюю цену из регистра "ЦеныНоменклатурыКонтрагентов" в разрезе подразделений. Выдется лиш одна цена для одного подразделения. |
одна цена для одного подразделения и одного ПЕРИОДА упорядочить по убывания - нуна, или срезпоследних регистра |
Пример надуманные слегка, вырван из контекста. В принципе нужно перечислить все подразделения и для указанной номенклатуры показать цену если она для данного подразделения есть. |
Через срез последних делал получилось так: ВЫБРАТЬ РАЗЛИЧНЫЕ Подразделения.Ссылка, ВложенныйЗапрос.РегистраторСкладОрдер, ВложенныйЗапрос.Цена ИЗ Справочник.Подразделения КАК Подразделения ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыКонтрагентовСрезПоследних.Период КАК Период, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор.СкладОрдер КАК РегистраторСкладОрдер, ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор КАК Регистратор ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних ГДЕ ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = &Номенклатура) КАК ВложенныйЗапрос ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделение |
Вроде все верно, но при анализе точно вижу что есть цены и по другим подразделениям которые не отображаются в результате. Поэтому подозреваю ошибку |
в консоле попробуй подзапрос выполни, посмотри что он возвращает ВЫБРАТЬ ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыКонтрагентовСрезПоследних.Период КАК Период, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер КАК РегистраторСкладОрдер, ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура КАК Номенклатура, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор КАК Регистратор ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезП оследних(, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних ГДЕ ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура = &Номенклатура |
Выдает одну строку результата с последним документом по одномук из подразделений, что логично. |
Без ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделение так и должно быть |
[em]Без ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е так и должно быть[/em] Вопрос в другом: почему с [em]ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделение[/em] так быть НЕ должно? |
:) ясно, тогда поставим вопрос - как сделать ВЕРНО? |
как-то так ВЫБРАТЬ Максимум(ЦеныНоменклатурыКонтрагентовСрезПоследних.Период) как период, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер КАК РегистраторСкладОрдер поместить ДатыпоследнихЦен ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов. КАК ЦеныНоменклатурыКонтрагентовСрезПоследних где Номенкла тура = &Номенклатура сгруппировать по ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер ; выбрать ЦеныНоменклатурыКонтрагентовСрезПоследних как цена, ДатыпоследнихЦен.РегистраторСкладОрдер как подразделение ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентовСрезПоследних внутреннее соединение ДатыпоследнихЦен как ДатыпоследнихЦен по ДатыпоследнихЦен.период = ЦеныНоменклатурыКонтрагентовСрезПоследних.период и РегистраторСкладОрдер= ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер где Номенкла тура = &Номенклатура |
10-angro > Спасибо за наводку Максимум(ЦеныНоменклатурыКонтрагентовСрезПоследних.Период) как Период остальное было дело техники, все получилось |
Текущее время: 23:24. Часовой пояс GMT +3. |