Кривой запрос

1. Andy30 47 21.10.19 15:27 Сейчас в теме
Делаю запрос в обработке и в консоли запросов.Текст один и тот же.

ВЫБРАТЬ
ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот КАК СуммаВыручкиОборот,
ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиБезНДСОборот КАК СуммаВыручкиБезНДСОборот
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНач, &ДатаКон, Авто, АналитикаУчетаНоменклатуры.Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатуры)) КАК ВыручкаИСебестоимостьПродажОбороты

В обработке возвращает пустой результат запроса, в консоли запросов выводит данные.
Кто нибудь сталкивался с подобной магией?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sergathome 4 21.10.19 15:30 Сейчас в теме
Проверьте установку параметров в обработке. Чудес не бывает.
3. Andy30 47 21.10.19 15:35 Сейчас в теме
период одинаковый, ГруппаНоменклатуры - Группа из справочника Номенклатуры.
4. LifeRock 21.10.19 15:47 Сейчас в теме
Отладкой посмотреть точно ли нормально параметр устанавливается.
5. Andy30 47 21.10.19 15:54 Сейчас в теме
6. sergathome 4 21.10.19 16:00 Сейчас в теме
(5) предпочитаете верить в чудеса ? нюню. Последний раз - проверьте в отладчике, какие значения попадают в параметры, например каков тип параметра ГруппаНоменклатуры (это точно СправочникСсылка?) и не строки ли передаются вместо дат.
7. Andy30 47 21.10.19 16:08 Сейчас в теме
Запрос.УстановитьПараметр("ДатаКон", ПериодРасчета.ДатаОкончания);
Запрос.УстановитьПараметр("ДатаНач", ПериодРасчета.ДатаНачала);
Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);
Прикрепленные файлы:
8. YannikAlx 43 21.10.19 16:11 Сейчас в теме
(7) Тогда бы уже весь текст процедуры выложили, зачем огрызками кормите нас?
9. starjevschik 21.10.19 16:16 Сейчас в теме
ПериодРасчета.ДатаОкончания - это будет конец дня
а в консоли по умолчанию ставится время 00:00
например так.
10. Andy30 47 21.10.19 16:21 Сейчас в теме
так в консоли как раз выводит данные
11. Andy30 47 21.10.19 16:25 Сейчас в теме
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот КАК СуммаВыручкиОборот,
| ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиБезНДСОборот КАК СуммаВыручкиБезНДСОборот
|ИЗ
| РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНач, &ДатаКон, Авто, АналитикаУчетаНоменклатуры.Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатуры)) КАК ВыручкаИСебестоимостьПродажОбороты";


ГруппаТовары = Справочники.Номенклатура.НайтиПоКоду("00000000001");

Запрос.УстановитьПараметр("ДатаКон", ПериодРасчета.ДатаОкончания);
Запрос.УстановитьПараметр("ДатаНач", ПериодРасчета.ДатаНачала);

Для каждого Стр из РасчетПремии Цикл


ГруппаНоменклатуры = ГруппаТовары;

Если ЗначениеЗаполнено(Стр.ГруппаНоменклатуры) тогда

ГруппаНоменклатуры = новый СписокЗначений;

Для каждого СтрНом из Стр.ГруппаНоменклатуры.Товары Цикл

Если ЗначениеЗаполнено(СтрНом.Номенклатура) тогда
ГруппаНоменклатуры.Добавить(СтрНом.Номенклатура);
Иначе
ГруппаНоменклатуры.Добавить(ГруппаТовары);
КонецЕсли;

КонецЦикла;

КонецЕсли;

Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);

Результат = Запрос.Выполнить();

ВыборкаДанных = Результат.Выбрать();

Пока ВыборкаДанных.Следующий() Цикл

Стр.ОборотСНДС = ВыборкаДанных.СуммаВыручкиОборот;
Стр.ОборотБезНДС = ВыборкаДанных.СуммаВыручкиБезНДСОборот;

Если Стр.СуммаКРасчету > 0 тогда

Если Стр.ОборотБезНДС = 0 тогда
Стр.РасчетныйПроцент = 0;
Иначе
Стр.РасчетныйПроцент = Окр(Стр.СуммаКРасчету*100/Стр.ОборотБезНДС,2);
КонецЕсли;

Стр.ПремияКВыплате = Окр(Стр.ОборотБезНДС*Стр.РасчетныйПроцент/100,2);

ИначеЕсли Стр.ПроцентОтОборота > 0 тогда

Стр.ПремияКВыплате = Окр(Стр.ОборотБезНДС*Стр.ПроцентОтОборота/100,2);

КонецЕсли;

КонецЦикла;

КонецЦикла;
12. starjevschik 21.10.19 16:30 Сейчас в теме
(11) какая жесть.
ГруппаНоменклатуры - Группа из справочника Номенклатуры.

из кода видно, что это совсем не так в каких-то случаях. Возможно, именно эти случаи и реализуются.
Sashares; +1 Ответить
13. sergathome 4 21.10.19 16:44 Сейчас в теме
Состав списка значений ГруппаНоменклатуры с типами данных надо посмотреть. Где-то там оно зарыто.
14. Andy30 47 21.10.19 16:45 Сейчас в теме
В ИЕРАХИИ (&..) можно передавать список значений
15. Andy30 47 21.10.19 16:46 Сейчас в теме
у меня там одна группа и передается она напрямую без списка значений

Если ЗначениеЗаполнено(Стр.ГруппаНоменклатуры) тогда - это условие не выполняется
16. sergathome 4 21.10.19 16:49 Сейчас в теме
(15) Состав списка значений, Карл. Что у вас оказывается в списке перед Запрос.Выполнить(). Значения остальных параметров тоже из Запрос надо смотреть.
Плюс к тому - вам правильно пишут - если в ТЧ Товары все строки имеют заполненную номенклатуру, то группа в список не попадёт.
17. Andy30 47 21.10.19 16:58 Сейчас в теме
выше картинка, собственно
18. Sashares 34 21.10.19 17:01 Сейчас в теме
(17)В картинке надо показывать не левые переменные, а Запрос.Параметры.
19. Andy30 47 21.10.19 17:17 Сейчас в теме
вот
Прикрепленные файлы:
20. Sashares 34 21.10.19 17:21 Сейчас в теме
(19)А теперь аналогичный скрин из консоли запросов.
21. Andy30 47 21.10.19 17:25 Сейчас в теме
вот
Прикрепленные файлы:
23. Sashares 34 21.10.19 17:34 Сейчас в теме
(21)Лучше из конфигуратора, параметры выполняемого запроса консоли запроса.
22. Andy30 47 21.10.19 17:31 Сейчас в теме
тестирование исправление?
25. Sashares 34 21.10.19 17:45 Сейчас в теме
(22)УТ нет под рукой. Но.
Это регистр в конце месяца/квартала случайно не закрывается?
Может поэтому в консоли когда дата окончания не 23.59.59, а начало дня, в нем обороты видны, а в запросе, когда конец дня, попадают обороты закрытия и ничего нет.

Для проверки можно в обработке указать в дате окончания начало дня, а не конец.
26. Andy30 47 21.10.19 18:01 Сейчас в теме
(25) не помогло, но версия хорошая)
Прикрепленные файлы:
27. Sashares 34 21.10.19 18:07 Сейчас в теме
(26)Ну тогда из очевидного - Товары в обработке это не те Товары, что консоли запросов.
28. Andy30 47 21.10.19 19:49 Сейчас в теме
29. dhurricane 21.10.19 22:20 Сейчас в теме
(28) Как же она самая, если в консоли у Вас "ТОВАР", а в обработке "ТОВАРЫ"?
sergathome; Sashares; +2 Ответить
31. Andy30 47 22.10.19 09:30 Сейчас в теме
(29) Вы правы, в справочнике номенклатура две группы с одинаковым кодом, "Товар" и "Товары". Поиск по коду находит другую (неправильную) группу. Спасибо!
24. Andy30 47 21.10.19 17:44 Сейчас в теме
вот
Прикрепленные файлы:
30. sergathome 4 22.10.19 08:43 Сейчас в теме
Автор, всё, что можно, тебе сказали и показали. Имеющий хоть один глаз и полуха - увидит и услышит.

зы Меня убило то, что каким-то неведомым образом у тебя после вот этого куска:
ГруппаНоменклатуры = новый СписокЗначений;

Для каждого СтрНом из Стр.ГруппаНоменклатуры.Товары Цикл

Если ЗначениеЗаполнено(СтрНом.Номенклатура) тогда
ГруппаНоменклатуры.Добавить(СтрНом.Номенклатура);
Иначе
ГруппаНоменклатуры.Добавить(ГруппаТовары);
КонецЕсли;

КонецЦикла;
Показать

Запрос.Параметры.ГруппаНоменклатуры каким-то волшебным образом ниразу не СписокЗначений... ;)) Ну неужели тут ещё что-то нужно объяснять?
32. Andy30 47 22.10.19 09:30 Сейчас в теме
Всем спасибо, тема закрыта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот