Условие в запросе 8.2

1. user916115 16.01.19 11:42 Сейчас в теме
Привет ребятки:)
делаю обработку, в запросе делаю условие что нужно добавлять только из справочника артикулы, а этот негодяй все равно все пихает...
	Артикулы.Очистить();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Склад41000ЦентральныйОстатки.Артикул,
	|	Склад41000ЦентральныйОстатки.НоменклатурныйНомер,
	|	Склад41000ЦентральныйОстатки.Артикул.Стандарт КАК Стандарт,
	|	Склад41000ЦентральныйОстатки.Артикул.Наименование КАК Обозначение,
	|	Склад41000ЦентральныйОстатки.Артикул.Обозначение КАК ПКИ,
	|	Склад41000ЦентральныйОстатки.ДоговорСбыта,
	|	Склад41000ЦентральныйОстатки.КоличествоОстаток
	|ИЗ
	|	РегистрНакопления.Склад41000Центральный.Остатки(, ) КАК Склад41000ЦентральныйОстатки
	|ГДЕ
	|	ТИПЗНАЧЕНИЯ(Склад41000ЦентральныйОстатки.Артикул) = ТИП(Справочник.Артикулы)";
	
	Результат = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = Результат.Выбрать();
	
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		НовСтр = Артикулы.Добавить(); 
		НовСтр.Артикул  = ВыборкаДетальныеЗаписи.Артикул;
		НовСтр.Код  = СокрЛП(НовСтр.Артикул.Артикул);
		НовСтр.Обозначение = СокрЛП(ВыборкаДетальныеЗаписи.ПКИ);	
		НовСтр.Стандарт = СокрЛП(ВыборкаДетальныеЗаписи.Стандарт);
		НовСтр.НоменклатурныйНомер = СокрЛП(ВыборкаДетальныеЗаписи.НоменклатурныйНомер);
		НовСтр.Наличие = ВыборкаДетальныеЗаписи.КоличествоОстаток;
	КонецЦикла;
	Артикулы.Свернуть("Артикул,Код,НоменклатурныйНомер,Обозначение,Стандарт", "Наличие");
	Артикулы.Сортировать("Обозначение");
Показать
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. alex-l19041 8 16.01.19 11:48 Сейчас в теме
(1) Артикул в регистре Склад41000Центральный составного типа ?
+
6. user916115 16.01.19 13:21 Сейчас в теме
(3)здравствуйте! Да, состоит из справочник артикулы и услуги и прочее, нужно чтобы услуги и прочее не попадали в тч
+
2. insurgut 207 16.01.19 11:46 Сейчас в теме
ГДЕ Склад41000ЦентральныйОстатки.Артикул ССЫЛКА Справочник.Артикулы
alex-l19041; +1
4. SedovSU@mail.ru 297 16.01.19 12:36 Сейчас в теме
Вот так отсекет пустые значения. В случае если у вас поля Артикул типа СправочникСсылка.Артикулы

ГДЕ Склад41000ЦентральныйОстатки.Артикул <> ЗНАЧЕНИЕ(Справочник.Артикулы.ПустаяСсылка)
+
7. user916115 16.01.19 13:25 Сейчас в теме
(4)не получается никаким способом...
+
8. SedovSU@mail.ru 297 16.01.19 14:18 Сейчас в теме
(7) ну тогда только так
ГДЕ Склад41000ЦентральныйОстатки.Артикул ССЫЛКА Справочник.Артикулы
. Вам этот вариант предложил пользователь insurgut
+
9. Octopus 337 16.01.19 14:33 Сейчас в теме
(8) Ну отсечь пустые тоже будет не лишним )
+
5. SedovSU@mail.ru 297 16.01.19 12:38 Сейчас в теме
Или можно условие в выборке написать

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       Если Не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Артикул)  Тогда
            Продолжить;
       Конецесли;

        НовСтр = Артикулы.Добавить(); 
        НовСтр.Артикул  = ВыборкаДетальныеЗаписи.Артикул;
        НовСтр.Код  = СокрЛП(НовСтр.Артикул.Артикул);
        НовСтр.Обозначение = СокрЛП(ВыборкаДетальныеЗаписи.ПКИ);    
        НовСтр.Стандарт = СокрЛП(ВыборкаДетальныеЗаписи.Стандарт);
        НовСтр.НоменклатурныйНомер = СокрЛП(ВыборкаДетальныеЗаписи.НоменклатурныйНомер);
        НовСтр.Наличие = ВыборкаДетальныеЗаписи.КоличествоОстаток;
    КонецЦикла;
Показать


При этом условие из запроса
|ГДЕ
|    ТИПЗНАЧЕНИЯ(Склад41000ЦентральныйОстатки.Артикул) = ТИП(Справочник.Артикулы)"

можно исключить
+
10. signum2009 1029 16.01.19 14:38 Сейчас в теме
В параметрах виртуальной таблицы попробуйте условие поставить
+
11. meriferi 16.01.19 18:04 Сейчас в теме
условие в выборке или параметры виртуальной таблицы
+
12. Rus_Tiger 2 17.01.19 11:22 Сейчас в теме
Можно создать виртуальную таблицу всех артикулов, потом наложить отбор на таблицу остатков с условием "в" такой-то таблице. Вполне должно сработать и не должно быть проблем.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот