Посты с тэгами "Группировки"

Пустые строки? Регистратор “неопределено”? Решение очевидное!

Ваш отзывFavoriteLoadingВ закладки

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

Причина написания статьи: при написании простого отчета по остаткам и оборотам по виртуальной таблице столкнулся с следующей проблемой: после каждой группы по две пустые строки, а если пробовать расшифровать регистратор выводится сообщение “Неопределено” .  Простое решение посоветовал Орлов Алексей.  За что отдельное спасибо!

И так –  кратко и с рисунками.

Цель: сформировать отчет по остаткам и оборотам по виртуальной таблице ОстаткиИОбороты.

Думаю, эта статья пригодится тем, кто только начал разбираться в СКД, и у кого при формировании простых отчетов, возникают непростые проблемы. Причина написания статьи: при написании простого отчета по остаткам и оборотам по виртуальной таблице столкнулся с следующей проблемой: после каждой группы по две пустые строки, а если пробовать расшифровать регистратор выводится сообщение “Неопределено” .  Простое решение посоветовал Орлов Алексей.  За что отдельное спасибо! И так –  кратко и с рисунками. Цель: сформировать отчет по остаткам и оборотам по виртуальной таблице ОстаткиИОбороты. Какой вид имел отчет на начало. После каждой группировке пустые строки.  По сути своей это итоги на начало и на конец периода по каждой группе. Для решения этой проблемы нужно поставить отбор по группировке в настройках отчета. Для наглядности место группировке “Детальные записи”, выводится группировка по самому регистратору. Для завершения настроек на закладке “Другие настройки” поставим “Выводить отбор” – Не выводить. Посмотрим что у нас получилось. При формировании отчета возникло много вопросов. Для лучшего понимания принципов формирования подобных отчетов рекомендую следующую статью с диска ИТС....

Далее

Как объединить заголовки колонок в таблице

Отзывов (5)FavoriteLoadingВ закладки

Данный пост родился в результате поиска решения проблемы из поста http://1cskd.ru/2010/07/kak-v-skd-nakryt-kolonki-shapkoj/

Имеем отчет вида:

:

Настройки отчета:

Необходимо одинаковые заголовки группировок объединить.

Данный пост родился в результате поиска решения проблемы из поста http://1cskd.ru/2010/07/kak-v-skd-nakryt-kolonki-shapkoj/ Имеем отчет вида: : Настройки отчета: Необходимо одинаковые заголовки группировок объединить. Предлагаю данную операцию произвести над сформированным табличным документом, используя следующий код: // Проверка двух смежных ячеек на идентичночность Функция ОбъединятьЯчейки(ТабДок, индСтр, индКол) Ячейка = ТабДок.Область(индСтр, индКол); ЯчейкаСлед = ТабДок.Область(индСтр, индКол+1); Если ПустаяСтрока(Ячейка.Текст) Тогда Возврат ложь ИначеЕсли //Проверяем на соответствие заголовка Ячейка.Текст = ЯчейкаСлед.Текст // Проверяем на соответствие имени (отсеиваем уже объединенные ячейки) и Ячейка.Имя = "R"+индСтр+"C"+индКол Тогда Возврат Истина; Иначе Возврат ложь КонецЕсли; КонецФункции // Обработка заголовков таблицы // // Параметры // Табл - < Тип.ТабличныйДокумент> - Табличный документ формы Процедура ОбработатьЗаголовки(ТабДок) ОбъединяемаяОбласть = Неопределено; //Для оптимизации здесь нужно будет ограничить высоту таблицы Для индСтр=1 По ТабДок.ВысотаТаблицы Цикл НачальнаяКолонка = 0; Для индКол=1 По ТабДок.ШиринаТаблицы Цикл // определяем начало объединения Если ОбъединятьЯчейки(ТабДок, индСтр, индКол) Тогда Если не НачальнаяКолонка Тогда НачальнаяКолонка = индКол; КонецЕсли; ИначеЕсли НачальнаяКолонка Тогда // завершаем объединение ТекстЗаголовка = ТабДок.Область(индСтр, индКол).Текст; ОбъединяемаяОбласть = ТабДок.Область(индСтр, НачальнаяКолонка, индСтр, индКол); ОбъединяемаяОбласть.Объединить(); ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; ОбъединяемаяОбласть.Текст = ТекстЗаголовка; НачальнаяКолонка = 0; Иначе НачальнаяКолонка = 0; КонецЕсли; КонецЦикла; // Если нашли в строке области для объединения, то прекращаем дальнейшие поиски Если не ОбъединяемаяОбласть = Неопределено Тогда возврат; КонецЕсли; КонецЦикла; КонецПроцедуры Вставляем вызов после формирования табличного документа: Результат представлен ниже: Главный недостаток этого способа, трудно заранее определить начальную и конечную область поиска, т. к. функция может отработать  и объединить любые другие смежные идентичные ячейки. Если есть идеи как однозначно идентифицировать ячейки заголовка группировок пишите. А пока этот код можно использовать с некоторыми изменения в каждом  конкретном случае....

Далее

Первый отчет на СКД

Отзывов (24)FavoriteLoadingВ закладки

Мы надеемся, что наш ресурс будут посещать  не только опытные специалисты, которые уже отличают «Систему компоновки данных» от «Сальдо конечное дебет», но и начинающие программисты, которые СКД не видели совсем. Вообще-то, хотелось бы верить, что начинающие возьмут в руки эту книжку (http://v8.1c.ru/metod/books/book.jsp?id=132). Но если её нет, а построить простенький отчет хочется уже сейчас, то это статья для Вас.

Пример был реализован на платформе 1С 8.2.11.232.

Мы надеемся, что наш ресурс будут посещать  не только опытные специалисты, которые уже отличают «Систему компоновки данных» от «Сальдо конечное дебет», но и начинающие программисты, которые СКД не видели совсем. Вообще-то, хотелось бы верить, что начинающие возьмут в руки эту книжку (http://v8.1c.ru/metod/books/book.jsp?id=132). Но если её нет, а построить простенький отчет хочется уже сейчас, то это статья для Вас. Пример был реализован на платформе 1С 8.2.11.232. Где она вообще, эта СКД? Сама СКД – это макет, с типом «Схема компоновки данных». Данный макет присущ отчетам. Новый отчет можно создать в ветке конфигурации отчеты, но мы, для простоты работы и отладки, будем работать с внешним отчетом. Кстати! Разница между внешней обработкой и внешним отчетом как раз в наличии у отчета «Основной схемы компоновки данных» и «Основной формы настроек». Отчет Наша задача с помощью СКД, построить простой отчет по продажам с возможностью группировки по контрагентам. Отчет будем строить в демо-базе УПП. Начнем… Создадим новый внешний отчет (Файлà–>Новый–>Внешний отчет): По кнопке «Открыть основную схему компоновки данных» создадим новую схему. После создания, убедимся, что создан макет: Итак, мы находимся в «Конструкторе схемы компоновки данных». Пока мы здесь видим много непонятных вкладок. Помним, что пример у нас самый простой, поэтому попробуем провести минимум действий, чтобы вывести простенький отчет.  Для нашего примера, мы вкратце пробежим лишь по трем вкладкам: «Наборы данных», «Ресурсы» и «Настройки». Наборы данных Создадим новый набор данных – запрос. В данном примере, мы будем использовать всего один набор данных, и его название по сути ничего не значит, однако я призываю Вас делать, как и я, и давать набору данных осмысленное название. Хуже не будет :). Назовем его «Продажи»: Теперь необходимо создать запрос. Используем «Конструктор запроса»: На закладке «Таблицы и поля» конструктора запроса выберем  регистр накопления «Продажи». Из регистра последовательно выберем поля: «Контрагент», «Номенклатура», «Количество» и «Стоимость»: Нажмем «ОК».  Так, как у нас была установлена галка «Автозаполнение», то доступные поля текущего набора данных  заполнились автоматически: О дополнительных настройках полей мы будем говорить позже. Итак, данные для отчета у нас имеются. Попробуем что-нибудь с ними сделать Ресурсы «Я что-то слышал про СКД и мне сказали,  что там почти всегда необходимо определять ресурсы» –  многие из начинающих могут так сказать. А что же это такое? Попробуем разобраться. Для этого сначала выведем отчет без указания ресурсов. Для этого перейдем сразу на вкладку настройки.  Для того чтобы вывести данные в отчет без каких либо группировок, нужно все же создать группировку, но ничего не указывать. Таким образом, у нас будут выведены «детальные записи». Что делаем? На вкладке «Настройки» жмем добавить –>новая группировка (или Ins), и в появившемся окне просто жмем «ОК»: Настроим выбранные поля для детальных записей (поле «Контрагент» пока выбирать не будем): Теперь сохраняем наш внешний отчет,  открываем его в предприятии, и формируем: Уже что-то! Но, согласитесь не...

Далее
Страница 2 из 212

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.