СКД: пустая строка

1. pvlunegov 158 14.12.11 21:11 Сейчас в теме
Имеется отчет на СКД. Несколько детальных записей, группировок. Задал Для каждой группировки свой макет.
При выводе отчета между группировками автоматически вставляется пустая строка.

Задача: Убрать пустые строки между группировками

Сломал голову, облазил множество форумов.

Вывод один:
Убирать пустые строки программно. В обработчике события ОбновлениеОтображения формы отчета
вставил код:

Таб = ЭлементыФормы.Результат;
Таб.Очистить();
ЭтотОбъект.СкомпоноватьРезультат(Таб);

мсвПустыеСтроки = Новый Массив;
Для Стр=1 По Таб.ВысотаТаблицы Цикл
ЭтоПустаяСтрока = Истина;
Для Кол=1 По Таб.ШиринаТаблицы Цикл
Обл = Таб.Область(Стр,Кол);
Если ЗначениеЗаполнено(Обл.Текст) Тогда
ЭтоПустаяСтрока = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭтоПустаяСтрока Тогда
мсвПустыеСтроки.Вставить(0,Стр);
КонецЕсли;
КонецЦикла;

Для Каждого Эл Из мсвПустыеСтроки Цикл
Таб.УдалитьОбласть(Таб.Область(Эл,,Эл),ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЦикла;

После этого отчет выводится как надо, без пустых строк между группировками
alenakrr; hasp_x; kmarat; KAV2; vlad.frost; rendalina; AntonS; VovkaPutin; corelius; memo4i; +10 Ответить
По теме из базы знаний
Найденные решения
7. 5552007 17.07.12 16:14 Сейчас в теме
В настройке группировки где не нужны пустые заголовки, устанавливаешь отбор, "Имя группировки" <> пустоезначениеМетаданных (скд по умолчанию устанавливает это условие).
Прикрепленные файлы:
slnosa; igor_semen; user712426; GonziK_KIV; lostcay; criptid; bohdan-k; delat; ArthurSufiyarov; churlena; Olenevod; MishaG709; mark_oilbass; Jacki; TashaMesh; Alexjas25; halker; romti; dark_avenger; krisla; eeeio; corelius; +22 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. _kvasil 26.12.11 17:43 Сейчас в теме
а группировку ты выбирал запросом ?? если да, то нужно посмотреть на текст запроса, може ты уже выбираешь данные с пустыми строками и все во лишь нужно подправить запрос
3. mtv:) 1028 26.12.11 20:18 Сейчас в теме
Не должно быть пустых строк. Глянуть бы на запрос твой, скорее всего в нем что-то не так.
4. pvlunegov 158 28.12.11 09:32 Сейчас в теме
На счет пустых строк в запросе - НЕТ, их нету. Проверял результат запроса в консоли запросов - нет пустых строк.
Запросы были самые разные, в результатах запросов НЕТ ПУСТЫХ СТРОК.
пустая строка при выводе отчета на СКД появляется независимо от запроса.
Пустая строка НЕ ЯВЛЯЕТСЯ строкой данных запроса. Она вставляется автоматически системой СКД между группировками.

Я не открывал велосипед, эта проблема давно известна.
На данную тему есть обсуждения на форумах, кому интересно, ГУГЛ в помощь.

Я предложил одно из решений данной проблемы. Это решение работает у меня и у других людей.

Решение достаточно кривое (ищутся и удаляются все пустые строки в форме, куда выводится запрос).
У меня в отчете, например, возникла необходимость удалять не все пустые строки (в СКД выводил данные с помощью своего макета), поэтому пришлось извращатся с условиями на поиск пустых строк (несколько первых строк не удалял).

У кого есть более изящное решение (более универсальное), прошу вас ответить.
5. pvlunegov 158 28.12.11 09:32 Сейчас в теме
На счет группировки - в запросе не делал группировок.

Группировки в СКД.
6. Gle 29.05.12 13:48 Сейчас в теме
Спасибо тебе, добрый человек. Воспользовалась советом.
Сама облазила все, что могла, переделывала отчет разными способами, по-другому не получилось. Но тоже жду, может кто напишет более изящное решение.
7. 5552007 17.07.12 16:14 Сейчас в теме
В настройке группировки где не нужны пустые заголовки, устанавливаешь отбор, "Имя группировки" <> пустоезначениеМетаданных (скд по умолчанию устанавливает это условие).
Прикрепленные файлы:
slnosa; igor_semen; user712426; GonziK_KIV; lostcay; criptid; bohdan-k; delat; ArthurSufiyarov; churlena; Olenevod; MishaG709; mark_oilbass; Jacki; TashaMesh; Alexjas25; halker; romti; dark_avenger; krisla; eeeio; corelius; +22 Ответить
10. bluntschi 25.02.16 15:22 Сейчас в теме
(7) 5552007, добрый день, подскажите, а как сделать, так чтобы была возможность в отборе прописать Документ.НазваниеДокумента.ПустаяСсылка
а то мне выбрать только дает сам документ или поле компановки
11. Xershi 1551 25.02.16 15:35 Сейчас в теме
(10) bluntschi, сам документ без выбора. Это и есть пустая ссылка. шифт+ф4.
12. pvlunegov 158 01.03.16 09:27 Сейчас в теме
(10) bluntschi,
В отборе компоновки данных, чтобы выбрать пустой документ нужного вида, достаточно в поле выбора выбрать вид документа и не заполнять поле.
Таким образом сравнение поля компоновки данных будет с пустым документом нужного вида.
17. pvlunegov 158 15.12.16 09:31 Сейчас в теме
(7) Это частное решение, не работает в общем случае.
Я не так часто, но встречал подобные проблемы, когда СКД НЕ ЗАВИСИМО от хорошо написанного запроса вставляет пустые строки.
Нужно курить механизм изменения Запроса Системой СКД.
В отдельных случаях (МНОГОЭТАЖНЫЕ ЗАПРОСЫ) приходится ЗНАЧИТЕЛЬНО УПРОШАТЬ ЗАПРОС (Уплощать, переводить из пакетных запросов на вложенные!)

Так что подобная задача ЗНАЧИТЕЛЬНО НЕ ТРИВИАЛЬНАЯ как кажется новичкам.
Попробуйте, для примера, подобную задачу решить в случае 30 этажного ПАКЕТНОГО запроса вычисления себестоимости товаров.
Это задача достаточно ТЯЖЕЛАЯ, не сложная, а кропотливая.

ТАк что в этом вопросе нет универсальных решений, все решает опыт.
Middle2People; +1 Ответить
18. Xershi 1551 15.12.16 14:03 Сейчас в теме
(17) недавно обнаружил что нулевые записи можно убрать используя не объединить, а через разные наборы!
8. corelius 4 24.08.13 14:37 Сейчас в теме
Самое изящное решение - изучать СКД. СКД это великая вещь! Все элементарно настраивается в отборах. Респект 5552007 за хороший ответ.
9. pvlunegov 158 27.08.13 14:57 Сейчас в теме
corelius, СКД далеко не такой изящный инструмент как кажется.
Разработчики 1с постарались, но есть множество отчетов, которые средствами СКД не построить в принципе.

СКД - это рабочий интрумент, как и любой инструмент, у него есть свои ограничения.
Другое дело если бы СКД позиционировали как комплекс инструментов, охватывающих от и до весь процесс разработки отчетов, но это было бы слишком круто и дорого.

1с ленивые (точнее сказать жадные). Они СКД недоделали (до комплекса инструментов по разработке отчетов) по той причине, что это для них слишком дорого и затратно.

Зато они радостно вопят на каждом углу что СКД мощно и круто и наценивают свою 1с с дикой накруткой. Это все реклама и маркетинг.

Если же рассматривать СКД с точки зрения удобства и применимости ко многим ситуациям (нестандартным отчетам),
то СКД неожиданно поворачивается своей невидимой стороной, которая оказывается убогой и недоработанной.

Что касается "универсальности" - это сильно загромоздило неудобный интерфейс и инструмент помощи разработчику превратился в монстра. Чтобы что-то настроить нужно закликивать до умопомрачения и разбиратся в связях каждого элемента интерфейс-монстра.

1с пошли по пути коммерции, раскрутки, саморекламы. Удобный и мощный по-задумке инструмент они превратили в красивое гламурное, но очень громоздкое средство рекламы 1с 8.

1с могли пойти по-другому пути (помощи ОПЫТНОМУ разработчику) и сделать НАБОР инструментов без гарантии результата, для помощи при разработке отчета. Такой вариант вполне устраивает программистов с головой, которые разбираются в коде и которым не важен внешний вид инструмента. Важна степень помощи и время, сокращенное при разработке благодаря инструменту. В этом плане СКД сильно проигрывает народным средствам ("народное СКД")
lsnr; VOA2009; Rif_md; user769014; freeek; Arc; SergSergWolf; +7 Ответить
13. TVA_11 01.03.16 09:38 Сейчас в теме
А простой отбор по пустым строкам почему не подходит?
14. Stranger777 17.08.16 16:25 Сейчас в теме
Если там значение null, то можно выбрать на вкладке Наборы данных -> Роли : поставить галку "Игнорировать значение null"
Flipp; Santa1; andogskiy; user1560413; yurazyuraz; doronin70; EMelihoff; +7 Ответить
32. EMelihoff 23.01.20 16:55 Сейчас в теме
(14) Так же учит Белоусов! Спасибо за ответ!
34. yurazyuraz 14.09.21 03:04 Сейчас в теме
(14) мне помогло спасибо
Наборы данных -> Роли : поставить галку "Игнорировать значение null"
Middle2People; +1 Ответить
15. nofx 14.12.16 18:36 Сейчас в теме
и шо, никто не решил траблу Петра???
16. pvlunegov 158 15.12.16 09:26 Сейчас в теме
Сергей, прошу больше не выражаться. Я вас не знаю, и не потерплю фамильярностей в моем отношении. Это раз.
Эта проблема уже давным давно решена (на дворе 2016 год).
С тех пор я из детских штанишек давно вырос, и подобные проблемы каждый день пачками решаю легко и непринужденно.
Собственно, это даже не проблема а пшик. Опытный программист легко обойдет.
Она решается просто. Решений куча в инете, могу найти описание подробнейшие.
Если кому понадобиться, дам ссылку.
НЕ вижу смысла флудить решениями, если они уже многократно описаны.
19. nofx 19.12.16 16:46 Сейчас в теме
(16) Извиняюсь, за фамильярность. ( слово "трабла" - это такой жаргон, переводится как "проблема", то есть я писал "проблема" Имя).

Если Вам не сложно, тыкните в "подбробнейшее описание".
На моем примере - запрос выводит записи, нет никаких пакетов и сложных соединений.

П.С. Да, на дворе скоро 2017 год, но не все используют новые платформы.
20. Rif_md 6 28.11.17 18:09 Сейчас в теме
(16) Петр, подскажите пожалуйста как Вы решили проблему пустых строк в отчете СКД. У меня простейший отчет карточка счета на СКД со своим макетом и почему то между группировками есть пустые строки. Вариант с редактированием итоговой таблицы это на крайний случай. Может есть вариант изящнее?
21. pvlunegov 158 30.11.17 07:57 Сейчас в теме
Хороший вопрос, Игорь.
С тех времен, как был открыт пост (2011) разработчики 1с видимо успешно решили данный вопрос.
В новых версиях платформы (я щас работаю на 1с 8.3.10.2375) эту траблу решили. На данный момент, СКД выводит группировки без пробелов (я по крайней мере не встречал отчетов где есть пробелы в последние года).
Может я и не прав, если у вас все еще эта проблема встречается, просьба сообщить:
1. Версию платформы
2. Скриншот
Если хотите, чтобы я подумал чем могу помочь, просьба выложить отчет и версию конфигурации в которой запускаете, я попробую воспроизвести и поразмыслю над причинами.

И попробуйте установить платформ не ниже указанной у меня 8.3.10.2375. Если исчезнут пробелы между группировками, значит 1с это дело исправило в текущих релизах.
31. user1041533 30.10.19 06:12 Сейчас в теме
Не работает
Платформа 8.3 (8.3.14.1630)

(21)
Прикрепленные файлы:
22. Jacki 22.02.18 17:16 Сейчас в теме
Оживлю немного тему, ибо тоже потратил время на решение этого вопроса.
Достаточно создать пустую группировку детальных записей с отключенными авто-полями и к ней уже дочерними группировками добавлять произвольные группировки, которые должны идти вместе, с одной шапкой и без промежутков между ними.
Далее, на закладке Макеты создаём макеты группировок (Добавить макет группировки ) с типом Заголовок для всех группировок, включая Шапку.
Получаем единую таблицу с общей шапкой и единой структурой.
Надеюсь это сэкономит кому-нибудь время и нервы ))
Прикрепленные файлы:
daryana; Pushno; krikmarin; abadonna83; westline3; Spacer; vedas; 1274gmar; Тильчик; kas1989; alx7304; vre; dreamcreal; +13 Ответить
26. dreamcreal 23.07.18 02:06 Сейчас в теме
(22) Я тоже потратила много времени на решение этого вопроса.
Жаль, что Ваш пост увидела после, а не до.

Всем, у кого похожая проблема - обратите внимание на 22-й комментарий.
daryana; 1274gmar; +2 Ответить
35. 7500877 17.07.23 17:55 Сейчас в теме
Спасибо тебе, добрый человек!
37. krikmarin 2 15.11.23 06:37 Сейчас в теме
(22) Спасибо автору комментария. Тоже потратил достаточно много времени на поиск данного решения.
38. user593719_s_klopkov 07.06.24 13:34 Сейчас в теме
(22)Спасибо тебе, добрый человек!!!
23. slavko_ku 04.03.18 18:51 Сейчас в теме
У меня такая же проблема в отчете расчет с клиентами выводятся пустые строки, как убрать строки где в поле долг конечный остаток является пустым
24. DShirinkin 18.03.18 01:34 Сейчас в теме
(23) В сообщении (22) содержится ответ. Главное чтобы группировки были вложены хоть в одну какую-нибудь группировку (можно считать ее шапкой группировок) как в упомянутом мной сообщении. Автополя можно не выключать.
25. slavko_ku 19.03.18 14:37 Сейчас в теме
Сделал, к сожалению все подсказки не помогли , сам додумался , не програмно, без автополей
27. SvetaS2014 15.01.19 19:36 Сейчас в теме
тот же вопрос
отчет обычный как убрать пустые строки с отчета
формируется отчет по справочнику
структура
реквизит
родитель
наименование

убрать нужно вывод отдельно
пустой группы со всеми родителями
30. pvlunegov 158 17.01.19 08:12 Сейчас в теме
(27) В статье описано простое решение. Вы его попробовали? Вы попробовали другие способы, предложенные в комментариях. Вы их попробовали? Если у вас КОНКРЕТНЫЙ вопрос, опишите что у вас не получилось, на какой версии платформы, при каких условиях, приложите обработку или отчет с примером вашего кода. Какой вопрос такой и ответ.
Если вы желаете получить помощь, разворачивайте полно ваш вопрос и приложите некоторые усилия, чтобы я вас понял, что вы хотите.
28. SvetaS2014 15.01.19 19:37 Сейчас в теме
29. pvlunegov 158 17.01.19 08:10 Сейчас в теме
(28) На мой взгляд, все подробно расписано по шагам. И в самом коде все расписано. Далее в комментариях описано изменение решения проблемы с течением времени. В более новых версиях платформы данная проблема была решена разработчиками. Если у вас старая версия, попробуйте на практике те способы решения, которые были предложены в рамках данной статьи и в комментариях.
Если у вас не получается, конкретизируйте ваш вопрос.
Я тоже могу задать вам общий вопрос: "А почему вы не убрали? А почему не получилось? А какая версия платформы? А какой отчет? А не предоставите ли ваш код, способы его проверки, сколько раз проверяли, при каких условиях?"
33. doronin70 05.11.20 22:28 Сейчас в теме
Мне помог 14 комментарий. Одна галочка в роли и нет проблем.
36. DarkManRND 26.07.23 11:56 Сейчас в теме
(22) Респект тебе, добрый человек! Весь день голову ломал. Положил в копилку
Оставьте свое сообщение

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