Сортировка массива и вывод на отчет

1. user1008893 14.07.20 11:41 Сейчас в теме
у меня есть запрос , а затем я его записываю в массив и с помощью Найти строки нахожу нужное значение и вывожу.
Вот нужно отсортировать так,чтобы первым значением был основной поставщик. Т.е. Массив.Поставщик=Массив.Номенклатура.ОсновнойПоставщик,то выводим первым. Не могу сообразить,как сделать,подскажите пожалуйста..
|ВЫБРАТЬ
	|	НоменклатураПоставщиков.Номенклатура КАК Номенклатура,
	|	НоменклатураПоставщиков.ВариантИсполнения КАК ВариантИсполнения,
	|	НоменклатураПоставщиков.Поставщик КАК Поставщик,
	|	НоменклатураПоставщиков.НоменклатураПоставщика КАК НоменклатураПоставщика,
	|	НоменклатураПоставщиков.ВариантИсполненияПоставщика КАК ВариантИсполненияПоставщика,
	|	НоменклатураПоставщиков.Выводить КАК Выводить
	|ИЗ
	|	РегистрСведений.НоменклатураПоставщиков КАК НоменклатураПоставщиков
	|ГДЕ
	|	НоменклатураПоставщиков.Выводить
	|ИТОГИ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Поставщик)
	|ПО
	|	ОБЩИЕ,
	|	Номенклатура ИЕРАРХИЯ,
	|	ВариантИсполнения,
	|	НоменклатураПоставщика,
	|	ВариантИсполненияПоставщика
	|;
Показать


Если _ИмяГр = "Номенклатура" тогда
			Отбор=Новый Структура("Номенклатура",ВхЗапрВыб.Номенклатура);
			МассивПост=ТаблНомПост.НайтиСтроки(Отбор);
			
			Если МассивПост.Количество() = 0 Тогда
             Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				ВхТаблДок.Присоединить(Область);
			КонецЕсли;

			Сч1=0;
			Для Каждого стр из МассивПост цикл
				
				Область = ВхМакет.ПолучитьОбласть(_ИмяСекции + "|Поставщик");
				
				Если _ИмяГр = "Номенклатура" // И  ВхЗапрВыб.РазрешитьНесколькоВариантовИсполнения 
					и 
					ТипЗнч(стр.Поставщик) = Тип("СправочникСсылка.Контрагенты")
					Тогда
					Область.Параметры.ЗначениеГрСтрПостав 	=""""+Строка(стр.Поставщик)+""""+ " " + Строка(стр.НоменклатураПоставщика); 
				      ВхТаблДок.Присоединить(Область); 
					 Сч1=Сч1+1;
					 
					 
				 КонецЕсли;
				
				 Если Сч1 = 3  Тогда
					Прервать;
				КонецЕсли;

			КонецЦикла;
			   // ВхТаблДок.Присоединить(Область);
		КонецЕсли;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1357043 14.07.20 11:53 Сейчас в теме
Делать сортировку в запросе до выгрузки в массив.
Вообще не понятно, зачем делать поиск в массиве, если отбор можно сделать сразу в запросе.
user1008893; +1 Ответить
3. Lenten 25 14.07.20 11:59 Сейчас в теме
можно в запросе добавить колонку. ее заполнять когда НоменклатураПоставщиков.Поставщик = НоменклатураПоставщиков.Номенклатура.ОсновнойПоставщик например 1, иначе 2. и по ней сортироваться
alex-l19041; user1008893; +2 Ответить
4. user1008893 14.07.20 12:23 Сейчас в теме
(3)Спасибо,сделали вот так
ВЫБОР
		КОГДА НоменклатураПоставщиков.Номенклатура.РазрешитьНесколькоВариантовИсполнения
					И НоменклатураПоставщиков.Поставщик = НоменклатураПоставщиков.ВариантИсполнения.ОснПоставщик
				ИЛИ НЕ НоменклатураПоставщиков.Номенклатура.РазрешитьНесколькоВариантовИсполнения
					И НоменклатураПоставщиков.Поставщик = НоменклатураПоставщиков.Номенклатура.ОснПоставщик
			ТОГДА 1
		ИНАЧЕ 2
	КОНЕЦ КАК Сортировка
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот