1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Cyrix 12.10.20 - 19:05 | Всех приветствую!
Помогите выбрать номенклатуру с двумя видами цен. Пишу запрос, но получаю ничеВо. И ничиВа получаю много. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦеныНоменклатуры.Номенклатура.Код КАК Код, | ЦеныНоменклатуры.Номенклатура.Наименование КАК Наименование, | ЦеныНоменклатуры.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЦеныНоменклатуры.Номенклатура.Родитель КАК НоменклатураРодитель, | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.ВидЦен КАК ВидЦен |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.ВидЦен.Код = &УчетнаяЦенаШГ | И ЦеныНоменклатуры.ВидЦен.Код = &Розничная"; УчетнаяЦенаШГ = Справочники.ВидыЦен.НайтиПоКоду("УФ-000003").Код; Розничная = Справочники.ВидыЦен.НайтиПоКоду("UN-000001").Код; Запрос.Параметры.Вставить("УчетнаяЦенаШГ",УчетнаяЦенаШГ); Запрос.Параметры.Вставить("Розничная",Розничная); РезультатЗапроса = Запрос.Выполнить(); https://ibb.co/xhjc39C | ||
Prog111 1 - 12.10.20 - 19:12 | (0) Ну смотри - ты выбираешь записи регистра сведений, и пытаешься, чтобы у одной записи выполнялось сразу 2 условия - чтобы это был вид цены "УчетнаяЦенаШГ" и "Розничная". Но так не бывает у одной записи. | ||
Cyrix 2 - 12.10.20 - 19:12 | если только ЦеныНоменклатуры.ВидЦен.Код = &УчетнаяЦенаШГ
или только ЦеныНоменклатуры.ВидЦен.Код = &Розничная"
то всё работает, но мне надо обе колонки | ||
Cyrix 3 - 12.10.20 - 19:13 | (1) Как правильно сделать? Вложенный запрос? | ||
RomanYS 4 - 12.10.20 - 19:14 | (3) соединение | ||
Cyrix 5 - 12.10.20 - 19:15 | (4) чего с чем? | ||
Cyrix 6 - 12.10.20 - 19:20 | регистр вроде бы один | ||
Василий Алибабаевич 7 - 12.10.20 - 19:21 | (6) Двух запросов к одному регистру. Один запрос выберет цену "УчетнаяЦенаШГ". Другой - "Розничная". | ||
Cyrix 8 - 12.10.20 - 19:24 | (7) проблема в том, что я не знаю как их соединить | ||
Cyrix 9 - 12.10.20 - 21:13 | Запрос.Текст = "ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ВидЦен,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ) КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.ВидЦен.Код = &УчетнаяЦенаШГ";
| ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ВидЦен,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ) КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.ВидЦен.Код = &Розничная";
Как их соединить? | ||
RomanYS 10 - 12.10.20 - 21:16 | (9) хотя бы посмотри, что такое соединение
... по ЦеныНоменклатурыСрезПоследних1.Номенклатура = ЦеныНоменклатурыСрезПоследних2.Номенклатура И ЦеныНоменклатурыСрезПоследних1.ВидЦен = &УчетнаяЦенаШГ И ЦеныНоменклатурыСрезПоследних2.ВидЦен = &Розничная | ||
Cyrix 11 - 12.10.20 - 21:26 | ЦеныНоменклатурыСрезПоследних1 и ЦеныНоменклатурыСрезПоследних2 - это что за таблицы? | ||
RomanYS 12 - 12.10.20 - 21:41 | (11) Что такое соединение ты уже знаешь? | ||
Cyrix 13 - 12.10.20 - 21:50 | О дааа!
Вот что такое соединение: Запрос.Текст = "ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Период КАК Период,
| ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ВидЦен,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних1.Период КАК Период1,
| ЦеныНоменклатурыСрезПоследних1.ВидЦен КАК ВидЦен1,
| ЦеныНоменклатурыСрезПоследних1.Номенклатура КАК Номенклатура1,
| ЦеныНоменклатурыСрезПоследних1.Цена КАК Цена1
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ) КАК ЦеныНоменклатурыСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК
ЦеныНоменклатурыСрезПоследних1
| ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.ВидЦен.Код = &УчетнаяЦенаШГ
| И ЦеныНоменклатурыСрезПоследних1.ВидЦен.Код = &Розничная"; | ||
Cyrix 14 - 12.10.20 - 21:51 | примерно | ||
RomanYS 15 - 12.10.20 - 21:59 | (13) Убери ".Код" - у тебя в параметрах уже ссылки судя по (0).
Убери "где", сделай как в (10). Хотя в данном случае результат одинаковый будет (10) более корректно. Ещё правильнее эти условия в параметры виртуальных таблиц засунуть: ... РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ВидЦен.Код = &УчетнаяЦенаШГ) КАК ЦеныНоменклатурыСрезПоследних... | ||
Cyrix 16 - 12.10.20 - 22:07 | (15) Как перечислить условия, если я захочу пихнуть их в параметры виртуальных таблиц? Ну первое условие ты привёл в пример РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ВидЦен.Код = &УчетнаяЦенаШГ) КАК ЦеныНоменклатурыСрезПоследних а как добавить РегистрСведений.ЦеныНоменклатуры.СрезПоследних1(&НаДату, ВидЦен.Код = &Розничная) КАК ЦеныНоменклатурыСрезПоследних1 ? через И ? | ||
RomanYS 17 - 12.10.20 - 22:16 | (16) Похоже ты не понял, что такое соединение :(((
У одной таблицы одно условие в параметрах, у второй - второе. И убери ".Код" | ||
Cyrix 18 - 12.10.20 - 22:25 | я однозначно чего-то недопонимаю :(
Запрос.Текст = "ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Период КАК Период,
| ЦеныНоменклатурыСрезПоследних.ВидЦен КАК ВидЦен,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних1.ВидЦен КАК ВидЦен1,
| ЦеныНоменклатурыСрезПоследних1.Номенклатура КАК Номенклатура1,
| ЦеныНоменклатурыСрезПоследних1.Цена КАК Цена1
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ВидЦен = &УчетнаяЦенаШГ) КАК ЦеныНоменклатурыСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних1
| ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
|ГДЕ
| ЦеныНоменклатурыСрезПоследних1.ВидЦен = &Розничная";
Куда ВидЦен = &Розничная засунуть?? | ||
RomanYS 19 - 12.10.20 - 22:29 | (18) ля, ты в клюшках что ли застрял?
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ВидЦен = &Розничная) КАК ЦеныНоменклатурыСрезПоследних1 | ||
Cyrix 20 - 12.10.20 - 22:36 | (19) ой... спасибо!! :о) |
|
Список тем форума |