о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
1 | |
1C 8.x Конструкция "ВЫБОР КОГДА"03.07.2014, 13:14. Показов 1976. Ответов 16
Метки нет (Все метки)
Всем привет.
Нужна помощь, сломал мозг уже. Есть простейший запрос, который выводит странный для меня результат. Т.к. база абсолютно не типовая, то запрос только на скрине. Подскажите, в какую сторону копнуть можно?
0
|
03.07.2014, 13:14 | |
Ответы с готовыми решениями:
16
1c8 когда лучше использовать запрос, а когда выбор конструкция выбор когда конец ВЫБОР КОГДА Запрос в конструкции ВЫБОР КОГДА |
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
03.07.2014, 13:21 [ТС] | 2 |
ЗЫ. Ежели чо, платформа 8.3.Последняя...
Но, вроде, и на 8.2.19 такая же бодяга. ЗЗЫ. База файловая.
0
|
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
03.07.2014, 13:41 | 3 |
период Регистратор - штука стрёмная, но с итогами остатков обычно. Может, и с суммами вообще?
деление на 0 не вызывает NULL теперь?
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
03.07.2014, 14:04 [ТС] | 4 |
Тут проблема такая, что необходимо с регистратором выводить.
Это небольшая часть запроса, которая меня в тупик поставила. Деление на 0 обычно ошибку вызывает, не? Тут деления на 0 нет. Коэффициент равен 1. Меня в тупик ставит то, что если не проверять на 0, результат один, если проверять - другой...
0
|
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
03.07.2014, 14:14 | 5 |
появление нового параметра "дополнение"? Поставить его в "Движения"?
меня тоже. ИТОГИ по рекву через точку?... Короче, забить - а что ещё остаётся? Слушай! а это не СКД со статусом в поле "Остаток"? ВЫБОР, допустим, скрывает ресурс и по нему тривиально суммируется, а без него попытка выдать остаток или оборот на момент регистратора?
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
03.07.2014, 14:52 [ТС] | 6 |
В оригинале это СКД. Но на скрине просто консоль запросов.
0
|
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
03.07.2014, 15:58 | 7 |
консоль может и сама намухлевать: ОстаткиИОбороты - значит, агрегируем, различая Остатки - там ведь не сумма, а именно остаток, и у ресурса в СКД статус надо поставить Остаток, а по числам неизвестного происходжения - это как раз порождение оператора ВЫБОР - тупо просуммировать. Хотя, как она узнала, что в делении ресурс -
короче, бред всё это. типа "ИЕРАРХИЯ С ОТБОРОМ"
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
03.07.2014, 16:01 [ТС] | 8 |
0
|
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
|
|
04.07.2014, 14:37 | 9 |
судя по четвертой строке запроса, в ней как раз таки идет деление на ноль
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
04.07.2014, 14:44 [ТС] | 10 |
Ммм... Не идет!
Если бы шло - была бы ошибка, а не 0 в результате. В 1С нет значения бесконечности.
0
|
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
|
|
04.07.2014, 15:25 | 11 |
а чему же равно значение делимого?
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
04.07.2014, 15:40 [ТС] | 12 |
Там где пусто: делимое = 0, делитель = 1
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
06.07.2014, 21:46 [ТС] | 13 |
В общем, похоже, я понял.
Фишка получается в том, что когда мы просто оперируем полями регистра (вариант без проверки на 0), то платформа обрабатывает итоги так, как надо - как остатки по регистру (если на дату начала ничего не было - в итогах по начальным остаткам 0). В случае использования оператора "ВЫБОР КОГДА" платформе становится плевать на то, что это за поля и имеют ли они какое отношение к регистру - она оперирует просто результатом выполнения функции, и, соответственно, при подсчете итогов тупо складывает суммы. Видимо, надо просто иметь ввиду такое поведение.
1
|
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
07.07.2014, 16:46 | 14 |
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
07.07.2014, 16:51 [ТС] | 15 |
Практически истина, но вообщем, да.
Только учитывай, что для этого не обязательна СКД, можно воспроизвести (как на скрине в первом посте) просто в консоли запросов, так что это общий механизм обработки, судя по всему.
0
|
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
07.07.2014, 17:00 | 16 |
OrkVasya, согласен.
Период Регистратор - штука стрёмная. и я понимаю разработчиков: это момент времени по сути, а надо тащить реквизиты и получать по ним агрегированные данные в вирт. таблице. Поставь себя на их место
0
|
о_____О
224 / 223 / 37
Регистрация: 19.11.2010
Сообщений: 1,062
|
|
07.07.2014, 18:09 [ТС] | 17 |
0
|
07.07.2014, 18:09 | |
07.07.2014, 18:09 | |
Помогаю со студенческими работами здесь
17
Клавиатура и мышь отключаются когда появляется выбор доступа Нужно запустить обработчик, когда снимаешь выбор в type=radio Когда нужно использовать структуры, когда классы, а когда словарь? Выбор нескольких элементов ListBox и обработка ситуации, когда ничего не выбрано как сделать что бы когда нажал выбор кокого нить пункта, а он выделялся и с помощью Enter я подтверждаю что выбираю Когда стоит использовать класс, а когда лучше обойтись без них? Когда использовать модификатор для перемнной Volatile, а когда synchronized? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |