Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:23

как правильно написать условие в запросе

Автор Yamuna, 11 апр 2018, 15:02

0 Пользователей и 1 гость просматривают эту тему.

Yamuna

Доброго времени суток! пожалуйста помогите Не могу понять как написать в запросе условие.
в демо базе БСП (2.4.6.32) для документа _ДемоСписаниеТоваров нужно сделать внешнюю печатную форму
но должна выбираться только номенклатура с ВидНоменклатуры Товар. уже по всякому пробовал не пойму как правильно написать чтоб выбирался только товар.
  Запрос.Текст =
"ВЫБРАТЬ
| _ДемоСписаниеТоваров.Ссылка КАК Ссылка,
| _ДемоСписаниеТоваров.Представление КАК Представление,
| _ДемоСписаниеТоваров.Номер КАК Номер,
| _ДемоСписаниеТоваров.Дата КАК Дата,
| _ДемоСписаниеТоваров.МестоХранения КАК МестоХранения,
| ПРЕДСТАВЛЕНИЕ(_ДемоСписаниеТоваров.МестоХранения) КАК МестоХраненияПредставление,
| _ДемоСписаниеТоваров.Организация КАК Организация,
| ПРЕДСТАВЛЕНИЕ(_ДемоСписаниеТоваров.Организация) КАК ОрганизацияПредставление,
| _ДемоСписаниеТоваров.Ответственный КАК Ответственный,
| ПРЕДСТАВЛЕНИЕ(_ДемоСписаниеТоваров.Ответственный) КАК ОтветственныйПредставление
|ИЗ
| Документ._ДемоСписаниеТоваров КАК _ДемоСписаниеТоваров
|ГДЕ
| _ДемоСписаниеТоваров.Ссылка В(&Ссылка)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| _ДемоСписаниеТоваровТовары.Ссылка КАК Ссылка,
| ПРЕДСТАВЛЕНИЕ(_ДемоСписаниеТоваровТовары.Ссылка) КАК СсылкаПредставление,
| _ДемоСписаниеТоваровТовары.НомерСтроки КАК НомерСтроки,
| _ДемоСписаниеТоваровТовары.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(_ДемоСписаниеТоваровТовары.Номенклатура) КАК НоменклатураПредставление,
| _ДемоСписаниеТоваровТовары.Количество КАК Количество
|ИЗ
| Документ._ДемоСписаниеТоваров.Товары КАК _ДемоСписаниеТоваровТовары
                |ГДЕ
                |   _ДемоСписаниеТоваровТовары.Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ( ???? ???)
|ИТОГИ ПО
| Ссылка";

Запрос.УстановитьПараметр("Ссылка", МассивОбъектов);

oleg-x

_ДемоСписаниеТоваровТовары.Номенклатура.ВидНоменклатуры = &ВидНоменклатуры
И установи параметр.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Sandi

 |ГДЕ
|   _ДемоСписаниеТоваровТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)

oleg-x

Цитата: Sandi от 11 апр 2018, 18:21
|ГДЕ
|   _ДемоСписаниеТоваровТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
При условие что вид номенклатуры это предопределенный элемент справочника.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Sandi

Цитата: oleg-x от 11 апр 2018, 20:48
Цитата: Sandi от 11 апр 2018, 18:21
|ГДЕ
|   _ДемоСписаниеТоваровТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
При условие что вид номенклатуры это предопределенный элемент справочника.
неа))
Я не обращаюсь к виду номенклатуры (согласна, ВидНоменклатуры - это реквизит типа "СправочникСсылка.ВидыНоменклатуры"), я обращаюсь к типу номенклатуры.
ТипНоменклатуры- это "ПеречислениеСсылка.ТипыНоменклатуры". К его элементам можно напрямую обращаться, т.к они все предопределенные:
Товар
Услуга
Работа
Набор
МногооборотнаяТара

П.С. я, конечно, не могу утверждать на 100%, т.к. условие задачи вижу со слов автора, но Видов номенклатуры с типом "товар" может бть сколько угодно. 
У нас в рабочей базе, например, их около 50:
-Полуфабрикаты,
-Оргтехника и комплектующмие,
-Хоз. инвентарь
-Канцтовары
-Листы алюминиевые
-Листы медные

и т.д и т.п и все это  относится к типу номенклатуры "Товар".Т.е. их можно увидеть, пощупать, положить на склад и и пересчитать.

В таком случае приязываться к виду номенклатуры не совсем корректно (при добавлении пользователем нового вида номенклатуры, относящегося к товару надо будет как минимум перенастраивать отчет, если список видов номенклатуры выведен в параметр, как максимум переписывать код, если список забит в код (что не есть хорошо).

Более правильно уже смотреть на тип номенклатуры.




Yamuna

Цитата: Sandi от 11 апр 2018, 18:21
|ГДЕ
|   _ДемоСписаниеТоваровТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)


я бы тоже так и поступил,но к сожалению нет такого перечисления в БСП и поэтому не могу понять как добраться до этого вида номенклатуры...

KOI8-R

Цитата: Yamuna от 12 апр 2018, 17:30
Цитата: Sandi от 11 апр 2018, 18:21
|ГДЕ
|   _ДемоСписаниеТоваровТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)


я бы тоже так и поступил,но к сожалению нет такого перечисления в БСП и поэтому не могу понять как добраться до этого вида номенклатуры...

ну задействуйте механизм доп.реквизитов или перед выводом ВПФ выводите предварительную форму в которой отбирайте нужный вид номенклатура.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск