Имя: Пароль:
1C
 
В 1с 7.7 итоги по страницам
,
0 Tasha_B_N
 
naïve
30.10.23
13:13
Как в отчете 1с 7.7 рассчитать итоги в печатной форме постранично?
1 MWWRuza
 
гуру
30.10.23
13:20
Никак. Нет таких штатных методов, только вручную - в цикле вывода строк, в отдельную переменную считаете сумму, потом, отсчитав нужное количество строк, вывод результата, команда вывода новой страницы и обнуление этой переменной. И так дальше.
2 MWWRuza
 
гуру
30.10.23
13:26
+(1) См. как штатные ТОРГ-12 например сделаны.
3 Tasha_B_N
 
naïve
30.10.23
13:46
Поняла. Спасибо.
4 uno-group
 
30.10.23
16:10
Можно по готовому отчету через Таб.Область() пробежаться посчитать и вставить в нужном месте.
5 Злопчинский
 
30.10.23
17:31
(4) осталось определить это самое нужное место особенно если вывод идёт без прямого указания на разбиение таб. Новая страница()
6 Злопчинский
 
30.10.23
17:34
(2) штатная торг12 сделана топорно и бездуховно и ориентирована на фиксированнуюивысоту строк. Стоит в шапку или в подвал что-то добавить или фиксированную высоту строк изменить - замудохаешься потом новые счётчики выставлять.
.
При том, что сделать вывод итогов по странице с плавающими размерами шапки, строк и подвала вполне возможно.
7 uno-group
 
30.10.23
17:35
(5) Параллельно суммируешь Обл.ВысотаСтроки() и по достижению определенной высоты получаешь конец страницы не зависимо от авто переносов и авто высоты.
8 Злопчинский
 
30.10.23
17:41
(7) и с чем эту высоту сравнивать? Если печать можно и портрет и в ландшафт.
Ну и чтобы получить высоту области надо эту область саму сначала сформировать на печать
9 Злопчинский
 
30.10.23
17:46
(7) нарисуй так чтобы торг12 и в портрет и в ландшафт печаталась правильно с итогами по странице, шапкой таблицы на листах со второго и не висящим подвалом с переменной высотой строк таблицы с использованием одной печатной формы. Реально интересно посмотреть будет
10 uno-group
 
30.10.23
18:03
Тут уж надо прописывать и ориентацию и поля жестко на этапе до печати. Например через выбор как печатать портрет, ландшафт перед формированием таблицы. Ну а граничные высоты экспериментальным путем легко найти.
11 Злопчинский
 
30.10.23
18:08
(0) ну и ТКВ - зачем если это не какая-нить обязательная формам по НПА?
12 Злопчинский
 
30.10.23
18:09
(10) фигня, решается и без жёсткой прописи
13 Tasha_B_N
 
naïve
31.10.23
12:10
Сделала по первому предложенному варианту: в цикле вывода строк, в отдельную переменную считаете сумму, потом, отсчитав нужное количество строк, вывод результата, команда вывода новой страницы и обнуление этой переменной. И так дальше.
Ном=Ном+1;    ИтогоСуммаСуммаСтр=ИтогоСуммаСуммаСтр+Запрос.СуммаСумма;                    ИтогоНДССуммаСтр=ИтогоНДССуммаСтр+Запрос.НДССумма;                                ИтогоСуммаСНДССуммаСтр=ИтогоСуммаСНДССуммаСтр+Запрос.СуммаСНДССумма;
                                Таб.ВывестиСекцию("ТоварДок");
                                Если Ном>39 Тогда                                    Ном=0;                                    Таб.ВывестиСекцию("ИтогоСтр");                                    ИтогоСуммаСуммаСтр=0;                                    ИтогоНДССуммаСтр=0;                                    ИтогоСуммаСНДССуммаСтр=0;                                    Таб.НоваяСтраница();                                 КонецЕсли;

Выводит итог после каждой 40-ой строки. Но последний лист состоит из строк <39. Подскажите как вывести Итог на последней странице?
14 АгентБезопасной Нацио
 
31.10.23
12:11
(13) у вас что, программиста нет?
15 Tasha_B_N
 
naïve
31.10.23
12:15
Скорее нет отчета торг12 который вы мне все советуете...
16 Андрей_Андреич
 
naïve
31.10.23
12:19
(13) После цикла
Если Ном>0 Тогда
   Таб.ВывестиСекцию("ИтогоСтр");
КонецЕсли;
17 Lazy Stranger
 
31.10.23
12:21
(13) После конца цикла добавить
Если Ном>0 Тогда //на этой странице что-то есть
  Таб.ВывестиСекцию("ИтогоСтр");
КонецЕсли;
18 Tasha_B_N
 
naïve
31.10.23
13:28
Спасибо
19 MWWRuza
 
гуру
31.10.23
15:18
Что с Мистой случилось? Девушка второй день на форуме, уже 5 сообщений, и нет традиционного для Мисты запроса :-)
А, ну, да... Осень, не весна же.

А по существу, можно так:

Пока Таблица.ПолучитьСтроку() = 1 Цикл
// Тут делаем все, что обычно...
КонецЦикла;
Таб.ВывестиСекцию("ИтогоСтр"); // кончились строки, выводим итог
20 uno-group
 
31.10.23
15:16
Вместе с Таб.ВывестиСекцию("ИтогоСтр"); не мешало бы и шапку таблицы на новой странице вывести.
Для условия внутри цикла.