powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Выбрать по условию в запросе
8 сообщений из 8, страница 1 из 1
Выбрать по условию в запросе
    #38965556
Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, сделал промежуточный запрос:


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
ВЫБРАТЬ
	&Период КАК Период,
	ТоварыНаСкладахОстатки.Склад КАК Склад,
	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
	ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Цена,
	ТоварыНаСкладахОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Стоимость,
	ЦеныНоменклатурыСрезПоследних.Номенклатура.ВидНоменклатуры.Код,
	ВЫБОР
		КОГДА (ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000031"
				ИЛИ ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000046")
				И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000014"
			ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
		ИНАЧЕ ВЫБОР
				КОГДА ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000002"
						И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000010"
					ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
		ИНАЧЕ ВЫБОР
				КОГДА  ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000001"
	                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
			КОНЕЦ КОНЕЦ
	КОНЕЦ ТЕСТ,
	ЦеныНоменклатурыСрезПоследних.ТипЦен.Код КАК ТипЦенКод
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
		ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
	ТоварыНаСкладахОстатки.Склад = &Склад



Вопрос1: Каким образом из него вытянуть (те же самые) данные по условию " где ТЕСТ не равно null".

P.S. ... или же дайте подобный пример, заранее благодарю.
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38965678
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не Тест есть NULL
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38967490
Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...и НЕ Тест есть null, выдает ошибку

{Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(31, 46)}: Поле не найдено "Тест"
ТоварыНаСкладахОстатки.Склад = &Склад и НЕ <<?>>Тест есть null

Вот с этим как бороться, ребят.
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38967504
Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню, сейчас запрос изменил на конструкцию вида:


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
ЕСТЬNULL (ВЫБОР
		КОГДА (ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000031"
				ИЛИ ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000046")
				И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000014"
			ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
		ИНАЧЕ ВЫБОР
				КОГДА ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000002"
						И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000010"
					ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
		ИНАЧЕ ВЫБОР
				КОГДА  ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000001"
	                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
			КОНЕЦ КОНЕЦ
	КОНЕЦ, -1) КАК ТЕСТ,
//Пустые значения меняем на -1, и в отборе СКД ставим ОТБОР НЕ -1 



А какие еще есть варианты, ведь мой - это чистой воды костыль...
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38967580
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Янковскийведь мой - это чистой воды костыль
Кошернее заменить ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000031" на ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
ЯнковскийОшибка при вызове метода контекста (Выполнить): {(31, 46)}: Поле не найдено "Тест"Поле Тест у тебя вычисляемое, надо было всю ту конструкцию ВЫБРАТЬ ... КОНЕЦ КАК ТЕСТ втулить в условие


ЯнковскийоварыНаСкладахОстатки.Склад = &Склад и НЕ (ВЫБОР
КОГДА (ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000031"
ИЛИ ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000046")
И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000014"
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
ИНАЧЕ ВЫБОР
КОГДА ТоварыНаСкладахОстатки.Номенклатура.ВидНоменклатуры.Код = "000000002"
И ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000010"
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
ИНАЧЕ ВЫБОР
КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен.Код = "000000001"
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
КОНЕЦ КОНЕЦ
КОНЕЦ) есть null
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38967595
Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Лазурко,
спасибо все доступно и по полочкам.
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38967765
DoctorRoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Янковский,
ужасный запрос, неоптимальный! Надеюсь, это именно промежуточный запрос, а не итоговый.
...
Рейтинг: 0 / 0
Выбрать по условию в запросе
    #38979202
Uzden Ham
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не проще добавить

иначе null
КОНЕЦ ТЕСТ,

и выбирать когда не null
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Выбрать по условию в запросе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]