СКД. Как подсчитать количество строк результата? #727005


#0 by SeiOkami
Здравия всем. Подскажите, как можно при программном выводе подсчитать количество строк результата выполнения СКД? Сейчас это происходит путём формирования отчета сначала в ТЗ (для подсчета количества), а затем уже в ТабДокумент. Это бредово - дважды выполняется СКД. Можно как-то нормально получить количество строк без таких махинаций?
#1 by Wobland
на зачем?
#2 by Heckfy
Количество (*) Как Колич
#3 by SeiOkami
, добавлять спец поле количества строк и выводить в результат? По-момему, это тоже не ахти. Плюс, пользователи могут его отключить
#4 by SeiOkami
, какой странный вопрос. Надо же
#5 by Wobland
ну да
#6 by ДенисЧ
"Зачем" ещё не спрашивали? ))
#7 by Heckfy
И это, а чем служебное поле № строки не устраивает?
#8 by SeiOkami
Ок. Никогда не понимал зачем постоянно спрашивать "зачем". >_> Мне нужно в конкретное поле на форме вывести количество строк
#9 by SeiOkami
, ответ тот же .
#10 by Wobland
вперёд
#11 by SeiOkami
, предложения есть? Без глупостей про "да это негому не нушна!"
#12 by Heckfy
На закладке Ресурсы добавь поле по которому количество хочешь считать.
#13 by SeiOkami
Уже предлагали подобное. Но для этого нужно это самое поле выводить в результат, а оно там никому не нужно. Даже если условным оформлением его закрасить, то его могут отключить пользователи. Да и не гибко.
#14 by SeiOkami
Неужели нет нормального способаметода для СКД? 0_о
#15 by Heckfy
Ну так запрети пользователям его отключать.
#16 by SeiOkami
, естественно это не выход. Костыль ещё тот
#17 by ам794123
Например так: Создаешь пользовательское поле "КоличествоСтрок". На закладке Выражение итоговых записей прописываешь формулу: Сумма(ВычислитьВыражениеСГруппировкойМассив("1", "КакоеТоПолеОтчета"))
#18 by SeiOkami
, -> -> "Уже предлагали подобное. Но для этого нужно это самое поле выводить в результат, а оно там никому не нужно. Даже если условным оформлением его закрасить, то его могут отключить пользователи. Да и не гибко."
#19 by Heckfy
#20 by SeiOkami
, мне не нужно выводить в подвал таблицы. Мне нужно получить его программно и загнать в переменную
#21 by Heckfy
Юзай Сч=0; Пока Выборка.Следующий Цикл Универсальный механизм!!!
#22 by SeiOkami
, причем тут вообще выборка? У меня СКД
#23 by Лефмихалыч
в отдельную группировку вывести вычисляемое поле, которое вычисляет Количество(*) пробовал?
#24 by SeiOkami
Эх... -> -> -> Уже отвечал
#25 by ifso
переменная где/как объявляется?
#26 by SeiOkami
, а это важно? В момент программного формирования СКД.
#27 by ам794123
Тогда как-то так: КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
#28 by SeiOkami
, эмм.... Я ведь об этом писал в =)
#29 by mikecool
#30 by batman69
Почитаешь тему... ТС молодой и грубый.
#31 by Wobland
Нуралиев сейчас подпрыгнул от зависти
#32 by batman69
+100500
#33 by ам794123
А если так: МакетКомпоновки.Тело.Получить.КоличествоЗаписей
#34 by SeiOkami
, к сожалению, тоже нет =( КоличествоЗаписей (RecordsCount) Использование: Чтение и запись. Описание: Тип: Число. Указывает количество записей, отображаемых в группировке. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Если значение равно -1, выводятся все записи.
#35 by ifso
всенепременно юзая "СделатьФсё" чего подпрыгивать?)
#36 by ИС-2
Если используется программный вывод, то использовать вместо Вывести ВывестиЭлемент и при каждом выводе увеличивать счетчик. Другой вариант добавить Вычисляемое поле "Кол-во элементов" с выражением "количество(массив(ИмяПоляПоКоторомуМожноПодсчитатьКоличество))" Чтобы пользователи не отключили поле в событии "ПриКомпоновке" искустевенно его добавлять и в условном оформлении выключать видимость
#37 by Timon1405
#38 by Timon1405
группировки тоже считаться будут, а нужны только детальные записи
#39 by Wobland
группировки он тоже хочет, раз ТЗ считает
#40 by SeiOkami
#41 by SeiOkami
, спасибо! Самый дельный совет. Правда проверка не детальные записи таким образом не сработала. Нашел только способ в . Пока работает...
#42 by SeiOkami
Понятно, что можно написать красивее, просто это то, что я сейчас накидал по-быстрому
#43 by mikecool
замерь время формирования и простого вычисляемого поля
#44 by SeiOkami
, не забывай о том, что подход в сработает всегда, а вычисляемое поле - можно только надеяться. Если, конечно, нет нюансов, которые я не учёл. Но пока что не нашел.
#45 by DrZombi
Оно есть
#46 by DrZombi
Оно есть в стандартных полях "Номер строки" и "Номер строки в группе" Если интересует "Итого строк в группе", тогда реализуй подсчет кол строк в той или иной группе, через Дополнительный набор данных. Только связку придумай. Или в Запросе посчитай :)
#47 by DrZombi
Извращенец, спасибо, но мы как нить без этой глупости :)
#48 by SeiOkami
, если есть варианты без этой глупости, то буду рад
#49 by Apollo 11
В СКД Вкладка "Настройки" -"Выбранные поля"  смотри окно "Доступные поля", там в папке "Системные поля" есть то, что тебе нужно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С