Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 18:07

Сортировка в торг 12

Автор tank436, 13 фев 2013, 16:37

0 Пользователей и 1 гость просматривают эту тему.

tank436

Как сделать сортировку товара не по алфавиту а по группам в торг12 в печатной форме в запросе?
чтоб выводил в табличной части товар не по алфавиту  а по группам

MuI_I_Ika

По имен групп наверное.

Нужно в запросе написать УПОРЯДОЧИТЬ ПО Номенклатура.Родитель.Наименование

Alximikkk

Как я понял у вас есть иерархический справочник номенклатуры, и вы хотите отсортировать запрос но наименованию групп. Если так, то попробуйте поставить сортировку не по наименованию, а по родителю товара. Тогда отсортируется по названию родительской группы, а потом уже сортируйте по названию. Тогда вначале будут все товары по алфавиту из группы А, потом товары из группы Б. 

tank436

Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура                                  КАК Номенклатура,
| ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование,
| ВложенныйЗапрос.Номенклатура." + ТоварКод + "                 КАК ТоварКод,
|   ВложенныйЗапрос.Номенклатура.Родитель.Наименование             Родитель,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление                КАК БазоваяЕдиницаНаименование,
| ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код  КАК БазоваяЕдиницаКодПоОКЕИ,
| ВложенныйЗапрос.ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление            КАК ВидУпаковки,
| ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоМест > 0 ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
| ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
| КОНЕЦ КАК МассаБрутто,
| ВложенныйЗапрос.Характеристика       КАК Характеристика,
| ВложенныйЗапрос.Серия                КАК Серия,
| ВложенныйЗапрос.СтавкаНДС            КАК СтавкаНДС,
| ВложенныйЗапрос.Цена                 КАК Цена,
| ВЫБОР
| КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И
|       (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0))
| ТОГДА ЛОЖЬ
| ИНАЧЕ Истина
| КОНЕЦ                                КАК ЕстьСкидкиПоСтроке,
| ВложенныйЗапрос.Количество           КАК Количество,
| ВложенныйЗапрос.КоличествоМест       КАК КоличествоМест,
| ВложенныйЗапрос.Сумма                КАК Сумма,
| ВложенныйЗапрос.СуммаНДС             КАК СуммаНДС,
| ВложенныйЗапрос.НомерСтроки          КАК НомерСтроки,
| ВложенныйЗапрос.Метка                КАК Метка
|ИЗ
|
| (
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура,
|       РеализацияТоваровУслуг.Номенклатура.Родитель.Наименование КАК Родитель,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент     КАК КоэффициентМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры           КАК Характеристика,
| РеализацияТоваровУслуг.СерияНоменклатуры                    КАК Серия,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность            КАК Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
| СУММА(РеализацияТоваровУслуг.Количество)                    КАК Количество,
| СУММА(РеализацияТоваровУслуг.КоличествоМест)                КАК КоличествоМест,
| СУММА(РеализацияТоваровУслуг.Сумма    * &Курс / &Кратность) КАК Сумма,
| СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки)                 КАК НомерСтроки,
| 0                                                           КАК Метка
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
| РеализацияТоваровУслуг.СерияНоменклатуры,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок
| ) КАК ВложенныйЗапрос
|";

Если НЕ БезУслуг Тогда

СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");

Запрос.Текст = Запрос.Текст + "
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                  КАК Номенклатура,
| " + СтрокаВыборкиПоляСодержания + "                  КАК ТоварНаименование,
| РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод,
|   РеализацияТоваровУслуг.Номенклатура.Родитель.Наименование КАК Родитель,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| NULL                                                 КАК ВидУпаковки,
| NULL                                                 КАК КоличествоВОдномМесте,
| 0                                                    КАК МассаБрутто,
| NULL                                                 КАК Характеристика,
| NULL                                                 КАК Серия,
| РеализацияТоваровУслуг.СтавкаНДС                     КАК СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность     КАК Цена,
| ВЫБОР
| КОГДА(РеализацияТоваровУслуг.ПроцентСкидкиНаценки = 0)
| ТОГДА ЛОЖЬ
| ИНАЧЕ Истина
| КОНЕЦ                                                КАК ЕстьСкидкиПоСтроке,
| РеализацияТоваровУслуг.Количество                    КАК Количество,
| NULL                                                 КАК КоличествоМест,
| РеализацияТоваровУслуг.Сумма    * &Курс / &Кратность КАК Сумма,
| РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность КАК СуммаНДС,
| РеализацияТоваровУслуг.НомерСтроки                   КАК НомерСтроки,
| 1                                                    КАК Метка
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|";
КонецЕсли;

Запрос.Текст = Запрос.Текст + "
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                    КАК Номенклатура,
| ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование,
| РеализацияТоваровУслуг.Номенклатура." + ТоварКод + "   КАК ТоварКод,
| РеализацияТоваровУслуг.Номенклатура.Родитель.Наименование КАК Родитель,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление               КАК БазоваяЕдиницаНаименование,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков                             КАК ЕдиницаИзмерения,
| NULL                                                  КАК ВидУпаковки,
| NULL                                                  КАК КоличествоВОдномМесте,
| РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК МассаБрутто,
| NULL                                                  КАК Характеристика,
| NULL                                                  КАК Серия,
| ""Без НДС""                                           КАК СтавкаНДС,
| РеализацияТоваровУслуг.Цена                           КАК Цена,
| Ложь                                                  КАК ЕстьСкидкиПоСтроке,
| РеализацияТоваровУслуг.Количество                     КАК Количество,
| NULL                                                  КАК КоличествоМест,
| РеализацияТоваровУслуг.Сумма                          КАК Сумма,
| 0                                                     КАК СуммаНДС,
| РеализацияТоваровУслуг.НомерСтроки                    КАК НомерСтроки,
| 2                                                     КАК Метка
|ИЗ
|(
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                      КАК Номенклатура,
|       РеализацияТоваровУслуг.Номенклатура.Родитель.Наименование КАК Родитель,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность         КАК Цена,
| СУММА(РеализацияТоваровУслуг.Количество)                 КАК Количество,
| СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки)              КАК НомерСтроки
| ИЗ
| Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
|
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Цена
|) КАК РеализацияТоваровУслуг
|УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР ,Родитель
|
|";

Alximikkk

попробуйте упорядочить по родителю не в последнем запросе, а в третьем снизу. Там где группировка идет большая, вот после неё.

tank436

Все также (( не упорядочивает
Добавлено: 14 фев 2013, 09:14


когда делаю выбрать первые 3 например он выводит их в группировки по родителю , но если делаю выбрать первые например 1000 группировка проподает , не пойму в чем дело
Добавлено: 14 фев 2013, 09:17


Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура                                  КАК Номенклатура,
| ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование,
| ВложенныйЗапрос.Номенклатура.Родитель.Наименование КАК Родитель,
| ВложенныйЗапрос.Номенклатура." + ТоварКод + "                 КАК ТоварКод,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление                КАК БазоваяЕдиницаНаименование,
| ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код  КАК БазоваяЕдиницаКодПоОКЕИ,
| ВложенныйЗапрос.ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление            КАК ВидУпаковки,
| ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоМест > 0 ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес
| ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес
| КОНЕЦ КАК МассаБрутто,
| ВложенныйЗапрос.Характеристика       КАК Характеристика,
| ВложенныйЗапрос.Серия                КАК Серия,
| ВложенныйЗапрос.СтавкаНДС            КАК СтавкаНДС,
| ВложенныйЗапрос.Цена                 КАК Цена,
| ВЫБОР
| КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И
|       (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0))
| ТОГДА ЛОЖЬ
| ИНАЧЕ Истина
| КОНЕЦ                                КАК ЕстьСкидкиПоСтроке,
| ВложенныйЗапрос.Количество           КАК Количество,
| ВложенныйЗапрос.КоличествоМест       КАК КоличествоМест,
| ВложенныйЗапрос.Сумма                КАК Сумма,
| ВложенныйЗапрос.СуммаНДС             КАК СуммаНДС,
| ВложенныйЗапрос.НомерСтроки          КАК НомерСтроки,
| ВложенныйЗапрос.Метка                КАК Метка
|ИЗ
|
| (
| ВЫБРАТЬ ПЕРВЫЕ 1000
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Номенклатура.Родитель.Наименование КАК Родитель,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент     КАК КоэффициентМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры           КАК Характеристика,
| РеализацияТоваровУслуг.СерияНоменклатуры                    КАК Серия,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность            КАК Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
| СУММА(РеализацияТоваровУслуг.Количество)                    КАК Количество,
| СУММА(РеализацияТоваровУслуг.КоличествоМест)                КАК КоличествоМест,
| СУММА(РеализацияТоваровУслуг.Сумма    * &Курс / &Кратность) КАК Сумма,
| СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки)                 КАК НомерСтроки,
| 0                                                           КАК Метка
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
| РеализацияТоваровУслуг.СерияНоменклатуры,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок
|УПОРЯДОЧИТЬ ПО Родитель
|
    | ) КАК ВложенныйЗапрос
|";

Если НЕ БезУслуг Тогда

СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");

Запрос.Текст = Запрос.Текст + "
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                  КАК Номенклатура,
| " + СтрокаВыборкиПоляСодержания + "                  КАК ТоварНаименование,
|   РеализацияТоваровУслуг.Номенклатура.Родитель КАК Родитель,
| РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| NULL                                                 КАК ВидУпаковки,
| NULL                                                 КАК КоличествоВОдномМесте,
| 0                                                    КАК МассаБрутто,
| NULL                                                 КАК Характеристика,
| NULL                                                 КАК Серия,
| РеализацияТоваровУслуг.СтавкаНДС                     КАК СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность     КАК Цена,
| ВЫБОР
| КОГДА(РеализацияТоваровУслуг.ПроцентСкидкиНаценки = 0)
| ТОГДА ЛОЖЬ
| ИНАЧЕ Истина
| КОНЕЦ                                                КАК ЕстьСкидкиПоСтроке,
| РеализацияТоваровУслуг.Количество                    КАК Количество,
| NULL                                                 КАК КоличествоМест,
| РеализацияТоваровУслуг.Сумма    * &Курс / &Кратность КАК Сумма,
| РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность КАК СуммаНДС,
| РеализацияТоваровУслуг.НомерСтроки                   КАК НомерСтроки,
| 1                                                    КАК Метка
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|";
КонецЕсли;

Запрос.Текст = Запрос.Текст + "
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                    КАК Номенклатура,
| ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование,
|   РеализацияТоваровУслуг.Номенклатура.Родитель КАК Родитель,
| РеализацияТоваровУслуг.Номенклатура." + ТоварКод + "   КАК ТоварКод,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление               КАК БазоваяЕдиницаНаименование,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков                             КАК ЕдиницаИзмерения,
| NULL                                                  КАК ВидУпаковки,
| NULL                                                  КАК КоличествоВОдномМесте,
| РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК МассаБрутто,
| NULL                                                  КАК Характеристика,
| NULL                                                  КАК Серия,
| ""Без НДС""                                           КАК СтавкаНДС,
| РеализацияТоваровУслуг.Цена                           КАК Цена,
| Ложь                                                  КАК ЕстьСкидкиПоСтроке,
| РеализацияТоваровУслуг.Количество                     КАК Количество,
| NULL                                                  КАК КоличествоМест,
| РеализацияТоваровУслуг.Сумма                          КАК Сумма,
| 0                                                     КАК СуммаНДС,
| РеализацияТоваровУслуг.НомерСтроки                    КАК НомерСтроки,
| 2                                                     КАК Метка
|ИЗ
|(
| ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура                      КАК Номенклатура,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность         КАК Цена,
| СУММА(РеализацияТоваровУслуг.Количество)                 КАК Количество,
| СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки)              КАК НомерСтроки
| ИЗ
| Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
|
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Цена
|) КАК РеализацияТоваровУслуг
|УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР  , Родитель

Alximikkk

Упорядочить по родителю надо ставить не во вложенном запросе, а после строчки ") КАК ВложенныйЗапрос".
Нам ведь нужно отсортировать основную таблицу, а не вложенный запрос. Попробуйте, если не получится будем думать дальше=)

tank436

я так пробывал пишет  Синтаксическая ошибка "ОБЪЕДИНИТЬ"
<<?>>ОБЪЕДИНИТЬ ВСЕ

Alximikkk

а если попробовать в последнем запросе упорядочивание по родителю поставить не после меток, а перед ними? т.е.сейчас |УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР  , Родитель
а сделать |УПОРЯДОЧИТЬ ПО  Родитель ,Метка ВОЗР, НомерСтроки ВОЗР

tank436

Спасибо вам Огромное )так работает)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск