Привет.
Есть простой запрос по остаткам по складу. При пустом значении списка запрос не срабатывает. Что я делаю не так?
И второе. Нужно, чтобы ВыбСклад был связан с реквизитом типа ВидСравнения на форме. То есть: если ВидСравнения = "Равно", то выбираем непосредственно из справочника, а если ВидСравнения = "ВСписке", соотв подбирать с помощью списка. Научите, плз, как это сделать.
Спасибо.
Есть простой запрос по остаткам по складу. При пустом значении списка запрос не срабатывает. Что я делаю не так?
И второе. Нужно, чтобы ВыбСклад был связан с реквизитом типа ВидСравнения на форме. То есть: если ВидСравнения = "Равно", то выбираем непосредственно из справочника, а если ВидСравнения = "ВСписке", соотв подбирать с помощью списка. Научите, плз, как это сделать.
Спасибо.
Запросост = Новый Запрос;
Запросост.УстановитьПараметр("тзшк", тзшк);
Запросост.УстановитьПараметр("Склад", ВыбСклад);
Запросост .текст = "ВЫБРАТЬ
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК КоличествоОстаток,
| ТоварыОрганизацийОстатки.Склад
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки
|ГДЕ
| ТоварыОрганизацийОстатки.Номенклатура В ИЕРАРХИИ(&тзшк)
| И ТоварыОрганизацийОстатки.Склад В (&Склад)
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.Номенклатура,
| ТоварыОрганизацийОстатки.Склад";
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Найденные решения
Запросост = Новый Запрос;
Запросост.УстановитьПараметр("тзшк", тзшк);
Запросост.УстановитьПараметр("Склад", ВыбСклад);
Запросост.УстановитьПараметр("НеФильтроватьСклады", ВыбСклад.Количество()=0);
Запросост .текст = "ВЫБРАТЬ
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК КоличествоОстаток,
| ТоварыОрганизацийОстатки.Склад
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки
|ГДЕ
| ТоварыОрганизацийОстатки.Номенклатура В ИЕРАРХИИ(&тзшк)
| И (&НеФильтроватьСклады или ТоварыОрганизацийОстатки.Склад В (&Склад))
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.Номенклатура,
| ТоварыОрганизацийОстатки.Склад";
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
а как иначе? сравнение с пустым списком ничего не даст.
По поводу вида сравнения, это смотря как он задается в форме, нужно проанализировать какой выбран вид сравнения и подменить его в тексте запроса через СтрЗаменить(), а вообще да, скд умеет все)
например вот так:
При пустом значении списка запрос не срабатывает,
а как иначе? сравнение с пустым списком ничего не даст.
По поводу вида сравнения, это смотря как он задается в форме, нужно проанализировать какой выбран вид сравнения и подменить его в тексте запроса через СтрЗаменить(), а вообще да, скд умеет все)
например вот так:
|ГДЕ
| ТоварыОрганизацийОстатки.Номенклатура В ИЕРАРХИИ(&тзшк)
| И ТоварыОрганизацийОстатки.Склад [ЗначениеУсловия]
Если ВидСравнения = "Равно" Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, [ЗначениеУсловия], "= &Склад");
ИначеЕсли ВидСравнения = "ВСписке" Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, [ЗначениеУсловия], "В (&Склад)");
КонецЕсли
Показать
(1) попробуй добавить код
Если НЕ ЗначениеЗаполнено() Тогда
Запросост.текст = СтрЗаменить(Запросост.текст, "И ТоварыОрганизацийОстатки.Склад В (&Склад)", "");
Конецесли;
Сравнение В (&Склад) изменять не обязательно из-за того, что у тебя там список значений или ссылка, потому как последние версии платформы такие вещи игнорируют
Если НЕ ЗначениеЗаполнено() Тогда
Запросост.текст = СтрЗаменить(Запросост.текст, "И ТоварыОрганизацийОстатки.Склад В (&Склад)", "");
Конецесли;
Сравнение В (&Склад) изменять не обязательно из-за того, что у тебя там список значений или ссылка, потому как последние версии платформы такие вещи игнорируют
Запросост = Новый Запрос;
Запросост.УстановитьПараметр("тзшк", тзшк);
Запросост.УстановитьПараметр("Склад", ВыбСклад);
Запросост.УстановитьПараметр("НеФильтроватьСклады", ВыбСклад.Количество()=0);
Запросост .текст = "ВЫБРАТЬ
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК КоличествоОстаток,
| ТоварыОрганизацийОстатки.Склад
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки КАК ТоварыОрганизацийОстатки
|ГДЕ
| ТоварыОрганизацийОстатки.Номенклатура В ИЕРАРХИИ(&тзшк)
| И (&НеФильтроватьСклады или ТоварыОрганизацийОстатки.Склад В (&Склад))
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.Номенклатура,
| ТоварыОрганизацийОстатки.Склад";
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот