Как вывести результаты в алфавитном порядке?

Новая тема
Проблемка...

Есть запрос по полученным с/ф.

Вывод в печатную форму как по группам, так и в простой форме, т.е. если выбираем по "группировать", то выводится в печатную форму уже отобранные по контрагенту док-ты.

Но выводятся не в алфавитном порядке!!!

Как это сделать??? (если надо - приведу листинг)



"Добрый день. В группировке же задается выборка:

Группировка(<Группировка>, <Направление>)

<Направление> Необязательный параметр. Числовое выражение:1 — выборка значений группировки по возрастанию;-1 (минус единица) — выборка значений группировки по убыванию.Значение по умолчанию: 1."
"Пока Запрос.Группировка("Контрагент") = 1 Цикл



Вы это имеете ввиду?

Не работает.

Привожу полный листинг:



Процедура ЖурналУчета()



Таб.ИсходнаяТаблица("ЖурналУчета");

УстановленныйОтбор = """";

Если СтандартнаяФорма = 0 Тогда

Если ВыбКонтрагент.Выбран() = 1 Тогда

   УстановленныйОтбор = "Установлен отбор по контрагенту: "+СокрЛП(ВыбКонтрагент.Наименование);

КонецЕсли;

КонецЕсли;

Таб.ВывестиСекцию("Шапка");



ТекстЗапроса = "Период с ДатаНачала по ДатаКонца;

|ОбрабатыватьДокументы Все;

|Обрабатывать НеПомеченныеНаУдаление;

|Док = Документ.СчетФактураПолученный.ТекущийДокумент,

|      Документ.ПоступлениеТоваров.ТекущийДокумент,

|      Документ.ПоступлениеМатериалов.ТекущийДокумент,

|      Документ.ПоступлениеОборудования.ТекущийДокумент,

|      Документ.ПоступлениеОС.ТекущийДокумент,

|      Документ.ПоступлениеНМА.ТекущийДокумент,

|      Документ.УслугиСтороннихОрганизаций.ТекущийДокумент;

|ДокументОснование = Документ.СчетФактураПолученный.ДокументОприходования,

|                    Документ.ПоступлениеТоваров.ТекущийДокумент,

|                    Документ.ПоступлениеМатериалов.ТекущийДокумент,

|                 Документ.ПоступлениеОборудования.ТекущийДокумент,

|                    Документ.ПоступлениеОС.ТекущийДокумент,

|                    Документ.ПоступлениеНМА.ТекущийДокумент,

|                    Документ.УслугиСтороннихОрганизаций.ТекущийДокумент;

|Контрагент = Документ.СчетФактураПолученный.Контрагент,

|             Документ.ПоступлениеТоваров.Контрагент,

|             Документ.ПоступлениеМатериалов.Контрагент,

|             Документ.ПоступлениеОборудования.Контрагент,

|             Документ.ПоступлениеОС.Контрагент,

|             Документ.ПоступлениеНМА.Контрагент,

|             Документ.УслугиСтороннихОрганизаций.Контрагент;

|Валюта = Документ.СчетФактураПолученный.Договор.ВалютаДоговора,

|         Документ.ПоступлениеТоваров.Договор.ВалютаДоговора,

|         Документ.ПоступлениеМатериалов.Договор.ВалютаДоговора,

|         Документ.ПоступлениеОборудования.Договор.ВалютаДоговора,

|         Документ.ПоступлениеОС.Договор.ВалютаДоговора,

|         Документ.ПоступлениеНМА.Договор.ВалютаДоговора,

|         Документ.УслугиСтороннихОрганизаций.Договор.ВалютаДоговора;

|ДатаНомер = Документ.СчетФактураПолученный.ДатаНомерСчетаФактуры,

|            Документ.ПоступлениеТоваров.ДатаНомерСчетаФактуры,

|            Документ.ПоступлениеМатериалов.ДатаНомерСчетаФактуры,

|            Документ.ПоступлениеОборудования.ДатаНомерСчетаФактуры,

|            Документ.ПоступлениеОС.ДатаНомерСчетаФактуры,

|            Документ.ПоступлениеНМА.ДатаНомерСчетаФактуры,

|            Документ.УслугиСтороннихОрганизаций.ДатаНомерСчетаФактуры;

|Всего = Документ.СчетФактураПолученный.Всего,

|        Документ.ПоступлениеТоваров.Всего,

|        Документ.ПоступлениеМатериалов.Всего,

|        Документ.ПоступлениеОборудования.Всего,

|        Документ.ПоступлениеОС.Всего,

|        Документ.ПоступлениеНМА.Всего,

|        Документ.УслугиСтороннихОрганизаций.Всего;";

Если СтандартнаяФорма = 0 Тогда

Если ГруппироватьПоКонтрагентам = 1 Тогда

   ТекстЗапроса = ТекстЗапроса + "

|Группировка Контрагент;";

КонецЕсли;

КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "

|Группировка Док;

|Функция ВсегоПокупок = Сумма(Всего);";

Если СтандартнаяФорма = 0 Тогда

Если ВыбКонтрагент.Выбран() = 1 Тогда

   ТекстЗапроса = ТекстЗапроса + "

|Условие (Контрагент в ВыбКонтрагент);";

КонецЕсли;

КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "

|Условие (ПустоеЗначение(ДатаНомер) = 0);";



Запрос = СоздатьОбъект("Запрос");

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Предупреждение("Невозможно выполнить запрос");

Возврат;

КонецЕсли;



Ном = 1;

Пока Запрос.Группировка("Контрагент") = 1 Цикл

Если (СтандартнаяФорма = 1) или (ГруппироватьПоКонтрагентам = 0) Тогда

_Счет = """";

_Доктик = Запрос.Док;

Если _Доктик.Вид() = "СчетФактураПолученный" Тогда

_Счет = СокрЛП(Строка(_Доктик.Счет.Код));

КонецЕсли;

Таб.ВывестиСекцию("Строка");

Ном = Ном + 1;



ИначеЕсли ГруппироватьПоКонтрагентам = 1 Тогда

Если Запрос.Контрагент.ЭтоГруппа() = 1 Тогда

Продолжить;

КонецЕсли;

Сообщить(Запрос.Контрагент);

Таб.ВывестиСекцию("Контрагент");



Пока Запрос.Группировка("Док") = 1 Цикл

_Счет = """";

_Доктик = Запрос.Док;

Если _Доктик.Вид() = "СчетФактураПолученный" Тогда

_Счет = СокрЛП(Строка(_Доктик.Счет.Код));

КонецЕсли;

Таб.ВывестиСекцию("Строка");

Ном = Ном + 1;

КонецЦикла;



КонецЕсли;

КонецЦикла;



ВерхнийКолонтитул = "Журнал учета полученных счетов-фактур ("+ПериодСтр(ДатаНачала, ДатаКонца)+")";

НижнийКолонтитул = "Отчет сформирован "+ТекущаяДата()+" "+ТекущееВремя()+?(ПустоеЗначение(ИмяПользователя())=0,"  Пользователь: "+ИмяПользователя(),"""");



Таб.Опции(0,0,6,0, "Параметры печати журналы полученных счетов-фактур" );

Таб.ОбластьПечати(2);

Таб.ПовторятьПриПечатиСтроки(6, 6);

Таб.ПараметрыСтраницы(1,,,,,,,,,1);

Таб.ТолькоПросмотр(1);

Таб.Показать("Журнал учета полученных счетов-фактур","""");



КонецПроцедуры // ЖурналУчета()"
"Нет, конструкция типа:

|Контрагент = Документ.СчетФактураПолученный.Контрагент;

|Группировка Контрагент упорядочить по Контрагент.Наименование; "
и это знаю... не работает...
"Попробуйте упростить запрос по нужному и посмотрите, работает или нет:

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "<текст запроса по контрагенту>"

Запрос.Выполнить(ТекстЗапроса);



"
"Сделай так:



Если ГруппироватьПоКонтрагентам = 1 Тогда

ТекстЗапроса = ТекстЗапроса + "

|Группировка Контрагент Упорядочить по Контрагент.Наименование Без Групп;";

КонецЕсли;

"
Хитрый запрос. Выбирай только то что нужно, а многое

можно и из самого документа получать когда надо.

Есть метод "выгрузить()". Выгружаешь в таблицу значений, а

в ней и сортируешь как хочешь, а от туда потом и в таблицу легче выводить.
Так, с сортировкой в ТЗ разобрались...



Как теперь все это отсортированное выдать в печатную форму?
"Элементарно.

допкстим ТЗ - таблица значений.



ТЗ.ВыбратьСтроки();

Пока ТЗ.ПолучитьСтроку() = 1 цикл

......

КонецЦикла;



Просто перебераешь строки таблицы значений и из нё запихиваешь в печатную форму таблицы."
Читают тему
(гостей: 1)

Быстрый переход