К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Прошу помощи с запросом

Гость
0 - 26.11.2015 - 08:52
Начинающий, скорее всего это уже спрашивали, найти не смог, потому прошу помощи профи:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Подразделения.Ссылка,
ВложенныйЗапрос.РегистраторСкладОрдер,
ВложенныйЗапрос.Цена
ИЗ
Справочник.Подразделения КАК Подразделения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
ЦеныНоменклатурыКонтрагентов.Цена КАК Цена,
ЦеныНоменклатурыКонтрагентов.Период КАК Период,
ЦеныНоменклатурыКонтрагентов.Регистратор.СкладОрде р КАК РегистраторСкладОрдер,
ЦеныНоменклатурыКонтрагентов.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов
ГДЕ
ЦеныНоменклатурыКонтрагентов.Номенклатура = &Номенклатура

УПОРЯДОЧИТЬ ПО
Период) КАК ВложенныйЗапрос
ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е

Пытаюсь полуить последжнюю цену из регистра "ЦеныНоменклатурыКонтрагентов" в разрезе подразделений. Выдется лиш одна цена для одного подразделения.



1 - 26.11.2015 - 09:00
одна цена для одного подразделения и одного ПЕРИОДА

упорядочить по убывания - нуна, или срезпоследних регистра
Гость
2 - 26.11.2015 - 09:08
Пример надуманные слегка, вырван из контекста. В принципе нужно перечислить все подразделения и для указанной номенклатуры показать цену если она для данного подразделения есть.
Гость
3 - 26.11.2015 - 09:12
Через срез последних делал получилось так:

ВЫБРАТЬ РАЗЛИЧНЫЕ
Подразделения.Ссылка,
ВложенныйЗапрос.РегистраторСкладОрдер,
ВложенныйЗапрос.Цена
ИЗ
Справочник.Подразделения КАК Подразделения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Период КАК Период,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер КАК РегистраторСкладОрдер,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура КАК Номенклатура,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор КАК Регистратор
ИЗ
РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезП оследних(, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
ГДЕ
ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура = &Номенклатура) КАК ВложенныйЗапрос
ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е
Гость
4 - 26.11.2015 - 09:13
Вроде все верно, но при анализе точно вижу что есть цены и по другим подразделениям которые не отображаются в результате. Поэтому подозреваю ошибку
Гость
5 - 26.11.2015 - 10:05
в консоле попробуй подзапрос выполни, посмотри что он возвращает
ВЫБРАТЬ
ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Период КАК Период,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер КАК РегистраторСкладОрдер,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура КАК Номенклатура,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор КАК Регистратор
ИЗ
РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезП оследних(, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
ГДЕ
ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенкла тура = &Номенклатура
Гость
6 - 26.11.2015 - 11:38
Выдает одну строку результата с последним документом по одномук из подразделений, что логично.
Гость
7 - 26.11.2015 - 11:39
Без
ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е
так и должно быть
Гость
8 - 26.11.2015 - 11:57
Без
ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е
так и должно быть


Вопрос в другом: почему с ПО Подразделения.Ссылка = ВложенныйЗапрос.РегистраторСкладОрдер.Подразделени е так быть НЕ должно?
Гость
9 - 26.11.2015 - 12:02
:) ясно, тогда поставим вопрос - как сделать ВЕРНО?
Гость
10 - 26.11.2015 - 12:15
как-то так

ВЫБРАТЬ
Максимум(ЦеныНоменклатурыКонтрагентовСрезПоследних .Период) как период,
ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер КАК РегистраторСкладОрдер
поместить ДатыпоследнихЦен
ИЗ
РегистрСведений.ЦеныНоменклатурыКонтрагентов. КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
где Номенкла тура = &Номенклатура
сгруппировать по ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер
;
выбрать
ЦеныНоменклатурыКонтрагентовСрезПоследних как цена,
ДатыпоследнихЦен.РегистраторСкладОрдер как подразделение
ИЗ
РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
внутреннее соединение ДатыпоследнихЦен как ДатыпоследнихЦен
по ДатыпоследнихЦен.период = ЦеныНоменклатурыКонтрагентовСрезПоследних.период
и РегистраторСкладОрдер= ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистра тор.СкладОрдер
где Номенкла тура = &Номенклатура
Гость
11 - 26.11.2015 - 13:24
10-angro >
Спасибо за наводку Максимум(ЦеныНоменклатурыКонтрагентовСрезПоследних .Период) как Период
остальное было дело техники, все получилось


К списку вопросов






Copyright ©, Все права защищены