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