Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
Подскажите плиз, как написать код после запроса, с использованием таблицы значений, чтобы моя колонка "Подразделение" сортировалась по алфавиту в отчете. Всего у меня таблица состоит из "Подразделение", "Должность", "Ставка" и "Источник Финансирования". вот код отчета: Код Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |НаименованиеП = Справочник.Сотрудники.Подразделение, Справочник.ВнутренниеСовместители.Подразделение; |НаименованиеД = Справочник.Сотрудники.Должность, Справочник.ВнутренниеСовместители.Должность; |Ставка = Справочник.Сотрудники.Ставка, Справочник.ВнутренниеСовместители.Ставка; |НаименованиеИ = Справочник.Сотрудники.МестоРаботы.ИсточникФинансирования, Справочник.ВнутренниеСовместители.МестоРаботы.ИсточникФинансирования; |Функция СтавкаСумма = Сумма(Ставка); |Группировка НаименованиеП; |Группировка НаименованиеД; |Группировка НаименованиеИ; |"//}}ЗАПРОС; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; X Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл если Запрос.СтавкаСумма>0 тогда Таб.ВывестиСекцию("Наименование2"); конецесли; КонецЦикла; КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Таблица", ""); КонецПроцедуры сначала нужно выгрузить запрос в таблицу значений... Подскажите, пожалуйста, как мне написать сортировку по подразделению? и куда вставить этот код. заранее благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 13:15 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
вставить этот код можно куда угодно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 13:41 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
После выполнения запроса выгрузить резутльтат в таблицу значений, её отсортировать, данные из неё вывести. Почитать справку: РезультатЗапроса.Выгрузить (QueryResult.Unload) РезультатЗапроса (QueryResult) Выгрузить (Unload) Синтаксис: Выгрузить(<ТипОбхода>) ТаблицаЗначений (ValueTable) Сортировать (Sort) Синтаксис: Сортировать(<Колонки>, <ОбъектСравнения>) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 13:48 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
votsen1c, только следует помнить,что сортировка по подразделению (которое ссылка), и сортировка по алфавиту (наименованию подразделения) - это не одно и то же. Для второго в ТЗ отдельная колонка с текстовым наименованием должна присутсвовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 14:05 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
все-равно не сортирует. что я не так написал ?? Я вставляю код: ТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,0,0); ТЗ.Сортировать("НаименованиеП"); получается в общем: Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |НаименованиеП = Справочник.Сотрудники.Подразделение, Справочник.ВнутренниеСовместители.Подразделение; |НаименованиеД = Справочник.Сотрудники.Должность, Справочник.ВнутренниеСовместители.Должность; |Ставка = Справочник.Сотрудники.Ставка, Справочник.ВнутренниеСовместители.Ставка; |НаименованиеИ = Справочник.Сотрудники.МестоРаботы.ИсточникФинансирования, Справочник.ВнутренниеСовместители.МестоРаботы.ИсточникФинансирования; |Функция СтавкаСумма = Сумма(Ставка); |Группировка НаименованиеП упорядочить по НаименованиеП.Наименование; |Группировка НаименованиеД упорядочить по НаименованиеД.Наименование; |Группировка НаименованиеИ упорядочить по НаименованиеИ.Наименование; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,0,0); ТЗ.Сортировать("НаименованиеП"); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл если Запрос.СтавкаСумма>0 тогда Таб.ВывестиСекцию("Наименование2"); конецесли; КонецЦикла; КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Таблица", ""); КонецПроцедуры и все не хочешь сортировать колонку само значение в ячейке в таблице называется "Запрос.ЗначениеУпорядочивания(1)", но думаю не в этом дело ведь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 20:17 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
Потому что вы данные из запроса выводите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 12:33 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
AHDPПотому что вы данные из запроса выводите. а как из таблицы значений выводить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 13:56 |
|
||
|
сортировка колонки после выгрузки запроса в ТЗ
|
|||
|---|---|---|---|
|
#18+
Например так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37500621&tid=1520899]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 350ms |

| 0 / 0 |
