Количество заполненных ячеек в СКД

1. AndrewUs 11 17.05.19 08:28 Сейчас в теме
Здравствуйте!
Есть отчет на СКД на УФ, в котором есть колонки, день1, день2 и т.д.
Эти колонки заполняются произвольными цифрами. Подскажите, пожалуйста, как средствами скд подсчитать количество заполненных колонок?
Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. toypaul 63 17.05.19 08:37 Сейчас в теме
Ни за что не показывайте нам настройки своего отчета
4. VmvLer 17.05.19 08:50 Сейчас в теме
(2) зачем? задача очевидна
6. toypaul 63 17.05.19 08:54 Сейчас в теме
(4) хоспади. как меня задолбали эти "задача очевидна".

автор. тебе вот так надо http://prntscr.com/npnqym

или может как-то по другому?
7. AndrewUs 11 17.05.19 08:55 Сейчас в теме
9. toypaul 63 17.05.19 08:56 Сейчас в теме
(7) ну тогда сделай вот так http://prntscr.com/npnrsm

а как сделать свой итог рассказано в этом курсе :) http://learn.programstore.ru/video_kurs_skd
3. VmvLer 17.05.19 08:50 Сейчас в теме
добавить вычисляемое поле-выражение "СчетчикНеПустыхДней"

выражение детальных записей
Выбор Когда ЗначениеЗаполнено(День) Тогда 1 Иначе 0 Конец 


выражение итоговых записей
Сумма(Выбор Когда ЗначениеЗаполнено(День) Тогда 1 Иначе 0 Конец )
5. dhurricane 17.05.19 08:52 Сейчас в теме
(3) Не так все очевидно. :) Возможно автору нужно посчитать не количество заполненных ячеек в таблице, а именно колонок (т.е. хотя бы одна ячейка колонки заполнена). Плюс не понятно, где именно эта информация должна отображаться.
10. VmvLer 17.05.19 08:56 Сейчас в теме
(5) ну ждите настройки, я не против
количество решений конечно
1. добавить поле счетчика в запрос, но это ущербно, т.к. по группировкам могут быть не верны итоги;
2. добавить вычисляемое поле в схему СКД, что лучше п.1. и для фиксированных настроек прокатит, но тоже ущербно;
3. добавить пользовательское вычисляемое поле в логике примерно как я указал.
..
n. более ущербные варианты возбужденных умов.
8. toypaul 63 17.05.19 08:55 Сейчас в теме
(3) это какая-то бредятина не имеющая отношения к вопросу вообще никак
11. VmvLer 17.05.19 09:01 Сейчас в теме
(8) тем не менее, у вас практически такое решение как я указал в своем "бреду".

Задача была очевидна с самого начала, я указал решение и перечислил варианты, что не так?

или рекламировать тут свои блестящие костыли с отрицанием очевидного - это такая маркетинговая фишка?)
12. toypaul 63 17.05.19 09:05 Сейчас в теме
(11)
практически такое решение


нехорошо врать. стыдно должно быть перед самим собой хотя бы.


(11)
перечлил варианты, что не так


можно указать сколько угодно неправильных направлений. только кому это надо?


(11)
это такая маркетинговая фишка?)


а что? может кому-то поможет. тебе, например, судя по всему
13. AndrewUs 11 17.05.19 09:08 Сейчас в теме
Я сейчас попробовал такой вариант с вычисляемым полем. Указал выражение
(Выбор Когда ЗначениеЗаполнено(День1) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День2) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День3) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День4) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День5) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День6) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День7) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День8) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День9) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День10) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День11) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День12) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День13) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День14) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День15) Тогда 1 Иначе 0 Конец)


Реализация отвратительная, я это понимаю. Но день1 ... день15, конкретные реквизиты табличной части. Можно ли как-то уменьшить данный код?
Спасибо.
15. VmvLer 17.05.19 09:10 Сейчас в теме
(13) в моем решении было направление решения, чтобы получить результат нужно просто включить мозг в этом направлении.
18. AndrewUs 11 17.05.19 09:26 Сейчас в теме
(15)
включить мозг


Спасибо за подсказку, я Вам очень признателен, но даже, если Вам кто-то из участников испортил настроение нет никакой нужны хамить, буду говорить за себя, мне лично, потому что мне необходимо было подсказать решение или направление решения, а не что и где включать. Надеюсь мои слова вы воспримите правильно. Спасибо.
20. VmvLer 17.05.19 09:43 Сейчас в теме
(18) повторюсь ради вас - включайте мозг!

это не хамство я считаю, а практичный совет. да/нет?
21. AndrewUs 11 17.05.19 09:53 Сейчас в теме
(20) Я совершенно не хочу дискутировать на данную тему, т.к. я считаю иначе, и совершенно незнакомым людям "практичные советы" нужно давать в более корректной форме и, если они об этом попросят. Но я пока не встречал людей, которые просили бы совет по включению мозга )))
22. VmvLer 17.05.19 10:21 Сейчас в теме
(21) считаю, в эпоху марша машинного интеллекта необходимо быть готовым к любым советам, а к просьбе включить мозг относиться уважительно)
23. AndrewUs 11 17.05.19 10:43 Сейчас в теме
(22) Не зависимо от того, какая эпоха, уважительно нужно относиться к собеседнику )) А к советам прислушиваться, если они уместны.
16. toypaul 63 17.05.19 09:13 Сейчас в теме
(13)
Я сейчас попробовал такой вариант с вычисляемыми полем. Указал выражение


Может покажем уже настройки отчета? И покажем структуру объектов?
17. AndrewUs 11 17.05.19 09:24 Сейчас в теме
(16) Сам запрос
ВЫБРАТЬ
	ТабельСписок.ФИО.Код КАК ФИОКод,
	ТабельСписок.ФИО КАК ФИО,
	ТабельСписок.ФИО.Должность КАК ФИОДолжность,
	СУММА(ТабельСписок.День1) КАК День1,
	СУММА(ТабельСписок.День2) КАК День2,
	СУММА(ТабельСписок.День3) КАК День3,
	СУММА(ТабельСписок.День4) КАК День4,
	СУММА(ТабельСписок.День5) КАК День5,
	СУММА(ТабельСписок.День6) КАК День6,
	СУММА(ТабельСписок.День7) КАК День7,
	СУММА(ТабельСписок.День8) КАК День8,
	СУММА(ТабельСписок.День9) КАК День9,
	СУММА(ТабельСписок.День10) КАК День10,
	СУММА(ТабельСписок.День11) КАК День11,
	СУММА(ТабельСписок.День12) КАК День12,
	СУММА(ТабельСписок.День13) КАК День13,
	СУММА(ТабельСписок.День14) КАК День14,
	СУММА(ТабельСписок.День15) КАК День15,
	ТабельСписок.Тариф КАК Тариф,
	ТабельСписок.ЗарплатаПоТарифу КАК ЗарплатаПоТарифу,
	ТабельСписок.ДатаДок КАК ДатаДок
ИЗ
	Документ.Табель.Список КАК ТабельСписок
ГДЕ
	ТабельСписок.ДатаДок = &ДатаДок

СГРУППИРОВАТЬ ПО
	ТабельСписок.ФИО,
	ТабельСписок.ФИО.Код,
	ТабельСписок.ФИО.Должность,
	ТабельСписок.Тариф,
	ТабельСписок.ЗарплатаПоТарифу,
	ТабельСписок.ДатаДок

УПОРЯДОЧИТЬ ПО
	ФИО
Показать
19. toypaul 63 17.05.19 09:35 Сейчас в теме
(17) ну и в чем сложность-то? в чем сложность прямо в запросе посчитать количество колонок в которых не 0?
24. alex-l19041 8 17.05.19 10:55 Сейчас в теме
(13) в вычисляемых полях СКД можно вызывать функции из общих модулей... я бы
Выбор Когда ЗначениеЗаполнено(День1) Тогда 1 Иначе 0 Конец) + (Выбор Когда ЗначениеЗаполнено(День2)...
оформил в виде функции, чтобы выглядело в СКД компактно... хотя сути это не меняет
25. dhurricane 17.05.19 12:26 Сейчас в теме
(13) У меня получилось вот так, чуть компактнее:
Цел(ЗначениеЗаполнено(День1)) + 
Цел(ЗначениеЗаполнено(День2)) +
Цел(ЗначениеЗаполнено(День3)) +
Цел(ЗначениеЗаполнено(День4)) +
Цел(ЗначениеЗаполнено(День5)) +
...
14. VmvLer 17.05.19 09:09 Сейчас в теме
12. я с вами на ты не переходил - это раз.
тема себя исчерпала, а цепляться к словам удел обиженных - это два.
Вы обиженный? вопрос риторический

если магнитная буря возбудила ваш ум, то возьмите отпуск, чо. досвидос.
Оставьте свое сообщение

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