![]() |
![]() |
![]() |
|
почему возникаект такая разница в данных | ☑ | ||
---|---|---|---|---|
0
LivingStar
26.06.13
✎
06:20
|
Открываю просматриваю результат в консоле запросов, выгружаю в .xls, там одни данные. В коде выгружаю результат запроса в таблицу значений, так же сохраняю в .xls, и просматриваю ТЗ.Итог("Поле1"), там другие данные, на несколько разнится сумма, да же по первой строке что в .xls. Почему так может быть? Запрос же один и тодже, почему разница в выбираемых им данных в консоле запросов и в коде, при выгрузке в таблицу значений?
ТекстЗапроса = " |ВЫБРАТЬ | Продажи.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3)) КАК Коэффициент, | СУММА(ЕСТЬNULL(Продажи.Количество, 0)) КАК Количество, | СУММА(ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Количество, 0) / ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3))) КАК Поле1 |ИЗ | РегистрНакопления.Продажи КАК Продажи | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО Продажи.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект |ГДЕ | (Продажи.Регистратор.Склад = &Склад | ИЛИ Продажи.Регистратор.СкладОрдер = &Склад) | И Продажи.Регистратор.Дата МЕЖДУ &НачДата И &КонДата | И " + ТекстУсловияГрупп + " | И КонтактнаяИнформация.Представление ПОДОБНО ""%Город%"" | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресТорговойТочки) |СГРУППИРОВАТЬ ПО | Продажи.Номенклатура"; |
|||
1
Cyberhawk
26.06.13
✎
06:27
|
В коде - одни параметры, в запросе - другие
|
|||
2
Cyberhawk
26.06.13
✎
06:27
|
*в запросе = в консоли
|
|||
3
LivingStar
26.06.13
✎
06:35
|
(1) да не одинаковые, выборка практически таже самая, но на какую то небольшую сумму отличается, например по первой строке в консоле 20, в коде в тз выгруженной 24, не пойму в чем делало ((((
|
|||
4
LivingStar
26.06.13
✎
06:35
|
параметры теже
|
|||
5
Лодырь
26.06.13
✎
06:41
|
Убери левое соединение, выведи записи без группировки. И найдешь в чем разница
|
|||
6
Лодырь
26.06.13
✎
06:41
|
Скорее всего, как говорит предыдущий оратор - дело в границах.
|
|||
7
LivingStar
26.06.13
✎
06:47
|
(6) на левое соединение же накладывается фильтр!!! Без него то нельзя.... в нем и смысл
|
|||
8
Cyberhawk
26.06.13
✎
06:49
|
(3) "да не одинаковые" запятая где?
|
|||
9
LivingStar
26.06.13
✎
06:54
|
(8) про какую вы запятую говорите?
|
|||
10
Лодырь
26.06.13
✎
07:00
|
(9)
Да, неодинаковые! Да не, одинаковые! |
|||
11
Лодырь
26.06.13
✎
07:01
|
(7)
В любом раскладе выводи записи без группировки и ищи различие. В экселе это легко юзая функцию "ВПР" например. |
|||
12
LivingStar
26.06.13
✎
07:07
|
(10) Да не! Одинаковые! - я хотел написать!!!
|
|||
13
LivingStar
26.06.13
✎
07:07
|
(11) пришла мысль смотреть по регистратору, различие уже видел, но от куда оно если запросы идентичные!!!
|
|||
14
Cyberhawk
26.06.13
✎
07:08
|
(12) а как ты определил, что одинаковые? На глаз?
|
|||
15
LivingStar
26.06.13
✎
07:22
|
(14) ну я же задавал параметры, и выявлял то что нужно, потом скопировал с консоли и вставил в код, подправив кое что, параметры теже задал, как не одинаковые то?
|
|||
16
Cyberhawk
26.06.13
✎
07:24
|
1. Покажи картинку со значениями параметров в консоли запросов.
2. Покажи картинку со значениями параметров в табло перед выполнением запроса. |
|||
17
Любопытная
26.06.13
✎
07:29
|
"вставил в код, подправив кое что" Может вот это самое "кое-что" и дает разницу?
|
|||
18
LivingStar
26.06.13
✎
07:36
|
(17) поправил кое что это, -
ТекстУсловияГрупп = "Продажи.Номенклатура В ИЕРАРХИИ(&Гр)"; Запрос.УстановитьПараметр("Гр", Группа); в коде, а в запросе, - | И " + ТекстУсловияГрупп + " то есть не влияет, сделал сейчас отбор по регистратору, вижу что в консоле, по одной и той же номенклатуре сразу идет 10 возвратов, а в коде 6, и так и по реализации, разное количество документов, вот и суммы разнятся, вопрос с чего бы это !!!! ( 10 6 |
|||
19
LivingStar
26.06.13
✎
07:37
|
(18+) в консоле стоит, Продажи.Номенклатура В ИЕРАРХИИ(&Гр)
|
|||
20
LivingStar
26.06.13
✎
07:42
|
Вижу что в выборке что в консоле захватил несколько возвратов, что выходят за установленный период!!! с чего бы это?? может и далее так ((((
|
|||
21
LivingStar
26.06.13
✎
07:46
|
похоже что в выборку что в консоле попадают возвраты, которые отсутствуют в выборке что выгружается в ТЗ в коде, соответственно в выборке что в коде значения больше, так как не сминусовались какие либо возвраты!!!!
|
|||
22
LivingStar
26.06.13
✎
07:49
|
(16) в параметрах сразу увидел ошибка сильная!!! пробую правит далее!!
|
|||
23
MiniMuk
26.06.13
✎
07:50
|
И Продажи.Регистратор.Дата МЕЖДУ началопериода(&НачДата,месяц) И конецпериода(&КонДата, месяц)
|
|||
24
LivingStar
26.06.13
✎
08:08
|
(23) а это чем не идет?
| И Продажи.Регистратор.Дата МЕЖДУ &НачДата И &КонДата и почему, надо как в (23) реально не корректная выборка получается? я период то поправил, но сама выборка не поправила ситуацию, отчет по ней так же не очень формирует планы (( |
|||
25
LivingStar
26.06.13
✎
08:09
|
(23) НачДата = НачалоДня('2013.05.01')
КонДата = КонецДня('2013.05.18') Масяц то не подойдет наверное? |
|||
26
LivingStar
26.06.13
✎
08:13
|
(23) как раз это выдает те ошибочные данные от которых я только что избавился, но вот саму проблему не поправил .....
|
|||
27
LivingStar
26.06.13
✎
08:18
|
Подскажите вот эта ветка нормально отберет? вторая ветка подобная, только по другому складу... Факт в том что скажут мне снова что не те данные, но выборка то корректная? Остальное все по коду...
Функция ПолучитьКолСклад_ЗА_МАЙ(Группа, Склад) Запрос = Новый Запрос; Если Группа = "ПРОЧЕЕ" Тогда ТекстУсловияГрупп = "Продажи." + ПолучитьГруппыНоменклатуры(Запрос, "ПРОЧЕЕ"); ИначеЕсли Группа = "НОВИНКИ" Тогда ТекстУсловияГрупп = "Продажи." + ПолучитьГруппыНоменклатуры(Запрос, "НОВИНКИ"); Иначе ТекстУсловияГрупп = "Продажи.Номенклатура В ИЕРАРХИИ(&Гр)"; Запрос.УстановитьПараметр("Гр", Группа); КонецЕсли; //Запрос = Новый Запрос; //Запрос.УстановитьПараметр("Номенклатура",Группа); Мес = Месяц(ЭтотОбъект.Дата) - 1; Год = Год(ЭтотОбъект.Дата); Если Мес = 0 Тогда Мес = 12; Год = Год - 1; КонецЕсли; // Если Мес = 5 Тогда Если Склад = Справочники.Склады.НайтиПоНаименованию("склад") Тогда Колво1 = 0; ТекстЗапроса = " |ВЫБРАТЬ | Продажи.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3)) КАК Коэффициент, | СУММА(ЕСТЬNULL(Продажи.Количество, 0)) КАК Количество, | СУММА(ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Количество, 0) / ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3))) КАК Поле1, | Продажи.Регистратор |ИЗ | РегистрНакопления.Продажи КАК Продажи | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО Продажи.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект |ГДЕ | (Продажи.Регистратор.Склад = &Склад | ИЛИ Продажи.Регистратор.СкладОрдер = &Склад) | И Продажи.Регистратор.Дата МЕЖДУ &НачДата И &КонДата | И " + ТекстУсловияГрупп + " | И КонтактнаяИнформация.Представление ПОДОБНО ""%город%"" | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресТорговойТочки) |СГРУППИРОВАТЬ ПО | Продажи.Номенклатура, | Продажи.Регистратор"; Запрос.УстановитьПараметр("НачДата", НачалоДня('2013.05.01')); Запрос.УстановитьПараметр("КонДата", КонецДня('2013.05.18')); Запрос.УстановитьПараметр("Склад", Склад); Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выгрузить(); Колво1 = Колво1 + Выборка.Итог("Поле1"); //Для Каждого СтрокаВыборки из Выборка Цикл // Колво1 = Колво1 + Число(СтрокаВыборки.Количество)/Число(СтрокаВыборки.Номенклатура.ЕдиницаДляОтчетов.Коэффициент); //КонецЦикла; ТекстЗапроса = " |ВЫБРАТЬ | Продажи.Номенклатура, | ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3)) КАК Коэффициент, | СУММА(Продажи.Количество) КАК Количество, | СУММА(ВЫРАЗИТЬ(ЕСТЬNULL(Продажи.Количество, 0) / ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 0) КАК ЧИСЛО(15, 3))) КАК Поле1 |ИЗ | РегистрНакопления.Продажи КАК Продажи | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО Продажи.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект |ГДЕ | МЕСЯЦ(Продажи.Регистратор.Дата) = &МесДата | И ГОД(Продажи.Регистратор.Дата) = &ГодДата | И (Продажи.Регистратор.Склад = &Склад | ИЛИ Продажи.Регистратор.СкладОрдер = &Склад) | И " + ТекстУсловияГрупп + " | И НЕ КонтактнаяИнформация.Представление ПОДОБНО ""%город%"" | И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) | И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресТорговойТочки) | |СГРУППИРОВАТЬ ПО | Продажи.Номенклатура"; Запрос.УстановитьПараметр("МесДата", Мес); Запрос.УстановитьПараметр("ГодДата", Год); Запрос.УстановитьПараметр("Склад", Склад); Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выгрузить(); КолвоБердск = Колво1 + Выборка.Итог("Поле1"); //Для Каждого СтрокаВыборки из Выборка Цикл // Колво1 = Колво1 + Число(СтрокаВыборки.Количество)/Число(СтрокаВыборки.Номенклатура.ЕдиницаДляОтчетов.Коэффициент); //КонецЦикла; Возврат Колво1; ИначеЕсли Склад = Справочники.Склады.НайтиПоНаименованию("склад2") Тогда |
|||
28
LivingStar
26.06.13
✎
08:20
|
(27+) на ошибки в названиях переменных можно не обращать внимания, синтакс контроль все равно это не пропустит, главное суть понятна алгоритм, по моему он должен делать то что задано!!!
|
|||
29
vicof
26.06.13
✎
08:20
|
Автор, спасибо, ты меня каждый день своими темами радуешь.
|
|||
30
Лодырь
26.06.13
✎
08:30
|
(29) На самом деле автору не хватает свежего глаза сидящего неподалеку. Те ошибки которые он не может найти - обычно легко находятся пока подробно объясняешь другому что не можешь найти ошибку )
|
|||
31
vicof
26.06.13
✎
08:55
|
(30) Да как можно на протяжении 8 лет задавать тупейшие вопросы? По его ответам и вопросам можно понять, что логика отсутствует напрочь. И что образовываться он не хочет, а питаться только готовеньким.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |