Обход результата запроса по группировкам #637662


#0 by Cray12
Добрый день. Сейчас работаю с запросом и наткнулся на необходимость использования обхода результата запроса. Уже наслышан об этом, но так и не научился его использовать. В общем, проблема в следующем: есть печатная форма, в ней - табличная часть, куда выводятся данные о кредитах за месяц. При этом, если договор не указан, записи будут выглядеть одинаково, так как столбца "Договор" нет и не должно быть. Велено сделать так, чтобы вместо одной табличной части выводилось столько, сколько у контрагента договоров, соответственно, с заголовком. Пока запрос в таком виде:    |    СуммаПоНУ"; И дальше попытался так: Вот, в общем все, помогите, пожалуйста. P.S.:  Знаю, что многословен, извините.
#1 by ДенисЧ
Итоги по Договоры будет достаточно...
#2 by zak555
покажи лучше макет
#3 by Cray12
zak555, Как тут файлы добавлять?
#4 by Cray12
ДенисЧ, Там же и так есть итоги по Договоры?
#5 by Cray12
up
#6 by zak555
ты сриншот макета выложишь ?
#7 by Cray12
Ладно, попробую так: - это заполненная таб часть, сейчас без заголовка, но тут видно, что столбца Договор нет. Это то, что получается без итогов, если просто взять все. Если поставить итоги и взять через обход результатов запроса, то вместо договора берется единица, а таб часть вообще не заполняется:
#8 by Cray12
Да, еще вот сам макет, мб надо:
#9 by zak555
> При этом, если договор не указан, записи будут выглядеть одинаково, так как столбца "Договор" нет и не должно быть. что-то я не пойму: 1. что за кредит без договора 2. ставка договора может меняться раз в месяц 3. что такое коэффициент 4. вы банк ?
#10 by Cray12
1. Я имел в виду, если договор не указан. 2,3. Ставка и коэффициент - вообще не суть, да я, если честно, и не очень вникал. 4. Нет, я физ. лицо. Основной вопрос - как сделать несколько таб. частей и взять для них заголовки? Вот клочок текста, который я еще не скинул: И он приводит к результату, показанном на втором скрине. Еще погуглил по обходу результата запроса, но того, что надо, все никак не найду =(
#11 by zak555
так и что не выводится ?
#12 by Cray12
Ну, "1" - это не название договора - это раз. И таб часть совсем пустая =( А должна быть как на 1 скрине.
#13 by zak555
#14 by Cray12
Ну, это уже явно ближе к решению, и я, похоже, снова неправильно выразился. При использовании этого кода получается вот это: Удивляет даже не то, что таб часть пустая, а то, что записей 26, а должно быть 28. Вот этого я совсем не понял. И еще я не понял несколько строк. Например, область "Заголовок" (на самом деле, "ЗаколовокТаблицы", но этого на скрине не видно, тут я налажал) - это и есть шапка таблицы, поэтому я не очень понял, зачем ты просто ее вывел. Но это все легко можно доработать, в основном меня волнует, почему таб часть не заполняется, как создать столько таблиц, сколько всего договоров и как имена договоров выводить перед таблицами, вот там область для этого, а как ее заполнить - я так и не понял Но в целом огромное спасибо за то, что уже сделал для меня. Я уже совсем запутался.
#15 by zak555
открой для себя конструктор печати
#16 by Cray12
Да сроки поджимают, чтобы что-то открывать
#17 by zak555
какие сроки ? это кнопка
#18 by Cray12
С ней еще разбираться надо, а времени на самообучение нет пока
#19 by Cray12
Все в твоем коде было в порядке, просто в макете параметры названы не совсем правильно, поэтому "Параметры.Заполнить" не работало. Но когда я чуть-чуть поменял код: Получилось так, что он не берет договор в выборке. То есть через отладчик поле "Договоры" у выборки просто пустое. А из-за этого таб. часть всего одна и заголовка у нее нет: А я создал еще один договор и не указал его, чтобы проверить. Главное, что обидно, я в коде уже почти разобрался, только условия в запросе не понял. И думал, что все сработает, ан нет. Помоги, пожалуйста, zak.
#20 by Cray12
Вот еще, на всякий случай:
#21 by Cray12
Аааа, я понял. Если договор не указан, то запрос обращается к реквизиту документа "Договоры", а он пустой, т.к. значение попросту не выбрано. Логично, что не работает. Ладно, тут есть прогресс, буду думать
#22 by Cray12
Слушай, zak, у меня еще вопрос. Вот есть таб. часть, в ней есть договоры: Я подумал взять их оттуда, тем более, что все равно работаю с таб. частью. Но тут встал такой вопрос: а как взять все договоры только по одному разу? То есть, в этой таб. части, например, 2 договора, а строк всего 90. Я попытался как-то так: Да, сложно, где не надо, но я пытался и еще сложнее, и все равно не удалось. Ты не поможешь?
#23 by Cray12
То есть вот так, я не совсем то скинул:
#24 by Cray12
Для Инд1 = Инд + 1 По ВспомогательныйМассив.Количество Цикл В этой строчке "+1" не надо
#25 by Cray12
И получается массив с 2025 элементами. Вот в такие моменты и понимаешь, что работает код не совсем так, как планировалось...
#26 by Cray12
А такой код: Дал всего 46 элементов. А надо бы два... Черт, все же вроде нормально.
#27 by Cray12
Нашел ошибку, но новые идеи вообще не идут. Вроде и ситуация несложная, а я вот заступорился. А в эту тему вообще еще кто-нибудь заглядывает, интересно?
#28 by Cray12
О, нашел функцию Выбрать различные. Кажись, то, что надо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям