|
Сортировка результатов отчета | ☑ | ||
---|---|---|---|---|
0
pro3ri
11.08.15
✎
07:10
|
Добрый день!
Подскажите как можно сортировать результаты отчета по введенным значениям из списка https://s.mail.ru/7mgBrtptn36R/img-2015-08-11-09-12-58.png Т.е. ввел я номеклатура2, номеклатура1, номеклатура3 и в отчете должно также отображаться номеклатура2, номеклатура1, номеклатура3 а выходит не так. Это ут 10.2. Как победить? |
|||
1
sFAQer
11.08.15
✎
07:15
|
Писать свой отчёт который будет выводить их в таком порядке
|
|||
2
pro3ri
11.08.15
✎
07:19
|
(0) думал сначала попробовать скорректировать штатный механизм
|
|||
3
sFAQer
11.08.15
✎
07:19
|
(2) Штатный механизм отбора?
|
|||
4
pro3ri
11.08.15
✎
07:28
|
(3) Отбором так по-моему не сделать...
|
|||
5
sFAQer
11.08.15
✎
07:34
|
(4) Тогда зачем ты требуешь от поля отбора ещё и сортировку?
|
|||
6
pro3ri
11.08.15
✎
07:43
|
(5) нужно пользователю. Чисто Гипотетически это должно просто делаться.
|
|||
7
sFAQer
11.08.15
✎
07:48
|
(6) Но не делается.
|
|||
8
pro3ri
11.08.15
✎
08:00
|
Есть одна идейка, https://s.mail.ru/4JADb6RWRrpf/img-2015-08-11-10-05-34.png
присваивать позицию для списка значений, но как ее воплотить? |
|||
9
sFAQer
11.08.15
✎
08:06
|
(8) эм, это список значений, у позиций есть индексы.
|
|||
10
pro3ri
11.08.15
✎
08:24
|
(9) как бы их вытащить в отбор...
|
|||
11
pro3ri
11.08.15
✎
08:25
|
(10) + Т.е. в сортировку
|
|||
12
sFAQer
11.08.15
✎
08:50
|
(11) Заджойнить в запрос который тебе выбирает данные с упорядочиванием по индексу
|
|||
13
pro3ri
11.08.15
✎
09:02
|
вот эта процедура модуля отчета формирует запрос:
Процедура ЗаполнитьНачальныеНастройки() Экспорт СтруктураПредставлениеПолей = Новый Структура; МассивОтбора = Новый Массив; ПостроительОтчета = ОбщийОтчет.ПостроительОтчета; Текст = " |ВЫБРАТЬ //РАЗЛИЧНЫЕ | СУММА(КоличествоОстаток) КАК Количество, | СУММА(КоличествоМестОстаток) КАК КоличествоМест, | СУММА(КоличествоОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕд, | СУММА(КоличествоОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент/Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоЕдиницОтчетов, | 0 КАК ЦенаВРознице, | Склад КАК Склад, | Склад.Представление КАК СкладПредставление, | Номенклатура КАК Номенклатура, | Номенклатура.Представление КАК НоменклатураПредставление, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков КАК НоменклатураЕдиницаХраненияОстатков, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК НоменклатураЕдиницаХраненияОстатковПредставление | //СВОЙСТВА |{ВЫБРАТЬ | Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков КАК НоменклатураЕдиницаХраненияОстатков, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры, | Качество.* КАК Качество | //СВОЙСТВА |} |ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, | {Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры, | Качество.* КАК Качество}) КАК ТаблицаРегистра |//СОЕДИНЕНИЯ |СГРУППИРОВАТЬ ПО | Номенклатура, | Склад |//СГРУППИРОВАТЬПО |{ГДЕ | ЛОЖЬ КАК НеавтоматизированнаяТорговаяТочка |//СВОЙСТВА |//КАТЕГОРИИ |} |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ //РАЗЛИЧНЫЕ | СУММА(КоличествоОстаток) КАК Количество, | СУММА(0) КАК КоличествоМест, | СУММА(КоличествоОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕд, | СУММА(КоличествоОстаток*Номенклатура.ЕдиницаХраненияОстатков.Коэффициент/Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоЕдиницОтчетов, | ЦенаВРознице КАК ЦенаВРознице, | Склад КАК Склад, | Склад.Представление КАК СкладПредставление, | Номенклатура КАК Номенклатура, | Номенклатура.Представление КАК НоменклатураПредставление, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков КАК НоменклатураЕдиницаХраненияОстатков, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК НоменклатураЕдиницаХраненияОстатковПредставление | //СВОЙСТВА |{ВЫБРАТЬ | Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков КАК НоменклатураЕдиницаХраненияОстатков, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры, | ЦенаВРознице КАК ЦенаВРознице, | NULL КАК Качество | //СВОЙСТВА |} |ИЗ РегистрНакопления.ТоварыВНеавтоматизированныхТорговыхТочках.Остатки(&ДатаКон, | {Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры | }) КАК ТаблицаРегистра |//СОЕДИНЕНИЯ |СГРУППИРОВАТЬ ПО | Номенклатура, | ЦенаВРознице, | Склад |//СГРУППИРОВАТЬПО |{ГДЕ | ИСТИНА КАК НеавтоматизированнаяТорговаяТочка |//СВОЙСТВА |//КАТЕГОРИИ |} |{УПОРЯДОЧИТЬ ПО | Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | ТаблицаРегистра.Номенклатура.БазоваяЕдиницаИзмерения.* КАК НоменклатураБазоваяЕдиницаИзмерения, | ТаблицаРегистра.Номенклатура.ЕдиницаХраненияОстатков.* КАК НоменклатураЕдиницаХраненияОстатков, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры, | Качество.* КАК Качество, | Количество, | КоличествоМест, | ЦенаВРознице КАК ЦенаВРознице, | КоличествоБазовыхЕд |//ОБЩИЕ_СВОЙСТВА |} |{ИТОГИ ПО | Склад.* КАК Склад, | Номенклатура.* КАК Номенклатура, | Номенклатура.БазоваяЕдиницаИзмерения.* КАК НоменклатураБазоваяЕдиницаИзмерения, | Номенклатура.ЕдиницаХраненияОстатков.* КАК НоменклатураЕдиницаХраненияОстатков, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | СерияНоменклатуры.* КАК СерияНоменклатуры, | Качество.* КАК Качество, | ЦенаВРознице КАК ЦенаВРознице |//ОБЩИЕ_СВОЙСТВА |} |ИТОГИ | СУММА(Количество), | СУММА(КоличествоМест), | СУММА(КоличествоБазовыхЕд), | СУММА(КоличествоЕдиницОтчетов) |ПО ОБЩИЕ , | Номенклатура ИЕРАРХИЯ КАК Номенклатура, Склад КАК Склад"; СтруктураПредставлениеПолей = Новый Структура( "Склад, |Номенклатура, |ХарактеристикаНоменклатуры, |СерияНоменклатуры, |Качество, |ЦенаВРознице, |НоменклатураБазоваяЕдиницаИзмерения, |НоменклатураЕдиницаХраненияОстатков, |НеавтоматизированнаяТорговаяТочка", "Склад", "Номенклатура", "Характеристика номенклатуры", "Серия номенклатуры", "Качество", "Цена в рознице ("+ СокрЛП(Константы.ВалютаРегламентированногоУчета.Получить()) + " )", "Базовая единица измерения", "Единица хранения остатков", "Остатки по неавтоматизированным торговым точкам"); Если ОбщийОтчет.ИспользоватьСвойстваИКатегории Тогда ТекстПоляСвойств= ""; ТекстПоляКатегорий = ""; ТаблицаПолей = Новый ТаблицаЗначений; ТаблицаПолей.Колонки.Добавить("ПутьКДанным"); // описание поля запроса поля, для которого добавляются свойства и категории. Используется в условии соединения с регистром сведений, хранящим значения свойств или категорий ТаблицаПолей.Колонки.Добавить("Представление");// представление поля, для которого добавляются свойства и категории. ТаблицаПолей.Колонки.Добавить("Назначение"); // назначение свойств/категорий объектов для данного поля ТаблицаПолей.Колонки.Добавить("ТипЗначения"); // тип значения поля, для которого добавляются свойства и категории. Используется, если не установлено назначение ТаблицаПолей.Колонки.Добавить("НетКатегорий"); // признак НЕиспользования категорий для объекта СтрокаТаблицы = ТаблицаПолей.Добавить(); СтрокаТаблицы.ПутьКДанным = "Номенклатура"; СтрокаТаблицы.Представление = "Номенклатура"; СтрокаТаблицы.Назначение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура; СтрокаТаблицы = ТаблицаПолей.Добавить(); СтрокаТаблицы.ПутьКДанным = "Склад"; СтрокаТаблицы.Представление = "Склад"; СтрокаТаблицы.Назначение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Склады; СтрокаТаблицы = ТаблицаПолей.Добавить(); СтрокаТаблицы.ПутьКДанным = "ХарактеристикаНоменклатуры"; СтрокаТаблицы.Представление = "Характеристика номенклатуры"; СтрокаТаблицы.Назначение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры; ДобавитьВТекстСвойстваИКатегории(ТаблицаПолей, Текст, СтруктураПредставлениеПолей, ОбщийОтчет.мСоответствиеНазначений, ПостроительОтчета.Параметры ,, ТекстПоляКатегорий, ТекстПоляСвойств,,,,,,ОбщийОтчет.мСтруктураДляОтбораПоКатегориям); ДобавитьВТекстСвойстваОбщие(Текст, ТекстПоляСвойств, "//ОБЩИЕ_СВОЙСТВА"); КонецЕсли; ПостроительОтчета.Текст = Текст; Если ОбщийОтчет.ИспользоватьСвойстваИКатегории = Истина Тогда УстановитьТипыЗначенийСвойствИКатегорийДляОтбора(ПостроительОтчета, ТекстПоляКатегорий, ТекстПоляСвойств, ОбщийОтчет.мСоответствиеНазначений, СтруктураПредставлениеПолей); КонецЕсли; Если ОбщийОтчет.Показатели.Найти("Количество", "Имя") = Неопределено Тогда ОбщийОтчет.ЗаполнитьПоказатели("Количество", "Количество в единицах хранения остатков", Истина, "ЧЦ=15; ЧДЦ=5"); КонецЕсли; Если ОбщийОтчет.Показатели.Найти("КоличествоБазовыхЕд", "Имя") = Неопределено Тогда ОбщийОтчет.ЗаполнитьПоказатели("КоличествоБазовыхЕд", "Количество в базовых единицах измерения", Ложь, "ЧЦ=15; ЧДЦ=5"); КонецЕсли; Если ОбщийОтчет.Показатели.Найти("КоличествоЕдиницОтчетов", "Имя") = Неопределено Тогда ОбщийОтчет.ЗаполнитьПоказатели("КоличествоЕдиницОтчетов", "Количество в ед. отчетов", Ложь, "ЧЦ=15; ЧДЦ=5"); КонецЕсли; Если ОбщийОтчет.Показатели.Найти("КоличествоМест", "Имя") = Неопределено Тогда ОбщийОтчет.ЗаполнитьПоказатели("КоличествоМест", "Количество мест", Ложь, "ЧЦ=15; ЧДЦ=5"); КонецЕсли; МассивОтбора.Добавить("Номенклатура"); МассивОтбора.Добавить("Склад"); ЗаполнитьПредставленияПолей(СтруктураПредставлениеПолей, ПостроительОтчета); ОчиститьДополнительныеПоляПостроителя(ПостроительОтчета); ЗаполнитьОтбор(МассивОтбора, ПостроительОтчета); ПостроительОтчета.ИзмеренияСтроки.Удалить(ПостроительОтчета.ИзмеренияСтроки.Найти("Склад")); ПостроительОтчета.ИзмеренияКолонки.Добавить("Склад", "Склад", ТипИзмеренияПостроителяОтчета.Элементы); ОбщийОтчет.мСтруктураСвязиПоказателейИИзмерений = Новый Структура("Количество, КоличествоБазовыхЕд", Новый Структура("НоменклатураЕдиницаХраненияОстатков, Номенклатура"), Новый Структура("НоменклатураБазоваяЕдиницаИзмерения, Номенклатура"), Новый Структура); КонецПроцедуры |
|||
14
D_E_S_131
11.08.15
✎
10:40
|
(13) А как будешь сортировать если отбор в отчете будет не задан или там будут выбраны группы номенклатуры?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |