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