Имя: Пароль:
1C
 
Как программно можно отсортировать колонки в построителе отчетов
0 Genri
 
06.03.09
15:04
Как программно можно отсортировать колонки  в построителе отчетов
1 dimoff
 
06.03.09
15:08
Колонки в построителе не сортируются. сортируются только значения
2 Genri
 
06.03.09
15:09
А как ?
3 Юрий Юрьевич
 
06.03.09
15:13
в каком порядке поля или измерения построителю добавляете - в таком порядке они по умолчанию и выводятся. ну можно при выводе результата конечно явно взяться за соответствующее измерение (поле) и также проуправлять порядком вывода группировок
5 Gruppen
 
06.03.09
15:19
спПорядок.Очистить();
   спПорядок.Добавить("ВодительПредставление",    "Водитель",        ИСТИНА);
   спПорядок.Добавить("ТранспортПредставление",    "Транспорт",        ИСТИНА);
   спПорядок.Добавить("ДатаДокумента",            "Дата документа",    ИСТИНА);
6 Genri
 
06.03.09
15:19
Говорю конкретно мне нужно поменять в УТП для украины сортировку колонок в отчете РасчетнаяВедомостьОрганизации.
7 Genri
 
06.03.09
15:20
(5)а это порядок колонок или строк ?
8 Юрий Юрьевич
 
06.03.09
15:21
(6) "сортировку колонок в отчете" - сортировку значений в колонке? порядок вывода колонок? конкретно чего хочешь то?
9 Genri
 
06.03.09
15:23
Порядок вывода колонок !
10 Юрий Юрьевич
 
06.03.09
15:28
открой схему компоновки данных отчета, в настройках видно в каком порядке выводятся показатели отчета
11 dimoff
 
06.03.09
15:29
(9) А, так Построитель.ДоступныеПоля посдвигать как надо или области табличного документа подвигать после вывода
12 Genri
 
06.03.09
15:31
(10) схемы нет и формы настройки тоже нет все внутри
13 Юрий Юрьевич
 
06.03.09
15:32
как это нет? конфигуратор открывал, нужный отчет смотрел?
14 Genri
 
06.03.09
15:36
(13)А ты открывал
15 dimoff
 
06.03.09
15:37
То ли Доступные поля подвигать то ли выбранные
16 Genri
 
06.03.09
15:49
Вот код....

#Если Клиент Тогда
   
Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ТолькоЗаголовок = Ложь) Экспорт
   
   ДокументРезультат.Очистить();
   
   Макет = ПолучитьМакет("Макет");
   ЗаголовокОтчета = Макет.ПолучитьОбласть("Заголовок");
   ЗаголовокОтчета.Параметры.Период = НСтр("ru='Период: ';uk='Період: '") + ПредставлениеПериода(НачалоМесяца(Период), КонецМесяца(Период), "Л="+Локализация.ОпределитьКодЯзыкаДляФормат(Локализация.КодЯзыкаИнтерфейса())+"; ФП = Истина");
   Если ПостроительОтчета.Отбор.Организация.Использование Тогда
       ЗаголовокОтчета.Параметры.Организация = НСтр("ru='Организация: ';uk='Організація: '") + ПостроительОтчета.Отбор.Организация.Значение;
   КонецЕсли;
   
   Если ТолькоЗаголовок Тогда
       ДокументРезультат.Вывести(ЗаголовокОтчета);
       Возврат;
   КонецЕсли;
   
   ПостроительОтчета.МакетЗаголовкаОтчета = ЗаголовокОтчета;
                                                               
   ПостроительОтчета.Параметры.Вставить("Период", Период);
   ПостроительОтчета.Параметры.Вставить("СледующийПериод", НачалоМесяца(КонецМесяца(Период)+1));
   //Отсекаем из отчета все взносы ФОТ
   ВзносыФОТ = Новый СписокЗначений;
   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ПФ_Орг42);
   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ФССБезработ_Орг);
   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ФССНесчСлуч_Орг);
   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ФССУтрТрудосп_Орг29);

   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ПФ_Орг32);
   ВзносыФОТ.Добавить(Справочники.СтатьиНалоговыхДеклараций.ПФ_Орг4);
   
   ПостроительОтчета.Параметры.Вставить("ВзносыФОТ", ВзносыФОТ);
   
   МассивВидЗанятости    = Новый Массив(2);
   МассивВидЗанятости[0] = Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
   МассивВидЗанятости[1] = Перечисления.ВидыЗанятостиВОрганизации.Совместительство;
   
   ПостроительОтчета.Параметры.Вставить("ПарамОсновнойСотрудник",   МассивВидЗанятости);
   
   ПостроительОтчета.Выполнить();
   ПостроительОтчета.ОформитьМакет();
   ПостроительОтчета.Вывести(ДокументРезультат);
   
   Ширина = ДокументРезультат.ШиринаТаблицы;
   ВысотаЗаголовка = 4;
   
   // удалим из документа итог по строкам - последняя колонка отчета
   Область = ДокументРезультат.Область(, Ширина, ВысотаЗаголовка + 1, Ширина);
   ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
   
   Если ДокументРезультат.Область(ВысотаЗаголовка + 1, Ширина - 2, ВысотаЗаголовка + 1, Ширина - 2).Текст = "Я" Тогда
       // удалим из документа колонку "Я", соответствующую виртуальному виду расчета "Конечное сальдо"
       Область = ДокументРезультат.Область(, Ширина - 2, ВысотаЗаголовка + 1, Ширина - 2);
       ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
       
       Область = ДокументРезультат.Область(, Ширина - 2, ВысотаЗаголовка + 1, Ширина );
       Область.Разгруппировать();
       
   КонецЕсли;

   Если ДокументРезультат.Область(ВысотаЗаголовка + 1, Ширина - 3, ВысотаЗаголовка + 1, Ширина - 3).Текст = "Я" Тогда
       // удалим из документа колонку "Я", соответствующую виртуальному виду расчета "Конечное сальдо"
       Область = ДокументРезультат.Область(, Ширина - 3, ВысотаЗаголовка + 1, Ширина - 3);
       ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
       
       Область = ДокументРезультат.Область(, Ширина - 3, ВысотаЗаголовка + 1, Ширина );
       Область.Разгруппировать();
       
   КонецЕсли;
   
   Если ДокументРезультат.Область(ВысотаЗаголовка + 1, Ширина - 4, ВысотаЗаголовка + 1, Ширина - 4).Текст = "Я" Тогда
       // удалим из документа колонку "Я", соответствующую виртуальному виду расчета "Конечное сальдо"
       Область = ДокументРезультат.Область(, Ширина - 3, ВысотаЗаголовка + 1, Ширина - 3);
       Область.Разгруппировать();
       Область = ДокументРезультат.Область(, Ширина - 4, ВысотаЗаголовка + 1, Ширина - 4);
       ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
       Область = ДокументРезультат.Область(, Ширина - 3, ВысотаЗаголовка + 1, Ширина - 3);
       ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
   КонецЕсли;

   
   Если ДокументРезультат.Область(ВысотаЗаголовка + 1, 3, ВысотаЗаголовка + 1, 3).Текст = "А" Тогда
       // удалим из документа колонку "А", соответствующую виртуальному виду расчета "Начальное сальдо"
       Область = ДокументРезультат.Область(, 4, ВысотаЗаголовка + 1, 4);
       Область.Разгруппировать();
       Область = ДокументРезультат.Область(, 3, ВысотаЗаголовка + 1, 3);
       Область.Разгруппировать();
       ДокументРезультат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
               
   КонецЕсли;
   
КонецПроцедуры

Процедура ЗаполнитьНачальныеНастройки() Экспорт
   
   ПостроительОтчета.Текст =
   "ВЫБРАТЬ Разрешенные
   |    Данные.Организация,
   |    "+?(НеВыводитьПодразделение,"","РаботникиОрганизаций.Подразделение    КАК Подразделение,")+"
   |    Данные.Сотрудник КАК ФизЛицо,
   |    Данные.Организация.Представление                            КАК ОрганизацияПредставление,
   |    Данные.Сотрудник.ФизЛицо.Представление                        КАК ФизЛицоПредставление,
   |    Данные.Группа,
   |    Данные.ПриоритетГруппы                                        КАК ПриоритетГруппы,
   |    Данные.ИмяВидаРасчета,
   |    Данные.ПриоритетВидаРасчета                                КАК ПриоритетВидаРасчета,
   |    СУММА(Данные.Результат)                                    КАК Результат                                        
   |
   |
   |ИЗ
   |
   |    (ВЫБРАТЬ
   |        ОсновныеНачисленияРаботниковОрганизации.Организация    КАК Организация,
   |        ОсновныеНачисленияРаботниковОрганизации.Сотрудник            КАК Сотрудник,
   |        ОсновныеНачисленияРаботниковОрганизации.ВидРасчета          КАК ИмяВидаРасчета,
   |        """+НСтр("ru='Начислено';uk='Нараховано'")+"""                    КАК ПриоритетВидаРасчета,
   |        """+НСтр("ru='Всего начислено';uk='Всього нараховано'")+"""        КАК Группа,
   |        2                                                            КАК ПриоритетГруппы,
   |        ОсновныеНачисленияРаботниковОрганизации.Результат            КАК Результат
   |    ИЗ
   |        РегистрРасчета.Начисления КАК ОсновныеНачисленияРаботниковОрганизации
   |    
   |    ГДЕ
   |        (ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)) И
   |        (ОсновныеНачисленияРаботниковОрганизации.Результат <> 0)
   //---------------------НДФЛ-------------------------------------------------------------------
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ВзаиморасчетыПоНДФЛ.Организация,
   |        ВзаиморасчетыПоНДФЛ.Сотрудник,
   |        """+НСтр("ru='НДФЛ';uk='ПДФО'")+""",
   |        """+НСтр("ru='НДФЛ';uk='ПДФО'")+""",
   |        """+НСтр("ru='Всего удержано';uk='Всього утримано'")+""",
   |        3,
   |        ВзаиморасчетыПоНДФЛ.Налог                                    
   |    ИЗ
   |        РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК ВзаиморасчетыПоНДФЛ
   |    
   |    ГДЕ
   |        (ВзаиморасчетыПоНДФЛ.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)) И
   |        (ВзаиморасчетыПоНДФЛ.Сотрудник ССЫЛКА Справочник.СотрудникиОрганизаций)  И
   |        ВзаиморасчетыПоНДФЛ.ВидДвижения = &Приход
   |
   //----------Выплаты--------------------------------------------------------------------------
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        Взаиморасчеты.Организация,
   |        Взаиморасчеты.Сотрудник,
   |        ВЫБОР КОГДА Взаиморасчеты.Регистратор ССЫЛКА Документ.ЗарплатаКВыплатеОрганизаций
   |                ТОГДА ""Задепонировано""
   |            ИНАЧЕ Взаиморасчеты.Ведомость.ВидВыплаты.Наименование
   |        КОНЕЦ,
   |        """",
   |        """+НСтр("ru='Всего выплачено';uk='Всього виплачено'")+""",
   |        4,
   |        Взаиморасчеты.СуммаВзаиморасчетов                                
   |    ИЗ
   |        РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК Взаиморасчеты
   |    
   |    ГДЕ
   |        (Взаиморасчеты.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ))
   |        И    Взаиморасчеты.ВидДвижения <> &Приход
   |        И    Взаиморасчеты.Ведомость <> ЗНАЧЕНИЕ(Документ.ЗарплатаКВыплатеОрганизаций.ПустаяСсылка)
   |    
   |    
   //---------------------Взносы в фонды---------------------------------------------------------
   |        ОБЪЕДИНИТЬ ВСЕ
   |        
   |        ВЫБРАТЬ
   |            ВзносыВФонды.Организация,
   |            ВзносыВФонды.Сотрудник,
   |            ВзносыВФонды.СтатьяНалоговойДекларации,
   |            """",
   |            """+НСтр("ru='Всего удержано';uk='Всього утримано'")+""",
   |            5,
   |            СУММА(ВзносыВФонды.Результат)                        
   |        ИЗ
   |            РегистрНакопления.ВзаиморасчетыПоВзносамВФонды КАК ВзносыВФонды
   |        
   |        ГДЕ
   |            ВзносыВФонды.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
   |          И
   |            ВзносыВФонды.ВидДвижения        =    &Приход
   |          И
   |            ВзносыВФонды.СтатьяНалоговойДекларации НЕ В (&ВзносыФОТ)
   |        
   |        {ГДЕ
   |            ВзносыВФонды.Организация КАК Организация}
   |        
   |        СГРУППИРОВАТЬ ПО
   |            ВзносыВФонды.Организация,
   |            ВзносыВФонды.Ставка,
   |            ВзносыВФонды.Сотрудник,
   |            ВзносыВФонды.СтатьяНалоговойДекларации
   
   |
   //-------------------------Удержания----------------------------------------------------------
   |    ОБЪЕДИНИТЬ ВСЕ
   |
   |    ВЫБРАТЬ
   |        УдержанияРаботниковОрганизации.Организация            КАК Организация,
   |        УдержанияРаботниковОрганизации.Сотрудник                    КАК Сотрудник,
   |        УдержанияРаботниковОрганизации.ВидРасчета                    КАК ИмяВидаРасчета,
   |        """"                                                        КАК ПриоритетВидаРасчета,
   |        """+НСтр("ru='Всего удержано';uk='Всього утримано'")+"""    КАК Группа,
   |        6                                                            КАК ПриоритетГруппы,
   |        УдержанияРаботниковОрганизации.Результат                    КАК Результат
   |    ИЗ
   |        РегистрРасчета.Удержания КАК УдержанияРаботниковОрганизации
   |    
   |    ГДЕ
   |        (УдержанияРаботниковОрганизации.ПериодРегистрации = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)) И
   |        (УдержанияРаботниковОрганизации.Результат <> 0)
   |
   //-------------------------------------------------------------------------------------------
   |    ОБЪЕДИНИТЬ ВСЕ
   |
   |    ВЫБРАТЬ
   |        СальдоНачальное.Организация,
   |        СальдоНачальное.Сотрудник,
   |        """+НСтр("ru='Начальное сальдо';uk='Початкове сальдо'")+""",
   |        NULL,
   |        ""А"",
   |        1,
   |        СальдоНачальное.СуммаВзаиморасчетовОстаток
   |    ИЗ
   |        РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), ) КАК СальдоНачальное
   |    
   //-------------------------------------------------------------------------------------------
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        Основной.Организация,
   |        Основной.Сотрудник,
   |        """+НСтр("ru='К выплате за месяц';uk='До виплати за місяць'")+""",
   |        NULL,
   |        ""Я"",
   |        7,
   |        ВЫБОР    КОГДА Основной.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |                      ТОГДА Основной.СуммаВзаиморасчетов
   |                КОГДА    Основной.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийВзаиморасчетыСРаботникамиОрганизаций.Взносы)
   |                    ИЛИ Основной.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийВзаиморасчетыСРаботникамиОрганизаций.НДФЛ)
   |                    ИЛИ Основной.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийВзаиморасчетыСРаботникамиОрганизаций.Удержания)
   |                      ТОГДА -Основной.СуммаВзаиморасчетов
   |              ИНАЧЕ 0
   |        КОНЕЦ
   |    ИЗ    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК Основной
   |    ГДЕ  Основной.ПериодВзаиморасчетов = &Период
   |    
   |    
   //-------------------------------------------------------------------------------------------
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        СальдоКонечное.Организация,
   |        СальдоКонечное.Сотрудник,
   |        """+НСтр("ru='Конечное сальдо';uk='Кінцеве сальдо'")+""",
   |        NULL,
   |        ""Я"",
   |        8,
   |        СальдоКонечное.СуммаВзаиморасчетовОстаток
   |    ИЗ
   |        РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(&СледующийПериод, ) КАК СальдоКонечное
   |    
   |    ) КАК Данные
   |
   //------------------------подтягиваю подразделение организации-------------------------------
   |    ЛЕВОЕ СОЕДИНЕНИЕ
   |        (    ВЫБРАТЬ
   |                Работники.ПодразделениеОрганизации                        КАК Подразделение,
   |                Работники.Сотрудник                                        КАК Сотрудник,
   |                Работники.Организация                                    КАК Организация
   |            ИЗ
   |                РегистрСведений.РаботникиОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&Период, МЕСЯЦ),
   |                    Сотрудник.ВидЗанятости В (&ПарамОсновнойСотрудник)
   |                    {ПодразделениеОрганизации КАК Подразделение, Организация}
   |                    )                    КАК Работники
   |        )КАК РаботникиОрганизаций
   |
   |ПО РаботникиОрганизаций.Сотрудник     = Данные.Сотрудник И
   |   РаботникиОрганизаций.Организация = Данные.Организация
   //-------------------------------------------------------------------------------------------
   |
   |СГРУППИРОВАТЬ ПО
   |    
   |    Данные.Организация,
   |    "+?(НеВыводитьПодразделение,"","РаботникиОрганизаций.Подразделение,")+"
   |    Данные.Сотрудник,
   |    Данные.Группа,
   |    Данные.ПриоритетГруппы,
   |    Данные.ИмяВидаРасчета,
   |    Данные.ПриоритетВидаРасчета
   |
   |УПОРЯДОЧИТЬ ПО
   |    ПриоритетВидаРасчета

   //|    Данные.Сотрудник.Физлицо.Наименование,
   //|    ПриоритетГруппы
   |
   |ИТОГИ МАКСИМУМ(ПриоритетГруппы), МАКСИМУМ(ПриоритетВидаРасчета), СУММА(Результат) ПО
   |    Данные.Организация,
   |    "+?(НеВыводитьПодразделение,"","РаботникиОрганизаций.Подразделение,")+"
   |    Данные.Сотрудник
   |
   |{ИТОГИ  ПО
   |    Данные.Организация,
   |    "+?(НеВыводитьПодразделение,"","РаботникиОрганизаций.Подразделение,")+"
   |    ФизЛицо,
   |    Группа,
   |    ИмяВидаРасчета
   |}
   |
   |{ГДЕ
   |    Данные.Организация,
   |    РаботникиОрганизаций.Подразделение
   |}    
   |";
   

   СтруктураПредставлениеПолей = Новый Структура("ФизЛицоПредставление,Физлицо,ИмяВидаРасчета,Организация",
   НСтр("ru='Работник';uk='Працівник'"),
   НСтр("ru='Работник';uk='Працівник'"),
   НСтр("ru='Вид расчета';uk='Вид розрахунку'"),
   НСтр("ru='Организация';uk='Організація'"));
       
   //УправлениеОтчетами.ЗаполнитьПредставленияПолей(СтруктураПредставлениеПолей, ПостроительОтчета);
   
   ПостроительОтчета.Отбор.Добавить("Организация");
   ПостроительОтчета.Отбор.Добавить("Подразделение");
   ПостроительОтчета.ВыводитьОбщиеИтоги = Истина;
   
   
   ПостроительОтчета.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Интерфейс);
   ПостроительОтчета.Макет = ПолучитьМакет("Макет");
   
   ПостроительОтчета.ИзмеренияКолонки.Добавить("Группа");
   ПостроительОтчета.ИзмеренияКолонки.Добавить("ИмяВидаРасчета");
   
   ПостроительОтчета.РазмещениеИзмеренийВКолонках = ТипРазмещенияИзмерений.Вместе;
   ПостроительОтчета.РазмещениеИзмеренийВСтроках  = ТипРазмещенияИзмерений.Вместе;
   
   ПостроительОтчета.Параметры.Вставить("Приход", ВидДвиженияНакопления.Приход);
   
   ПустаяСтруктура = Новый Структура;
   
КонецПроцедуры

#КонецЕсли
17 Юрий Юрьевич
 
06.03.09
15:56
(14) не думал что украинская настолько отличается - естественно я смотрю в обычную

(16) какую например колонку хочется подвинуть?
18 Genri
 
10.03.09
10:51
(17)хотелось бы колонку всего начислено в КОНЕЦ.
19 Genri
 
10.03.09
11:32
(17)хотелось бы колонку "всего начислено" в КОНЕЦ.
20 Genri
 
10.03.09
12:45
Открываю ТАЙНУ может у кого и будет такая же проблема.
Что надо сделать.
В даном случие в тексте заполнения настроек есть маленькие цифирки.
  |        """"                                                         КАК ПриоритетВидаРасчета,
   |        """+НСтр("ru='Всего удержано';uk='Всього утримано'")+"""    КАК Группа,
   |        6                                                             КАК ПриоритетГруппы,

Номер (6) они вот и сортируют.
Вот и все, сбасибо всем.