• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

секции в макете 1с 7.7

  • Автор темы Автор темы maxgross
  • Дата начала Дата начала
Еще момент.
В режиме 1с предприятия, делая отчет, получаю то что показано на последнем рисунке.
Запускаю отладчик, ставлю точку останова на строке, например:
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Прохожу дальше, получаю
ТЗ.КоличествоСтрок() = 0;
и
Запрос.Группировка(1) = 0.

И ошибку:
Пока Запрос.Группировка(2) = 1 Цикл
{Отчет.ПродажиТоваров.Форма.Модуль(43)}: Не было обращения к старшим уровням выборки.

Как такое возможно? Как влияет режим отладки?
 
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Прохожу дальше, получаю
ТЗ.КоличествоСтрок() = 0;
и
Запрос.Группировка(1) = 0.

И ошибку:
Пока Запрос.Группировка(2) = 1 Цикл

Как такое возможно?

Ну разве что ТЗ.КоличествоСтрок() = 1 и Запрос.Группировка(1) = 1 не были условиями для вхождения внутрь цикла.
В отладчике открыл старую версию отчета.
Глюки 1Ски

Но у меня такого еще не было ни разу. ;)
 
Да, еще одна штука - но это из разряда шаманства.
Запрос.Группировка(1) несомненно правильно, но я никогда так не пишу, я обращаюсь напрямую к названию группировки, т.е.

Запрос.Группировка("Контрагент");
Запрос.Группировка("Товар");

Точно так же написано в хелповке.
И помнится, у меня что-то долго не получалось, а вылечилось простой заменой цифры на название.
 
Попробовал изменить на названия - не получилось.

Вот небольшая база, где пытаюсь всё это сделать.
 

Вложения

Пока Запрос.Группировка(2)=1 Цикл
Для й=1 по ТЗ.КоличествоСтрок() цикл
ТЗ.ПолучитьСтрокуПоНомеру(й);
Если ТЗ.Контрагент = Запрос.Контрагент тогда
Сумма = Запрос.КоличествоСумма;
Иначе Сумма =0;
КонецЕсли;
Таб.присоединитьСекцию("Номенклатура|Контра");
КонецЦикла;
КонецЦикла;

Вот этот кусочек если не можешь пройти в отладчике, возьми пройди на листике бумаги.
Ты обходишь группировку по контрагентам - два раза, внутри обходишь ТЗ - еще два раза, и все четыре выводишь в таблицу.
В общем, здесь нужно подумать, каким образом отсечь контрагентов, которые не должны быть в выводимой колонке.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD