Имя: Пароль:
1C
1С v8
Отчет на СКД ?
0 Kyrtizanka
 
25.06.12
18:32
Здравствуйте, может кто подскажет мне отчет в следующем виде, можно ли его на СКД сделать
Мне нужен отчет в следующем виде, у нас выставляются планы на группы контрагентов, мне нужно получить отчет с версиями планов, примерно  в таком виде, в один день может несколько планов,т.к на разные группы номенклатуры план
В примере сдвиг- это иерархия

шапка - Контрагентиерархия        Период планирования
                                        Январь
                                 01.01.12    01.01.12   02.01.12  
ПапкаКонтрагент1           1000                       2000
 ПапкаКонтрагент2           2000          2500
   ПапкаКонтрагент3           3000
1 Kyrtizanka
 
25.06.12
18:36
Пыталась не на СКД , динамично тоже  не получается выводить , путем присоединения или вывода секции.  Может тогда попытаться построить таблицуизначально?
2 Sereja
 
25.06.12
18:38
В СКД есть настройка отображения поля. Без иерархии, иерархия, только иерархия
3 Kyrtizanka
 
25.06.12
18:41
дело не в иерархии, а дело в том, что у меня  вывод - таблица
Строки -Контрагент
Колонки - Период месяц
              ДатаДокумента
4 Kyrtizanka
 
25.06.12
18:43
а после группировки ДатаДокумента, у меня суммаДокумента сумируется
5 ИС-2
 
naïve
25.06.12
18:52
Посмотрите мою тему
v8: Как можно вывести 3-х этажную шапка в СКД

+ Code
Процедура ДействияФормыСформировать(Кнопка)
//    ЭлементыФормы.Результат = Новый ТабличныйДокумент;

   
   ТабДок = ЭлементыФормы.Результат;
   
   ТабДок.Очистить();
   
   ЭтотОбъект.СкомпоноватьРезультат(ТабДок,ДанныеРасшифровки);
   
   Состояние("Обработка колонок...");
   
   ОбработатьЗаголовки(ТабДок);
   
   Отчеты.УниверсальныйОтчет.Создать().РасчетШириныКолонок(ТабДок);
КонецПроцедуры

Процедура ОбработатьЗаголовки(ТабДок)

   ОбъединяемаяОбласть = Неопределено;

   //Для оптимизации здесь нужно будет ограничить высоту таблицы

   //Для индСтр=1 По ТабДок.ВысотаТаблицы Цикл

   Для индСтр=1 По 10 Цикл

       НачальнаяКолонка = 0;
       Для индКол=1 По ТабДок.ШиринаТаблицы Цикл

           // ресурсы не обрабатываем

           ТекИмяПоля = ТабДок.Область(индСтр, индКол).Текст;
           Если не СхемаКомпоновкиДанных.ПоляИтога.Найти(ТекИмяПоля) = Неопределено Тогда
               Продолжить;
           КонецЕсли;
           
           // определяем начало объединения

           Если ОбъединятьЯчейки(ТабДок, индСтр, индКол) Тогда

               Если не НачальнаяКолонка Тогда

                   НачальнаяКолонка = индКол;

               КонецЕсли;

           ИначеЕсли НачальнаяКолонка Тогда
               // завершаем объединение


               ТекстЗаголовка = ТабДок.Область(индСтр, индКол).Текст;
               ОбъединяемаяОбласть = ТабДок.Область(индСтр, НачальнаяКолонка, индСтр, индКол);
               ОбъединяемаяОбласть.Объединить();
               ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
               ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
               НачальнаяКолонка = 0;

           Иначе

               НачальнаяКолонка = 0;

           КонецЕсли;

       КонецЦикла;

       // Если нашли в строке области для объединения, то прекращаем дальнейшие поиски

       Если не ОбъединяемаяОбласть = Неопределено Тогда

        //   возврат;


       КонецЕсли;

   КонецЦикла;

КонецПроцедуры

// Проверка двух смежных ячеек на идентичночность

Функция ОбъединятьЯчейки(ТабДок, индСтр, индКол)

   Ячейка = ТабДок.Область(индСтр, индКол);
   ЯчейкаСлед = ТабДок.Область(индСтр, индКол+1);
   Если ПустаяСтрока(Ячейка.Текст) Тогда

       Возврат ложь

   ИначеЕсли
       //Проверяем на соответствие заголовка

       Ячейка.Текст = ЯчейкаСлед.Текст
       // Проверяем на соответствие имени (отсеиваем уже объединенные ячейки)

       //и Ячейка.Имя = "R"+индСтр+"C"+индКол

       Тогда

       Возврат Истина;

   Иначе

       Возврат ложь

   КонецЕсли;

КонецФункции
6 Kyrtizanka
 
25.06.12
18:59
видеть бы в каком виде то,что обрабатывается
7 Kyrtizanka
 
25.06.12
19:05
все таки видимо мне придется принципиально что-то другое придумывать, чтобы группировка по дате не сумировала
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.