Вычисляемые поля на СКД

1. user817897 2 19.02.19 11:16 Сейчас в теме
Работаю в УТ 10.3.
Создал реквизит(КолВоОшибок) в Документе ЗаказПокупателя.
В одном документа заказапокупателя проставил количество в это поле: 5, а в документе Табличнойчасти находится 65 позиций номенклатуры.
Делаю отчёт на СКД, создаю вычисляемое поле(КолВоОшибок), в выражении ничего не прописываю, перехожу на вкладку Ресурсы, добавляю,
пишу выражение: Сумма(ЗаказПокупателя.КолВоОшибок).
В настройке отчёта,указываю группировкуСтолбца по Комплектовщику ЗаказаПокупателя, группировкуСтроки по дням,выводит везде 0,так как в других документах не проставлял ничего,а тут суммирует странно, пишет в этом документе 325. я так понимаю оно как-то перемножило,5*65.
Как мне получить сумму за день,5 а не 325. Не пойму. Подскажите пожалуйста.
По теме из базы знаний
Найденные решения
25. dhurricane 20.02.19 11:14 Сейчас в теме
(22) Если "КоличествоНоменклатуры" и "КоличествоЗаказов" - это ресурсы, то платформа для них создаст вложенные поля с процентами от от общего итога, от итога в группировке и т.д. Найдите Ваши ресурсы в списке доступных для выбора полей и разверните их, нажав плюсик. Подойдут Вам такие вложенные поля?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 10 19.02.19 11:29 Сейчас в теме
(1) если это реквизит документа, а не табличной части, то все нормально. Для каждой строки ТЧ кол-во ошибок 5. Сумма(ЗаказПокупателя.КолВоОшибок) суммирует. Сделай в ресурсах просто ЗаказПокупателя и скорее всего все будет норм
3. user817897 2 19.02.19 11:42 Сейчас в теме
(2)В таком случае,выводит все 0(по периодам(день)), а если развернуть заказ покупателя где знаю что 5 стоит,то да,там стоит 5, а мне нужно чтобы высчитывало здесь. в отчёте
4. dandykry 10 19.02.19 12:16 Сейчас в теме
(3) Лучше скрины показать. Вкладки ресурсы, вкладки структуры, и как формируется.
Конечно желательно запрос, но преставление о нем я имею.
5. user817897 2 19.02.19 12:25 Сейчас в теме
6. user817897 2 19.02.19 12:27 Сейчас в теме
(4)
Прикрепленные файлы:
9. dandykry 10 19.02.19 12:51 Сейчас в теме
(6) такс...
В вычисляемые поля в выражение поставьте 0 или определите типзначения Число. Я точно не уверен, потому что запроса не видно, но там может быть null. Лучше избежать.

В группировке по строкам - выделите - нажмите - уберите поле Авто и добавьте собственные поля, кроме ресурсов (которые должны считаться по заказу)
http://prntscr.com/mn32i3

У меня вот так http://prntscr.com/mn33dw

Дальше выбирайте колонки и добавьте туда ресурсы, которые должны рассчитываться . У меня вот так http://prntscr.com/mn349b

проверяйте. если будет что-то не так, полезем в ресурсы. По идее "Если x<>0 Тогда х иначе 0 Конец" излишне
12. user817897 2 19.02.19 13:05 Сейчас в теме
(9) Сделал как описали, всё равно 0 пишет,а если развернуть там внутри,то есть там эта пятёрка среди всех заказов
Прикрепленные файлы:
13. dandykry 10 19.02.19 13:15 Сейчас в теме
(12) Хм. Либо СКД обрезает запрос, когда выполняется, либо чего то мы не учитываем. К сожалению у меня нет Ут 10.
могу посоветовать только посмотреть макет компоновки и попробовать разобраться в запросе, который получается на выходе.
7. user817897 2 19.02.19 12:29 Сейчас в теме
(4)у меня есть предположения что просто не правильная группировка выставлена
8. user817897 2 19.02.19 12:47 Сейчас в теме
(7) а запрос брал из универсального отчёта
10. y22-k 250 19.02.19 12:54 Сейчас в теме
я бы как-то так сделал Сумма(ВычислитьВыражение("Максимум(ЗаказПокупателя.КолВоОшибок)"),"Заказпокупателя") ,посмотри правильный синтаксис в языке выраженией СКД

Идея в том чтобы он по одному заказу считал максимум а за день считал сумму по заказам или по дням.
11. dandykry 10 19.02.19 12:56 Сейчас в теме
(10) т.е если в 1 заказе 10 ошибок, а в другом 9, то в колонке выведет 10 ?
14. y22-k 250 19.02.19 13:17 Сейчас в теме
(11) ну да, тк сумму считает Сумма(XXX),
как вариант еще попробовать вместо ВычислитьВыражение( сделать ВычислитьВыражениесГруппировкойвМассив(
15. user817897 2 19.02.19 13:25 Сейчас в теме
(14)Спасибо вам ребят всем огромное, помогли ваши советы. сделал как в (14), и получилась ПУШКА-ГОНКА!)))))
Сумма(ВЫЧИСЛИТЬВыражениесгруппировкоймассив("Максимум(ЗаказПокупателя.КолВоОшибок)", "ЗаказПокупателя"))

вот так прокатило)))
Спасибо огромное)
16. user817897 2 19.02.19 13:25 Сейчас в теме
(14)Только вопрос,если я сейчас проставлю ещё к примеру ошибку где нибудь,оно ссумирует?
17. y22-k 250 19.02.19 13:35 Сейчас в теме
18. dandykry 10 19.02.19 13:48 Сейчас в теме
(14) По идее так сильно заморачиваться не нужно было. Просто где-то есть ошибка.
Я так подумал Сумма(х) = пустота только если все значения равны 0 или в выборке есть null. т.е 3+2+1+null = null

ВычислитьВыражениесГруппировкойвМассив это здорово, но работать будет существенно медленнее.

но если работает - значит трогать не на доб но)
19. user817897 2 19.02.19 13:52 Сейчас в теме
(18)Спасибо)) Ребят, вы гении,я ещё немного учусь можно сказать))
20. dandykry 10 19.02.19 13:56 Сейчас в теме
(19) Если есть доступ - https://its.1c.ru/db/v8312doc#bookmark:usr:TI000000255

И если нажать f1 в СКД и перейти в содержание, то можно увидеть все

http://prntscr.com/mn4493

На ИТС больше
21. user817897 2 19.02.19 15:50 Сейчас в теме
(20)Спасибо за полезную информацию)))
24. dhurricane 20.02.19 11:11 Сейчас в теме
(18) Извините, что вмешиваюсь, это не так.
Сумма(х) = пустота, только если все значения 0 или все значения null. Агрегатные функции довольно умные штуки, если есть в выборке числа, то значения null не будут учитываться (как-будто бы там 0 для суммы).
28. dandykry 10 22.02.19 07:32 Сейчас в теме
(24) http://prntscr.com/mogsu3 - ну фиг его знает. Если честно бывает и так как вы сказали, и так как в справке написано
29. dhurricane 22.02.19 07:47 Сейчас в теме
(28) Если не ошибаюсь, это относится именно к операциям, не к агрегатным функциями. Т.е. если мы складываем несколько различных полей, хотя бы одно из которых NULL, результат будет NULL:
A + B + C + NULL+ D = NULL
Если же используем агрегатную функцию к нескольким записям по одному полю, то значения NULL игнорируются:
Сумма(А) = <Число>
Минимум(А) = <Число>
Значение NULL мы получим только в том случае, если пришлось игнорировать все записи:
Сумма(NULL) = NULL.

Но в отличии от Вас, у меня только слова, извините. :) Вашу цитату я нашел в справке, а вот подтверждение своих слов - нет. Только эксперимент.
30. dandykry 10 22.02.19 08:17 Сейчас в теме
(29) Не только слова) я сделал отчет где число и null . Выводит число. Вы правы.

Знаю еще где-то в недрах справки есть особенности использования Сумма(ЕСТЬNULL(x, 0)) И ЕСТЬNULL(Сумма(х), 0 ). Только найти не смог
22. user817897 2 20.02.19 11:06 Сейчас в теме
Работает нормально,но дальше мне надо вычислить:
В каждом комплектовщике видеть :
Итоговый показатель сбора товара: Кол-вономенклатуры / Сумму(Кол-вономенклатуры)
Итоговый показатель по сбору заказов: Кол-воЗаказов / Сумму(Кол-воЗаказов )
Проблема в том что,Как вычислить по вычисляемым полям?
25. dhurricane 20.02.19 11:14 Сейчас в теме
(22) Если "КоличествоНоменклатуры" и "КоличествоЗаказов" - это ресурсы, то платформа для них создаст вложенные поля с процентами от от общего итога, от итога в группировке и т.д. Найдите Ваши ресурсы в списке доступных для выбора полей и разверните их, нажав плюсик. Подойдут Вам такие вложенные поля?
26. user817897 2 20.02.19 11:16 Сейчас в теме
(25)Да это ресурсы,сейчас посмотрю или оно правильно высчитает. Минутку
27. user817897 2 20.02.19 11:50 Сейчас в теме
(25)супер,круто,то что нужно)))
23. user817897 2 20.02.19 11:07 Сейчас в теме
выглядит сейчас вот так.
Прикрепленные файлы:
31. user817897 2 10.11.20 13:27 Сейчас в теме
Спасибо, Тема закрыта.
Оставьте свое сообщение

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