Параметр в запросе, как правильно сделать
Добрый день всем. Нужно сделать чтобы при установленной галочке в документе перемещениеЗапасов у номенклатуры стиралась характеристика. При проведении документа для таблицы движений делается запрос, вот его кусочек:
Я сделал так:
Почему то в таблицу движений, вместо 4 строк передается 1525 - дублируются они, а если вместо моей конструкции на месте ТаблицаЗапасы.Характеристика оставить NULL, то получается как надо, расходуются 2 строчки с характеристикой, а приходуются без них. Надеюсь понятно объяснил)
ВЫБРАТЬ
| ТаблицаЗапасы.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| ТаблицаЗапасы.Период,
| ТаблицаЗапасы.КоррСтруктурнаяЕдиница,
| ТаблицаЗапасы.КоррЯчейка,
| ТаблицаЗапасы.Организация,
| ТаблицаЗапасы.Номенклатура,
| ТаблицаЗапасы.Характеристика,
| ТаблицаЗапасы.Партия,
| ТаблицаЗапасы.Количество
ПоказатьЯ сделал так:
ВЫБРАТЬ
| ТаблицаЗапасы.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| ТаблицаЗапасы.Период,
| ТаблицаЗапасы.КоррСтруктурнаяЕдиница,
| ТаблицаЗапасы.КоррЯчейка,
| ТаблицаЗапасы.Организация,
| ТаблицаЗапасы.Номенклатура,
| ВЫБОР
| КОГДА &СтеретьХарактеристики = ЛОЖЬ
| ТОГДА ТаблицаЗапасы.Характеристика
| ИНАЧЕ NULL
| КОНЕЦ,
| ТаблицаЗапасы.Партия,
| ТаблицаЗапасы.Количество
ПоказатьПочему то в таблицу движений, вместо 4 строк передается 1525 - дублируются они, а если вместо моей конструкции на месте ТаблицаЗапасы.Характеристика оставить NULL, то получается как надо, расходуются 2 строчки с характеристикой, а приходуются без них. Надеюсь понятно объяснил)
По теме из базы знаний
- Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"
- Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория
- Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Начните уже использовать хранилище запросов
Ответы
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Ну весь запрос выглядит так:
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаЗапасы.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТаблицаЗапасы.Период КАК Период,
| ТаблицаЗапасы.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
| ТаблицаЗапасы.Ячейка КАК Ячейка,
| ТаблицаЗапасы.Организация КАК Организация,
| ТаблицаЗапасы.Номенклатура КАК Номенклатура,
| ТаблицаЗапасы.Характеристика КАК Характеристика,
| ТаблицаЗапасы.Партия КАК Партия,
| ТаблицаЗапасы.Количество КАК Количество
|ИЗ
| ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы,
| Документ.ПеремещениеЗапасов КАК ПеремещениеЗапасов
|ГДЕ
| НЕ ТаблицаЗапасы.ОрдерныйСклад
| И НЕ ТаблицаЗапасы.ВозвратИзРозницыСуммовойУчет
| И НЕ ТаблицаЗапасы.ПеремещениеВРозницеСуммовойУчет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаЗапасы.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| ТаблицаЗапасы.Период,
| ТаблицаЗапасы.КоррСтруктурнаяЕдиница,
| ТаблицаЗапасы.КоррЯчейка,
| ТаблицаЗапасы.Организация,
| ТаблицаЗапасы.Номенклатура,
| ТаблицаЗапасы.Характеристика,
| ТаблицаЗапасы.Партия,
| ТаблицаЗапасы.Количество
|ИЗ
| ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы,
| Документ.ПеремещениеЗапасов КАК ПеремещениеЗапасов
|ГДЕ
| ТаблицаЗапасы.Период < ТаблицаЗапасы.ДатаОбновленияНаРелиз_1_2_1
| И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПеремещениеЗапасов.СписаниеНаРасходы)
| И НЕ ТаблицаЗапасы.ПеремещениеВРозницуСуммовойУчет
| И НЕ ТаблицаЗапасы.ПеремещениеВРозницеСуммовойУчет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаЗапасы.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| ТаблицаЗапасы.Период,
| ТаблицаЗапасы.КоррСтруктурнаяЕдиница,
| ТаблицаЗапасы.КоррЯчейка,
| ТаблицаЗапасы.Организация,
| ТаблицаЗапасы.Номенклатура,
| ВЫБОР
| КОГДА &СтеретьХарактеристики = ЛОЖЬ
| ТОГДА ТаблицаЗапасы.Характеристика
| ИНАЧЕ NULL
| КОНЕЦ,
| ТаблицаЗапасы.Партия,
| ТаблицаЗапасы.Количество
|ИЗ
| ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы,
| Документ.ПеремещениеЗапасов КАК ПеремещениеЗапасов
|ГДЕ
| НЕ ТаблицаЗапасы.КоррОрдерныйСклад
| И ТаблицаЗапасы.Период >= ТаблицаЗапасы.ДатаОбновленияНаРелиз_1_2_1
| И НЕ ТаблицаЗапасы.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПеремещениеЗапасов.СписаниеНаРасходы)
| И НЕ ТаблицаЗапасы.ПеремещениеВРозницуСуммовойУчет
| И НЕ ТаблицаЗапасы.ПеремещениеВРозницеСуммовойУчет
| И ПеремещениеЗапасов.СтеретьХарактеристики = &СтеретьХарактеристики";
Запрос.УстановитьПараметр("СтеретьХарактеристики", ДокументСсылкаПеремещениеЗапасов.СтеретьХарактеристики);
РезультатЗапроса = Запрос.Выполнить();
Показать
" | ВременнаяТаблицаЗапасы КАК ТаблицаЗапасы,
| Документ.ПеремещениеЗапасов КАК ПеремещениеЗапасов"
не поняла как соединяются эти 2 таблицы?
Потому, наверное и множатся строки, что нет соединения, а когда убрали условие на 2-ю таблицу, множиться перестает.
| Документ.ПеремещениеЗапасов КАК ПеремещениеЗапасов"
не поняла как соединяются эти 2 таблицы?
Потому, наверное и множатся строки, что нет соединения, а когда убрали условие на 2-ю таблицу, множиться перестает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот