![]() |
![]() |
![]() |
|
Как программно можно отсортировать колонки в построителе отчетов | ☑ | ||
---|---|---|---|---|
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) они вот и сортируют. Вот и все, сбасибо всем. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |