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

Макет с пересекающимися ячейками

Автор Tyshkan, 29 июн 2013, 13:17

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

Tyshkan

Необходима печатная форма с колонками.номер пункт положения (их определенное количество и они выводятся построчно) и потом в зависимости от количества лет колонка год (для каждого года периода)  и в каждом году еще разделение по кварталам года.  Как это можно сделать?

Besart

предполагаю что СКД вам в этом сильно поможет, создайте СКД на основе объекта в качестве которого передавайте таблицу значений с вашими данными, а в СКД уже настроите макет так как вам нужно

Tyshkan

Если не сложно можете скинуть ссылку где можно прочитать подробнее

Besart

"Объектная" Схема компоновки данных в 1С 8.х погуглите може еще найдете, а так же бесплатный курс по СКД вы можете скачать здесь Бесплатные материалы по 1С

Tyshkan

спасибо
Добавлено: 01 июл 2013, 16:38


ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.Очистить();
   ТабДокумент.ИмяПараметровПечати = "ПланируемыеСведенияДЛЯНПО";
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

   Макет = ПолучитьМакет("ПотребностьСредств1");      
   
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   
   Если ГодОкончания <> "" Тогда
      КоличествоЛет = ГодОкончания - ГодНачала;
   Иначе
      КоличествоЛет = 0;
   КонецЕсли;   
   
   ОбластьЗаголовок.Параметры.ДочернееОбщество = ЭтотОбъект.Организация;
   ОбластьЗаголовок.Параметры.Период = Строка(Формат(ГодНачала,"ЧГ=0")) + " - " + Строка(Формат(ГодОкончания,"ЧГ=0"));
   ТабДокумент.Вывести(ОбластьЗаголовок);
   
   ОбластьШапка = Макет.ПолучитьОбласть("Шапка|Данные");
   ТабДокумент.Вывести(ОбластьШапка);
   
   Индекс = 0;
   Пока КоличествоЛет > Индекс или КоличествоЛет = Индекс Цикл
      //ОбластьШапка = Макет.ПолучитьОбласть("Шапка|Данные");
      //ТабДокумент.Вывести(ОбластьШапка);
         
      ОбластьШапкаДанные    = Макет.ПолучитьОбласть("Шапка|ПланируемыеДанные");
      ОбластьСтрокаДанные = Макет.ПолучитьОбласть("Строка|Данные");
      ОбластьСтрока       = Макет.ПолучитьОбласть("Строка|ПланируемыеДанные");

      ОбластьШапкаДанные.Параметры.ПланирГод_1 = Строка(Формат(Число(ГодНачала)+Индекс,"ЧГ=0")) + " год";
      ТабДокумент.Присоединить(ОбластьШапкаДанные);

      Отбор = Новый Структура();
      Отбор.Вставить("Год", Строка(Формат(Число(ГодНачала)+Индекс,"ЧГ=0")));
      МассивДокументов = Потребность.НайтиСтроки(Отбор);
      Если  МассивДокументов.Количество() > 0 Тогда
         Для Каждого СтрПотребность из МассивДокументов Цикл             
            СтрокаПункта = СоответствиеСписокФорм.Получить(СтрПотребность.ПунктПоложения);
            Если СтрПотребность.Квартал = "1" Тогда
               ...(заполняем параметры)
            КонецЕсли;   
            
         КонецЦикла;
         //ТабДокумент.Вывести(ОбластьСтрокаДанные);
         //ТабДокумент.Присоединить(ОбластьСтрока);
      КонецЕсли;
      //ТабДокумент.Вывести(ОбластьШапка);
      //ТабДокумент.Присоединить(ОбластьШапкаДанные);

      ТабДокумент.Вывести(ОбластьСтрокаДанные);
      ТабДокумент.Присоединить(ОбластьСтрока);

      Индекс = Индекс + 1;
   КонецЦикла;
   

Добавлено: 01 июл 2013, 16:39


область Шапка|Планируемые данные должна выводиться каждый раз слева новым столбцом (и соответственно строки), но не как не получается((( может кто подскажет ошибку?

Теги:

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

Рейтинг@Mail.ru

Поиск