Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 21:18

Макет

Автор djvjv, 11 июл 2012, 08:58

0 Пользователей и 1 гость просматривают эту тему.

djvjv

У меня такой вопрос к вам.
1с 8.2 Бухгалтерия предприятия обычное приложение.

Я вывожу разные данные из разных мест на печать. Я знаю что можно зациклить строку на печать.


А можно зациклить Ячейку, если да то как? Приведите пример кода пожалуйста как сделать.

djvjv

Я показываю часть в которой вывожу данные.
Что мне нужно исправить чтоб секция:
1-ое проходя цикл меня строку
Было R21C12, стало R22C12, потом R23C12 и т.д.
2-ое чтоб потом данные выводились не сбоку через метод присоединить а чтоб попадали внутрь области Страница1 Колонка2?
Страница1 Колонка2 - область R1C11:R40C16, а мне нужно чтоб вывело внутрь этой области  в диапазоне от R21C12 и до R..C12 - смотря сколько данных будет
Сразу скажу сделать еще несколько областей не предлагать, не катит - потому что мне потом на печать а выводить мне нужно постранично.

ТабДок.Вывести(ОбластьСтраница1);
   Если ЗначениеЗаполнено(левыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ЛевыйСпецификация.ТабЧасть  Цикл
         Секция = Макет.ПолучитьОбласть("R21C12");
         Секция.Область().Параметр=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
      КонецЦикла;
   КонецЕсли;
   Если ЗначениеЗаполнено(правыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ПравыйСпецификация.ТабЧасть Цикл
         Секция = Макет.ПолучитьОбласть("R21C12");
         Секция.Область().Параметр=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
      КонецЦикла;
   КонецЕсли;
   Секция = Макет.ПолучитьОбласть("Страница1|Колонка2");
   ТабДок.Присоединить(Секция);

djvjv

Помогите очень надо

has

Не понял, тебе надо чтобы сначала ячейки по строке выводились, а потом по столбцам?

djvjv

представь что какая-то область имеет диапазон ячеек например R1C1:R40C16
в эту область выводятся разные параметры. Так же в этой области есть таблица n-ое количество строк. В зависимости от такого сколько данных.
Вот мне эту таблицу которая находится в той же области - заполнять одинаковым параметром. Как мне это сделать.

Кратко сказав вывести одну область, к ней присоединить вторую и во второй заполнить колонку через цикл

has

все равно не понял, в каком порядке то надо заполнять ячейки?

djvjv

Мне нужно было что-то вроде этого и это работает.
У меня вопрос можно ли сделать подобное использовав не диапазон ячеек, а одну ячейку?Я пробовал но у меня параметры не выводило.

ТабДок.Вывести(ОбластьСтраница1);
   Счетчик = 1;
   Секция = Макет.ПолучитьОбласть("Страница1|Колонка2");
   Если ЗначениеЗаполнено(левыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ЛевыйСпецификация.ТабЧасть  Цикл
         Секция.Параметры["Наименование" + Счетчик]=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
         Секция.Параметры["Количество" + Счетчик] = сокрлп(строка(СтрокаТЧ.Количество));
         Счетчик = Счетчик + 1;
      КонецЦикла;
   КонецЕсли;
   Если ЗначениеЗаполнено(правыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ПравыйСпецификация.ТабЧасть Цикл
         Секция = Макет.ПолучитьОбласть("Страница1|Колонка2");
         Секция.Параметры["Наименование" + Счетчик]=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
         Секция.Параметры["Количество" + Счетчик] = сокрлп(строка(СтрокаТЧ.Количество));
         Счетчик = Счетчик + 1;
      КонецЦикла;
   КонецЕсли;
   ТабДок.Присоединить(Секция);

djvjv

ТабДок.Вывести(ОбластьСтраница1);
   Счетчик = 1;
   Секция = Макет.ПолучитьОбласть("Страница1|Колонка2");
   Если ЗначениеЗаполнено(левыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ЛевыйСпецификация.ТабЧасть  Цикл
         Секция.Параметры("Наименование" + Счетчик)=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
         Секция.Параметры("Количество" + Счетчик) = сокрлп(строка(СтрокаТЧ.Количество));
         Счетчик = Счетчик + 1;
      КонецЦикла;
   КонецЕсли;
   Если ЗначениеЗаполнено(правыйСпецификация) Тогда
      Для каждого СтрокаТЧ Из ПравыйСпецификация.ТабЧасть Цикл
         Секция = Макет.ПолучитьОбласть("Страница1|Колонка2");
         Секция.Параметры("Наименование" + Счетчик)=сокрлп(строка(СтрокаТЧ.МПЗ.Наименование));
         Секция.Параметры("Количество" + Счетчик) = сокрлп(строка(СтрокаТЧ.Количество));
         Счетчик = Счетчик + 1;
      КонецЦикла;
   КонецЕсли;
   ТабДок.Присоединить(Секция);

cska-fanat-kz

как вариант еще можно настроить что ячейка содержит значение и заполнять ее свойство "Значение"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск