Имя: Пароль:
1C
Админ
Секции в 1С
0 vinsi87
 
17.10.11
12:34
Как прописать в модуле чтоб секция, если не полная чтоб переносила её на новую страницу.
1 Ёпрст
 
17.10.11
12:36
что такое не полная секция ?
2 Один С
 
17.10.11
12:42
что такое секция?
3 vinsi87
 
17.10.11
12:43
Секция-Идентификатор секции.
4 Господин ПЖ
 
17.10.11
12:43
что такое 1С
5 vde69
 
17.10.11
12:44
что такое Модуль ?
6 vicof
 
17.10.11
12:45
что такое страница?
7 Один С
 
17.10.11
12:45
кто здесь? о_о
8 1Сергей
 
17.10.11
12:53
пальцем покажи
9 Эльниньо
 
17.10.11
12:57
Что такое прописать?
10 Босечка
 
17.10.11
13:01
Это что в печатной форме, что ли?
11 andrewks
 
17.10.11
13:14
(0) прочти для начала https://1cers.ru/rules.php#rec
12 aka AMIGO
 
17.10.11
13:19
если (условие проверки секции на неполноту) Тогда
Таб.ВывестиСекцию("МояСекция");
Иначе
Таб.Присоединить секцию("МояСекция");
ТогдаИКонец;
13 Lepochkin
 
17.10.11
13:20
ВысотаТаблицы()
Синтаксис:
ВысотаТаблицы()
Назначение:
Возвращает число строк в сформированной результирующей таблице.

НоваяСтраница(<?>);
Синтаксис:
НоваяСтраница(<Ном>)
Назначение:
Вставить в результирующую таблицу разделитель страниц.
Параметры:
<Ном> - необязательный параметр. Номер строки, после которой начинать новую страницу. Если параметр не указан, то новая страница вставляется по текущей высоте таблицы.
14 aka AMIGO
 
17.10.11
13:27
:) я недотелепатировал :)
15 Lepochkin
 
17.10.11
13:33
он что-то еще ничего и не ответил... то ли люди вообще подсказывают...
16 Torquader
 
17.10.11
14:55
Может быть, он хочет высота строки "авто".
17 vinsi87
 
17.10.11
15:37
А может задать счетчик строк? Чтоб после определенного количества строк переходить на новую страницу.
18 aka AMIGO
 
17.10.11
15:40
(17) чаще всего так и делается.
можно испытать условие перехода ВысотаТаблицы()%ЧислоСтрокНаСтранице > ЧислоСтрокНаСтранице
19 Voronve
 
17.10.11
15:41
(0) Из ТиС'а, модуль печати Торг12 документа Реализация тебе в помощь.
20 vinsi87
 
17.10.11
15:45
akaAMIGO   Можете помочь, как написать чтоб оно через определенного количества строк, предположим через 6 строк, давал мне новую страницу.
21 vinsi87
 
17.10.11
15:45
Я просто новичок в этом деле.
22 aka AMIGO
 
17.10.11
15:51
(20) так я уже и написал:
ЧислоСтрокНаСтранице = 6;
//здесь твой цикл для формирования строк Таб...
//перед выводом очередной строки таблицы пишешь:
Если Таб.ВысотаТаблицы()% ЧислоСтрокНаСтранице >ЧислоСтрокНаСтранице Тогда
Таб.НоваяСтраница();
КонецЕсли;
Таб.ВывестиСекцию("твояСекция");
//...
вот так примерно..
23 vinsi87
 
17.10.11
15:53
Сейчас попробую
24 vinsi87
 
17.10.11
16:01
Процедура Печать2 ()    
   Таб = СоздатьОбъект("Таблица");
   
   Таб.ИсходнаяТаблица("Страница 2");
   
   Таб.ВывестиСекцию ( "Шапка_1" );


ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 цикл
НомерПоПорядку = НомерСтроки;                                  
ФамилияИмя = Сотрудник;      
 ПрофессияДолжность = Сотрудник.Должность.Получить(ДатаДок);  
Оклад = "";                              
ТабельныйНомер = глВернутьНомер(Сотрудник.код);            КатегорияПерсонала = "";                                  ФактическойРаботы = Дни;                                
ЦелосменныеПростои = "";                                  
Всего = Часы;                                                
Сверхурочные ="";                                          
Ночные = "";                                                
КоличествоДнейНеявок = "";                                    
Код = "";                                                      
КоличествоДней = "";                                          
ВыходнойПраздник = "";                                      

Таб.ВывестиСекцию ( "Строка_2" );    
КонецЦикла;
Формат(15,18);

   Таб.ПовторятьПриПечатиСтроки ( 4,13 );          
   Таб.Опции ( 0, 0, 0, 0, );
   Таб.ТолькоПросмотр ( 1 );

   Таб.ПараметрыСтраницы(2,100,,5,5,15,8,0,0,1,,);    
   Таб.Показать ( "Страница 2",,);
   Если СразуНаПечать=1 Тогда
       Таб.Напечатать(Константа.ЗапросПринтера);
   Иначе
       Таб.Показать("VIP",) ;
   КонецЕсли;

КонецПроцедуры
25 vinsi87
 
17.10.11
16:03
Не получилось((
26 aka AMIGO
 
17.10.11
16:04
(25)вставь операторы, что я тебе советовал в (22)
27 vinsi87
 
17.10.11
16:04
akaAMIGO  Я ваше условие не стал уже сюда писать.
28 1Сергей
 
17.10.11
16:05
(24) интересно, причем тут (22)

ЗЫ автор, начинай разговаривать с собеседниками, а не с самим собой
29 vinsi87
 
17.10.11
16:05
Я вставил, не получилось
30 aka AMIGO
 
17.10.11
16:07
Процедура Печать2 ()    
   Таб = СоздатьОбъект("Таблица");
   
   Таб.ИсходнаяТаблица("Страница 2");
   
   Таб.ВывестиСекцию ( "Шапка_1" );

ЧислоСтрокНаСтранице = 6;

ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 цикл
НомерПоПорядку = НомерСтроки;                                  
ФамилияИмя = Сотрудник;      
 ПрофессияДолжность = Сотрудник.Должность.Получить(ДатаДок);  
Оклад = "";                              
ТабельныйНомер = глВернутьНомер(Сотрудник.код);            КатегорияПерсонала = "";                                  ФактическойРаботы = Дни;                                
ЦелосменныеПростои = "";                                  
Всего = Часы;                                                
Сверхурочные ="";                                          
Ночные = "";                                                
КоличествоДнейНеявок = "";                                    
Код = "";                                                      
КоличествоДней = "";                                          
ВыходнойПраздник = "";
                                     
Если Таб.ВысотаТаблицы()% ЧислоСтрокНаСтранице >ЧислоСтрокНаСтранице Тогда
Таб.НоваяСтраница();
КонецЕсли;

Таб.ВывестиСекцию ( "Строка_2" );      
КонецЦикла;
Формат(15,18);

   Таб.ПовторятьПриПечатиСтроки ( 4,13 );          
   Таб.Опции ( 0, 0, 0, 0, );
   Таб.ТолькоПросмотр ( 1 );

   Таб.ПараметрыСтраницы(2,100,,5,5,15,8,0,0,1,,);    
   Таб.Показать ( "Страница 2",,);
   Если СразуНаПечать=1 Тогда
       Таб.Напечатать(Константа.ЗапросПринтера);
   Иначе
       Таб.Показать("VIP",) ;
   КонецЕсли;

КонецПроцедуры
31 1Сергей
 
17.10.11
16:12
(30) Кстати, а ты в курсе, что "Таб.ВысотаТаблицы()% ЧислоСтрокНаСтранице " никогда не будет больше "ЧислоСтрокНаСтранице"?
32 aka AMIGO
 
17.10.11
16:12
(31) - да, уже увидел :)
33 aka AMIGO
 
17.10.11
16:14
Таб.ВысотаТаблицы()% ЧислоСтрокНаСтранице = 0
вот такой вариант :)
34 aka AMIGO
 
17.10.11
16:15
+ (33) тоже плохое условие..

ЗЫ. домой уже хочу.. :)) пусть автор думает, сидя в отладчике :)
35 Endorphine
 
17.10.11
16:17
Таблица -> положение на странице -> вместе со следующим
36 aka AMIGO
 
17.10.11
16:22
в (19) правильное предложение..
есть обоснованное продуманное решение, остальное - велосипеды :)
37 vinsi87
 
17.10.11
16:26
Мне предложили так:

СчетчикСтрок=Счетчик+1
Если СчетчикСтрок>6 Тогда
Таб.НоваяСтраница();
КонецЕсли;
38 vinsi87
 
17.10.11
16:26
СчетчикСтрок - это новая переменная
39 aka AMIGO
 
17.10.11
16:27
(37) в коде - 2 ошибки
40 vinsi87
 
17.10.11
16:30
Какие?
41 aka AMIGO
 
17.10.11
16:32
(40) приведи полный код модуля.. а то так разговор пустой получается
42 vinsi87
 
17.10.11
16:35
Столечко предположили,что можно сделать..
43 aka AMIGO
 
17.10.11
16:36
(42) - предложение правильное, твое исполнение - ошибочное
44 aka AMIGO
 
17.10.11
16:37
(42) - в отладчике умеешь работать? поучись, полезная штука, сразу все неисправности увидишь
45 vinsi87
 
17.10.11
16:48
Я в этой области новичок пока..и соответственно в отладчике не умею..
46 vinsi87
 
17.10.11
16:51
А как исполнить правильно?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.