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

Запрос (или не запрос) : по условию, количество строк ТЧ и сумма всех строк ТЧ по определенному реквизиту всех элементов справоника во всех подгруппах группы

Автор oooo800, 17 сен 2020, 20:26

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

oooo800

Управляемые формы, платформа 8.3.16.1224+. Самописная конфигурация.
Есть справочник с иерархией.
Например есть группа - "Первая" , в ней 5 элементов - 1 без ТЧ полностью (заполнены только основные реквизиты) , в 4 - заполнены строки ТЧ (разное их количество у каждого элемента) , но у 2 элементов есть строки с пустым значением реквизита "ИмяДетали" .
Есть несколько подгрупп - в каждой какое-то количество элементов - по ним тенденция такая же - где-то НЕ заполнены строки ТЧ, где-то заполнены строки ТЧ, где-то есть строки с пустым значением реквизита "ИмяДетали" .

Нужно, в итоге, получить всего 2 цифры:
1. количество всех строк ТЧ всех элементов группы "Первая" и всех ее подгрупп/подподгрупп (и так далее) с НЕпустым значением реквизита "ИмяДетали" ;
2. сумму всех этих строк (п. 1) по реквизиту ТЧ, например "ВесДетали" .
Делаю так:
Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
| ДеталиТЧ.Ссылка,
| ДеталиТЧ.ИмяДетали,
| ДеталиТЧ.ВесДетали КАК ВесДетали
| ИЗ
| Справочник.Узлы.Детали КАК ДеталиТЧ
| ГДЕ
| ДеталиТЧ.Ссылка В ИЕРАРХИИ (&Группа)
| И
| ДеталиТЧ.ИмяДетали <> """"
| УПОРЯДОЧИТЬ ПО
| Ссылка";

Запрос.УстановитьПараметр("Группа",СсылкаНаГруппуСправочника);
Результат = Запрос.Выполнить();
ТаблицаРезультата = Результат.Выгрузить();
ОбщееКоличествоДеталей = ТаблицаРезультата.Количество();
ОбщийВесДеталей = ТаблицаРезультата.Итог("ВесДетали ");


Возможно это сделать в запросе, чтобы это как-то быстрее "вычислялось" ?
Или может не в запросе ?

antoneus

В запросе и считайте сразу

Запрос.Текст = "ВЫБРАТЬ
    | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДеталиТЧ.Ссылка),
    | СУММА(ДеталиТЧ.ВесДетали) КАК ВесДетали
    | ИЗ
    | Справочник.Узлы.Детали КАК ДеталиТЧ
    | ГДЕ
    | ДеталиТЧ.Ссылка В ИЕРАРХИИ (&Группа)
    | И
    | ДеталиТЧ.ИмяДетали <> """""

oooo800

Включать | ДеталиТЧ.ИмяДетали, не надо ?
Посмотрел, консолью запросов: сумма отрабатывается верно, а количество - нет.
Например, для элемента с 9 строками ТЧ (все с заполненным ИмяДетали) количество = 1.
Убрал РАЗЛИЧНЫЕ и все стало отображаться корректно.

antoneus



Теги:

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

Рейтинг@Mail.ru

Поиск