Имя: Пароль:
1C
1С v8
ПроверитьВывод()
,
0 antiteror91
 
20.08.12
15:50
Подскажите пожалуйста: у меня в печатной форме есть таблица. мне необходимо чтобы итоги были последней строчкой каждой страницы.... я пытаюсь это осуществить с помощью ПроверитьВывод но он мне пихает последнюю строчку на следующую страницу... как я только не менял условия. Последний мой вариант:
Пока ТабДок.ПроверитьВывод(ОбластьИтого) Цикл
   ТабДок.Вывести(ОбластьПустыеСтроки);
Если  Не ТабДок.ПроверитьВывод(ОбластьИтого) Тогда
               ТабДок.Вывести(ОбластьИтого);
           КонецЕсли;
конецЦикла;
1 DrShad
 
20.08.12
15:55
Проверить Вывод нужного всей страницы, а не только ОбластьИтого
2 antiteror91
 
20.08.12
15:57
(1)ну если это область последняя нельзя только по ней  проверить??
3 DrShad
 
20.08.12
15:58
(2) нельзя, читай СП внимательно
4 antiteror91
 
20.08.12
16:01
(2) а если область итого должна быть после пустой области и все они выведены кроме итого то это нормально???
5 DrShad
 
20.08.12
16:02
сам с собой разговариваешь?
6 antiteror91
 
20.08.12
16:03
(5) перепутал номер я это тебе писал ))
7 Alex S D
 
20.08.12
16:04
Если  Не ТабДок.ПроверитьВывод(ОбластьИтого) Тогда
               ТабДок.Вывести(ОбластьИтого);
           КонецЕсли;
че за бред? типа если область не влазеет , то вывести ее?
8 DrShad
 
20.08.12
16:04
(6) переформулируй вопрос - я вижу только бессвязный поток сознания
9 antiteror91
 
20.08.12
16:07
(8), (7) как мне создать этот запрос так чтоб он влазил...... если буду без НЕ использовать еще большая фигня получается....
10 Alex S D
 
20.08.12
16:08
(9) сколько строк занимает область итого?
11 DrShad
 
20.08.12
16:08
(9) ты СП прочитал?
12 antiteror91
 
20.08.12
16:09
(10) одну
13 antiteror91
 
20.08.12
16:09
(11) да
14 DrShad
 
20.08.12
16:10
(13) процитируй что там в качестве параметра передается?
15 antiteror91
 
20.08.12
16:11
(14) массив и табдокумент... мне что надо обязательно передавать все области в новый массив??
16 Alex S D
 
20.08.12
16:11
(14) да, там массив. но не обязательно пихать всю страницу
17 antiteror91
 
20.08.12
16:15
(16), (14) я добавлял пустые строки а затем выводил итоги... что мне с итогами делать их тоже в массив???
18 DrShad
 
20.08.12
16:15
(16) а что достаточно впихнуть чтоб проверить вывод на страницу?
19 Alex S D
 
20.08.12
16:16
(18) массив областей, ты ж сам ссылаешься на СП, вот и глянь)
20 DrShad
 
20.08.12
16:16
(17) погоди, тут уже спор не на жизнь, а на смерть
21 DrShad
 
20.08.12
16:16
(19) в массиве будет все что должны выйти на страницу?
22 Nexux
 
20.08.12
16:17
эта функция не всегда гарантирует корректную проверку умещения к сожелению(
23 Alex S D
 
20.08.12
16:18
(21) не все
24 Alex S D
 
20.08.12
16:18
(21) мм, ты видел процедуру печати торг12?
25 DrShad
 
20.08.12
16:19
(24) видел и что?
26 antiteror91
 
20.08.12
16:21
(24),(25) скажите ЧЕ мне делать с моей проблемой????
27 Alex S D
 
20.08.12
16:21
(25) как ты предлагаешь проверить вывод все страницы, для случая (0)?
28 Nexux
 
20.08.12
16:21
вычисли количество строк и проверяй по количеству xD
29 Alex S D
 
20.08.12
16:21
(26) проверять надо на вывод 2 области, пустую строку и твои итоги, если не влазеет , выводишь итоги
30 antiteror91
 
20.08.12
16:23
(28) как подсчитать количество пустых строк не выводя пустые области??
31 Alex S D
 
20.08.12
16:23
(30) я тебе сказал как надо
32 antiteror91
 
20.08.12
16:24
(29) а области Шапка к примеру и табличные части не нужно проверять???
33 Alex S D
 
20.08.12
16:25
(32) нет
34 Alex S D
 
20.08.12
16:25
добавь в массив 2 области и проверяй их
35 ssh2006
 
20.08.12
16:26
(0) в массив проверяемых областей передаешь текущую строку и область итого, если не помещается выводишь итого и разделитель страниц
36 antiteror91
 
20.08.12
16:27
(34) спасибо сейчас попробую
37 Alex S D
 
20.08.12
16:28
вот тебе для примера, давно делал.. через рекурсию

секциядоп = пустая строка

Процедура ВыводНижнегоКолонтитула(ТабДок,СекцияВывод)
    М = Новый Массив;
    Макет = ПолучитьМакет("КоммерческоеПредложение");
    СекцияДоп = Макет.ПолучитьОбласть("СекцияДоп");
    СекцияНиз = Макет.ПолучитьОбласть("НижнийКолонтитул");
    М.Добавить(СекцияВывод);
    М.Добавить(СекцияНиз);
    Если Не ТабДок.ПроверитьВывод(М) Тогда
        ТабДок.Вывести(СекцияНиз);
    Иначе
        ТабДок.Вывести(СекцияДоп);
        ВыводНижнегоКолонтитула(ТабДок,СекцияДоп);    
    КонецЕсли;
КонецПроцедуры
38 DrShad
 
20.08.12
16:32
(37) ну и у тебя по рекурсии собирается массив всех строк
39 Alex S D
 
20.08.12
16:33
(38) написано криво. тока щас разгледел.. но тут есть   М = Новый Массив;
40 acsent
 
20.08.12
16:33
(0) у тебя "если не влазит, то выводить", естественно что будет на новой странице