|
Деление в запросе | ☑ | ||
---|---|---|---|---|
0
ezhik90
06.08.15
✎
11:10
|
Доброго времени суток. Имеется деление в запросе
ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0 ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов ИНАЧЕ 0 КОНЕЦ Так вот это деление не выполняется, хоть с условием, хоть без, запрос возвращает просто начальный остаток. Даже если я оставляю просто деление - всё равно возвращается начальный остаток. Можно предположить, что коэффициент = 1, но нет, я вытаскивал отдельно остаток (520460332) и отдельно коэффициент (2281), что в результате должно дать 228172, но упорно возвращается начальный остаток. В чём дело? |
|||
1
Nuobu
06.08.15
✎
11:13
|
(0) В Номенклатуре точно есть реквизит КоэффициентЕдиницыДляОтчетов?
|
|||
2
butterbean
06.08.15
✎
11:13
|
1. смотришь не туда, не тот отчет
2. не сохранил изменения 3. не чищенный кеш 4. еще 100500 дурацких неочевидных для нас причин |
|||
3
ezhik90
06.08.15
✎
11:13
|
(2) Конечно, ведь отдельно запросом вытаскивается - 2281.
|
|||
4
ezhik90
06.08.15
✎
11:14
|
(2) Прошу прощения - ответ был к (1). Нет, ничего такого нет.
|
|||
5
qeos
06.08.15
✎
11:16
|
SQL server profiler
|
|||
6
ezhik90
06.08.15
✎
11:16
|
А как может повлиять на деление условие
|
|||
7
gigi789
06.08.15
✎
11:17
|
(3) вангую ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов=1
|
|||
8
qeos
06.08.15
✎
11:17
|
а во вторых запрос не весь приведен, возможно он кривой
|
|||
9
ezhik90
06.08.15
✎
11:17
|
НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОприходованиеИзлишковТоваров
|
|||
10
ezhik90
06.08.15
✎
11:17
|
Добавляю условие - деления нет, убираю - есть.
|
|||
11
ezhik90
06.08.15
✎
11:17
|
(7) Ну я же написал - коэффициент 2281 выводится отдельно.
|
|||
12
Nuobu
06.08.15
✎
11:18
|
(11) Значит, не тот коэффициент выводится отдельно.
|
|||
13
ezhik90
06.08.15
✎
11:19
|
(12) Да как может быть не тот, если номенклатура одна?
|
|||
14
Lama12
06.08.15
✎
11:19
|
(0) НЕсколько элементов номенклатуры с одинаковым наименованием.
Выведи в результаты это поле ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Код. Посмотри тот ли элемент используешь. Заодно выведи ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов станет явно видно что на что делится. |
|||
15
Lama12
06.08.15
✎
11:20
|
Ах, да. Еще вариант - ТиИ
|
|||
16
itlikbez
06.08.15
✎
11:21
|
(0) Дальше будет хуже.
|
|||
17
Timon1405
06.08.15
✎
11:21
|
(9) А если вытащить в выбранные поля регистратор и ПериодСекунда?
|
|||
18
ezhik90
06.08.15
✎
11:31
|
Вся проблема кроется в условии. Почему-то после его добавления делиться перестаёт. На что оно может влиять, если я всего лишь остатки получаю?
|
|||
19
Злобный монстр
06.08.15
✎
11:33
|
(18) Весь запрос покажи
|
|||
20
Timon1405
06.08.15
✎
11:34
|
Так не работает в запросе или в отчете?
http://its.1c.ru/db/metod8dev#content:3093:hdoc:_top |
|||
21
Ващета
06.08.15
✎
11:35
|
а так работает?
ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0 ТОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов ИНАЧЕ 1 КОНЕЦ |
|||
22
ezhik90
06.08.15
✎
11:44
|
(20) Я взял из УТ11 стандартный отчёт Ведомость по товарам на складах, добавил своё условие
НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОприходованиеИзлишковТоваров и деление работать перестало. Даже если я создаю вложенный запрос для получения остатков - всё равно не делится. |
|||
23
Timon1405
06.08.15
✎
11:46
|
(22) так вы статью прочитали? в запросе в консоли работает деление?
|
|||
24
ezhik90
06.08.15
✎
11:49
|
(23) Не пробовал я в консоли. Я не понимаю, почему условие так влияет на это деление.
|
|||
25
ezhik90
06.08.15
✎
11:57
|
Проверил. В консоли запрос отрабатывает верно.
|
|||
26
ЧеловекДуши
06.08.15
✎
12:01
|
(0) Null <> 0 :)
|
|||
27
ЧеловекДуши
06.08.15
✎
12:02
|
В общем, если Номенклатура не будет выбрана, то там Null :)
Обычно пишут "ЕстьNull(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов,0)" |
|||
28
ЧеловекДуши
06.08.15
✎
12:03
|
(25) Что ты проверил? :)
Ты проверь с тем же условие, где ошибка возникает, и тогда наступит и тебя просветление :) |
|||
29
ezhik90
06.08.15
✎
12:05
|
(28) Я взял полностью запрос из отчёта, засунул его в консоль, установил те же отборы, что применяю в отчёте - вижу нормальные результаты.
|
|||
30
Fram
06.08.15
✎
12:08
|
(25) ну значит кэш
|
|||
31
ezhik90
06.08.15
✎
12:09
|
(30) Да не кэш, а СКД, получается. Может, где-то там надо это условие выставить, а не в самом запросе? Если да, то где?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |