#0
by napagokc
1С8.2.13 Хочу зафиксировать шапку в отчете, но используя стандартную кнопку "Сформировать". Обрабатываю событие: Дело еще усложняется тем, что в одной группировке может быть сразу несколько реквизитов. Скрин шапки прилагаю, чтобы было понятно о чем говорю [url= [img]
#5
by napagokc
Я тебе прямые ссылки могу дать, но там нет ответа на мой вопрос. Вчитайся сначала, а потом говори баян или нет
#6
by abjurer
) Писано для принудительной фиксации строки итогов, но этот кусок (ИтогиРасположеныВверху) убери и будет щастье.
#7
by napagokc
Еще раз: "..используя стандартную кнопку "Сформировать"." Ваш вариант подходит при замене стандартной кнопки своей собственной. Этот вариант я знаю, но как раз не хочу его использовать. Вопрос заключается в том, как добиться желаемого по-минимому прилагая собственных усилий. Думаю, это всем полезно будет
#8
by napagokc
В принципе, если всегда точно знаешь количество группировок, то вполне подходит приведенный мной выше код: вне зависимости от числа отбора он будет верно фиксировать шапку
#9
by napagokc
Да, чтобы не постили подобные ссылки дальше, сразу приведу прямую ссылку с разбором этой проблемы на 1ССКД:
#10
by Cube
Я тебе тоже могу прямых ссылок дать, но лень одолевает меня. Вон уже пожевал тебе... А на счет стандартной кнопки - так положи код из в ПриКомпоновкеРезультата если сам не догадался...
#11
by ДемонМаксвелла
[1c] Процедура ПолучитьВсеПоляГруппировок(МассивПолейГруппировок) Для Каждого Стр Из КомпоновщикНастроек.Настройки.Структура Цикл Для Каждого ПолеГруппировки Из Стр.ПоляГруппировки.Элементы Цикл Если ПолеГруппировки.Использование=Истина Тогда МассивПолейГруппировок.Добавить(Строка(ПолеГруппировки.Поле)); КонецЕсли; КонецЦикла; ДобавитьВсеПодчиненныеПоляВМассив(Стр,МассивПолейГруппировок); КонецЦикла; КонецПроцедуры Процедура ДобавитьВсеПодчиненныеПоляВМассив(Строка,МассивПолейГруппировок) КоллекцияСтрок = Строка.Структура; Для Каждого Стр Из КоллекцияСтрок Цикл Если Стр.Использование=Истина Тогда Для Каждого ПолеГруппировки Из Стр.ПоляГруппировки.Элементы Цикл Если ПолеГруппировки.Использование=Истина Тогда МассивПолейГруппировок.Добавить(Строка(ПолеГруппировки.Поле)); КонецЕсли; КонецЦикла; ДобавитьВсеПодчиненныеПоляВМассив(Стр,МассивПолейГруппировок); КонецЕсли; КонецЦикла; КонецПроцедуры [1c]
#12
by ДемонМаксвелла
так можно обойти все группировки, если немного допилить, то можно вычислить глубину
#13
by napagokc
Понимаешь в чем дело... Количество группировок всяко где-то хранится в настройках СКД. И если это так, то мне достаточно одной строчки кода, которая, к слову, будет не только более читабельной, но и быстрее работать. Вот этого я и хочу добиться. А писать цикл не хочу. Знаю, что можно им, но не хочу. Все должно быть просто, надо только узнать где это все хранится...
#15
by Cube
Если б искал в поиске, то понял бы, что нет такого волшебного хранилища высоты шапки... Нету...
#18
by ДемонМаксвелла
там структура, элементами которой могут быть структуры. так что надо обходить, и проверять использование.
#24
by napagokc
Код рабочий, можешь проверить по отладчику. Все верно считает. Доступные поля я не смотрю, если что
#25
by napagokc
+ Может быть добавлена отдельная статическая группировка, например, для вывода названия отчета и периода. Но она всегда имеет фиксированную глубину. Я ее не учитываю в функции, но можно и с ней допилить, так-то. Одну строчку добавить.
#26
by ДемонМаксвелла
но это не глубину он у тебя считает, а общее число группировок. хотя видимо тебе это и нужно.
#27
by ДемонМаксвелла
и ты флаг "Использование" не учитываешь. Если его снять у одной из верхних группировок, то твоя функция покажет больше группировок, чем выведется в отчете.
#28
by napagokc
Да, ты прав, этот флаг я не учел. Исправил. Заодно добавил учет отдельной статической группировки в одну строчку. В цикле использую "Прервать" потому, что если отключить одну группировку, то все группировки, входящие в нее, тоже отключаются.
#30
by Cube
Ну, во первых, на платформе 8.2.16.368 не фурычит (разбираться не стал). А во вторых, то, про что я говорил в демонстрирую на примере: Как думаешь, твой код справится? Вряд ли...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- СКД: СКД: как настроить программно различные варианты группировок в отчете?
- СКД: Как программно задать поля-ресурсы в СКД?
- СКД: СКД. Понимает ли СКД ссылки на МенеджерВременныхТаблиц?
- СКД: как в СКД значеняи параметров по умолчанию заполнять?
- СКД: Диаграмма в СКД
- СКД: СКД. Как задать устанавливать параметры вложенных схем СКД?
- СКД: Объединение в СКД
- СКД: Совмещение группировок в колонках и отдельных колонок в СКД
- СКД: Загрузить программно настройки в компоновщик настроек СКД из файла
- СКД: СКД - можно ди получить промежуточные итоги по колонкам
- СКД: Настройки СКД
- СКД: СКД: Программное обращение к полям группировки СКД
В этой группе 1С
- Подключение к вин 2003 сервер по РДП извне
- Компоновка данных. Группировка по периоду
- УТ 11: в РТиУ нет элементов в форме выбора договора с контрагентом
- Заголовки колонок СКД располагаются в разных строка
- Создание таблицы на управляемой форме
- 1C++ как увеличить удобство программирования ?
- Печатная форма недоступна
- Не работает подключение к Excel на сервере (ADO)
- Изменить сортировку в форме Т-7 - как?
- v7: ЗиК Увольнение во время отпуска по уходу до 3 лет
- Права - интерактивная отмена проведения - что она запрещает?
- v7: Получение групп справочника "Номенклатура"
- БГУ Документ "Услуги сторонних организаций"
- Хитрая ошибка при формировании Word-шаблонов
- Построитель запроса. Отбор по свойствам номенклатуры.
- Журнал документов по реквизиту в ТЧ
- ОбходРезультатаЗапроса.ПоГруппировкам
- Как изменить дату документа?
- v7: Торговля и склад 7.7 блокировка шаблонов
- Ошибка: НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema