Люди как прикрепить в таблице вертикальную секцию пересекающуюся с горизонтальной....Пробывал Таб.ПрисоединитьСекцию что то не получаеться,
Процедура Печать()
Таб=СоздатьОбъект("Таблица");
Таб2=СоздатьОбъект("Таблица");
Таб2.ИсходнаяТаблица("Таблица1");
Таб.ВывестиСекцию("Шапка");
а=0;
ИтСуммаУ=0;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если (Номенклатура.ВидНоменклатуры=Перечисление.ВидыНоменклатуры.Услуга) или (Номенклатура.ВидНоменклатуры=Перечисление.ВидыНоменклатуры.Работа) Тогда
а=а+1;
ПорНом=а;
Услуга=СокрЛП(Номенклатура);
я
Кол_=Количество;
Цена_=Цена;
СуммаУ=Сумма;
ИтСуммаУ=ИтСуммаУ+СуммаУ;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Если ИтСуммаУ=0 Тогда
ИтСумма="";
КонецЕсли;
Если а<12 Тогда
Для аа=а+1 по 12 Цикл
ПорНом=аа;
Услуга="";
СуммаУ="";
Кол_="";
Цена_="";
Таб.ВывестиСекцию("Строка");
КонецЦикла;
КонецЕсли;
Таб.ВывестиСекцию("Подвал");
Таб2.ВывестиСекцию("Шапка");
а=0;
ИтСуммаУ=0;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если (Номенклатура.ВидНоменклатуры<>Перечисление.ВидыНоменклатуры.Услуга) и (Номенклатура.ВидНоменклатуры<>Перечисление.ВидыНоменклатуры.Работа) Тогда
а=а+1;
ПорНом=а;
Услуга=СокрЛП(Номенклатура);
СуммаУ=Сумма;
ЦенаУ=Цена;
КоличествоУ=Количество;
ИтСуммаУ=ИтСуммаУ+СуммаУ;
Таб2.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Если ИтСуммаУ=0 Тогда
ИтСумма="";
КонецЕсли;
Если а<12 Тогда
Для аа=а+1 по 12 Цикл
ПорНом=аа;
Услуга="";
СуммаУ="";
ЦенаУ="";
КоличествоУ="";
Таб2.ВывестиСекцию("Строка");
КонецЦикла;
КонецЕсли;
Таб2.ВывестиСекцию("Подвал");
Таб.Показать();
Таб2.Показать();
КонецПроцедуры
ПрисоединитьСекцию(<?>);
Синтаксис:
ПрисоединитьСекцию(<ИмяСекции>)
Назначение:
Присоединить секцию исходной таблицы-шаблона к текущей таблице.
Параметры:
<ИмяСекции> - выражение типа строка, задающее имя присоединяемой секции, или значение типа секция, полученное при помощи метода ПолучитьСекцию.
Имя секции задается строковым выражением следующего формата:
ИдентификаторСекции1[<|>|-][|ИдентификаторСекции2[<|>|-]]
Символы ''<'' , ''>'' , ''-'' после идентификатора секции указывают на то, что присоединяется только часть секции. ''<'' - заголовочная часть (с начала секции до начала вложенной секции). ''>'' - подвальная часть (с конца вложенной секции до конца секции). ''-'' - средняя часть (собственно вложенная секция).
В выражении можно задавать имена двух секций, разделенных знаком ''|''. При этом будет получена область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая - вертикальной (состоять из колонок). В результате получится прямоугольная область таблицы.
Посмотрел на твой рисунок..
Через Вывести-присоединить вряд ли чего путное получится..
Рисуй свой талончик через Область Таблицы, опосля вывода всего того, что слева..
Или .. если задать жестко количество строк на талончике,
Делаешь Таб.Вывести() потом через Область заполняешь строки с услугами, если нужно, выводишь второй листок (если в первый не влазиет)... Так еще проще.
Сначала нужно
1) Выделить вертикальную секцию левее от талончика и задать ей имя. Например, "Акт"
2) А потом Таб.ВывестиСекцию("Строка|Акт");
И в цикле по количеству талончиков Таб.ПрисоединитьСекцию("Строка|строка3");
В примере есть. Да и вообще в ЖКК все подробно описано.
ВывестиСекцию Перенести секцию исходной таблицы-шаблона в результирующую таблицу.
Синтаксис:
ВывестиСекцию(<Секция>)
Англоязычный синоним:
PutSection
Параметры:
<Ceкция>
Выражение типа строка, задающее имя выводимой секции, или значение типа секция, полученное при помощи метода ПолучитьСекцию.
Описание:
Метод ВывестиСекцию выполняет перенос именованной секции из исходной таблицы-шаблона в результирующую таблицу. Имя секции задается строковым выражением следующего формата:
Символы "<" , ">" , "-" после идентификатора секции указывают на то, что выбирается только часть секции:
< заголовочная часть (с начала секции до начала вложенной секции).
> подвальная часть (с конца вложенной секции до конца секции).
— средняя часть (собственно вложенная секция).
В выражении <Секция> можно задавать имена двух секций, разделенных знаком "|". При этом перенесена будет область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая — вертикальной (состоять из колонок). В результате перенесется прямоугольная область таблицы.
Если в качестве параметра метода задано строковое значение имени секции, то при переносе ячейки таблицы, имеющие тип «Шаблон» и «Выражение», будут заполнены соответствующими данными.
Метод ВывестиСекцию помещает новую секцию со следующей строки вслед за последней выведенной секцией, начиная с первой колонки.
Пример:
//Выводим заглавие таблицы
Таб.ВывестиСекцию("Документ<|ДокументВерт<");
Пока ЗапросКат.Группировка("Ктг") = 1 Цикл
Таб.ПрисоединитьСекцию("Документ<|Осн2");
КонецЦикла;
Таб.ПрисоединитьСекцию("Документ<|ДокументВерт>");
//Выводим колонтитул таблицы
Таб.ВывестиСекцию("КолонТитул|ДокументВерт<");
Пока 3апросКат.Группировка("Ктг") = 1 Цикл
Таб.ПрисоединитьСекцию("КолонТитул|Осн2");
КонецЦикла;
Таб.ПрисоединитьСекцию("КолонТитул|ДокументВерт>");
Продолжать = 1;
Пока Запрос.Группировка("Пдр") = 1 Цикл
// Заполнение полей
Пдр Таб.ВывестиСекцию("Осн1|ДокументВерт<");
Далее = 1;
Пока Продолжать = 1 Цикл
// Заполнение полей Ктг
СлКат = ЗапросКат.Группировка("Ктг");
Если Далее = 1 Тогда
ОК = Запрос.Группировка("Ктг");
КонецЕсли;
Если СлКат = 0 Тогда
Прервать;
КонецЕсли;
Если ЗапросКат.Ктг = Запрос.Ктг Тогда
Таб.ПрисоединитьСекцию("Осн1|Осн2");
Далее = 1;
Иначе
Таб.ПрисоединитьСекцию("Осн1|Пусто");
Далее = 0;
КонецЕсли;
КонецЦикла;
Таб.ПрисоединитьСекцию("Осн1|ДокументВерт>");
КонецЦикла;
Показать
ПрисоединитьСекцию Присоединить секцию исходной таблицы-шаблона к результирующей таблице.
Синтаксис:
ПрисоединитьСекцию(<Секция>)
Англоязычный синоним:
AttachSection
Параметры:
<Секция> Выражение типа строка, задающее имя выводимой секции, или значение типа секция, полученное при помощи метода ПолучитьСекцию.
Возвращаемое значение: Нет.
Описание:
Метод ПрисоединитьСекцию выполняет присоединение именованной секции из исходной таблицы-шаблона к результирующей таблице. Имя секции задается строковым выражением следующего формата:
Символы "<" , ">" , "-" после идентификатора секции указывают на то, что выбирается только часть секции:
< заголовочная часть (с начала секции до начала вложенной секции).
> подвальная часть (с конца вложенной секции до конца секции).
— средняя часть (собственно вложенная секция).
В выражении <Секция> можно задавать имена двух секций, разделенных знаком "|". При этом перенесена будет область исходной таблицы, являющаяся пересечением первой и второй указанных секций. При этом одна секция может быть горизонтальной (состоять из строк), а другая — вертикальной (состоять из колонок). В результате перенесется прямоугольная область таблицы.
Если в качестве параметра метода задано строковое значение имени секции, то при переносе ячейки таблицы, имеющие тип «Шаблон» и «Выражение», будут заполнены соответствующими данными.
Метод ПрисоединитьСекцию помещает новую секцию в следующей колонке, правее последней ранее выведенной секции. При этом секция, передаваемая в качестве параметра метода ПрисоединитьСекцию, должна иметь прямоугольную форму, т. е. задаваться как пересечение горизонтальных и вертикальных секций.