Как вывести результаты в алфавитном порядке?
19.05.2005
13:46
#1
Проблемка...
Есть запрос по полученным с/ф.
Вывод в печатную форму как по группам, так и в простой форме, т.е. если выбираем по "группировать", то выводится в печатную форму уже отобранные по контрагенту док-ты.
Но выводятся не в алфавитном порядке!!!
Как это сделать??? (если надо - приведу листинг)
Есть запрос по полученным с/ф.
Вывод в печатную форму как по группам, так и в простой форме, т.е. если выбираем по "группировать", то выводится в печатную форму уже отобранные по контрагенту док-ты.
Но выводятся не в алфавитном порядке!!!
Как это сделать??? (если надо - приведу листинг)
19.05.2005
14:14
#2
"Добрый день. В группировке же задается выборка:
Группировка(<Группировка>, <Направление>)
<Направление> Необязательный параметр. Числовое выражение:1 — выборка значений группировки по возрастанию;-1 (минус единица) — выборка значений группировки по убыванию.Значение по умолчанию: 1."
Группировка(<Группировка>, <Направление>)
<Направление> Необязательный параметр. Числовое выражение:1 — выборка значений группировки по возрастанию;-1 (минус единица) — выборка значений группировки по убыванию.Значение по умолчанию: 1."
19.05.2005
14:24
#3
"Пока Запрос.Группировка("Контрагент") = 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);
Таб.Показать("Журнал учета полученных счетов-фактур","""");
КонецПроцедуры // ЖурналУчета()"
Вы это имеете ввиду?
Не работает.
Привожу полный листинг:
Процедура ЖурналУчета()
Таб.ИсходнаяТаблица("ЖурналУчета");
УстановленныйОтбор = """";
Если СтандартнаяФорма = 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);
Таб.Показать("Журнал учета полученных счетов-фактур","""");
КонецПроцедуры // ЖурналУчета()"
19.05.2005
14:47
#4
"Нет, конструкция типа:
|Контрагент = Документ.СчетФактураПолученный.Контрагент;
|Группировка Контрагент упорядочить по Контрагент.Наименование; "
|Контрагент = Документ.СчетФактураПолученный.Контрагент;
|Группировка Контрагент упорядочить по Контрагент.Наименование; "
19.05.2005
15:51
#6
"Попробуйте упростить запрос по нужному и посмотрите, работает или нет:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "<текст запроса по контрагенту>"
Запрос.Выполнить(ТекстЗапроса);
"
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "<текст запроса по контрагенту>"
Запрос.Выполнить(ТекстЗапроса);
"
19.05.2005
19:23
#7
"Сделай так:
Если ГруппироватьПоКонтрагентам = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Контрагент Упорядочить по Контрагент.Наименование Без Групп;";
КонецЕсли;
"
Если ГруппироватьПоКонтрагентам = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Контрагент Упорядочить по Контрагент.Наименование Без Групп;";
КонецЕсли;
"
20.05.2005
06:46
#8
Хитрый запрос. Выбирай только то что нужно, а многое
можно и из самого документа получать когда надо.
Есть метод "выгрузить()". Выгружаешь в таблицу значений, а
в ней и сортируешь как хочешь, а от туда потом и в таблицу легче выводить.
можно и из самого документа получать когда надо.
Есть метод "выгрузить()". Выгружаешь в таблицу значений, а
в ней и сортируешь как хочешь, а от туда потом и в таблицу легче выводить.
Читают тему
(гостей: 1)