|   |   | 
| 
 | Секции в 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) прочти для начала http://forum.mista.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 | 
        А как исполнить правильно?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |