|
Сортировка по полю наименование | ☑ | ||
---|---|---|---|---|
0
lezhek
02.10.14
✎
10:50
|
Подскажите пожалуйста где надо дописать сортировку по полю наименование
Функция ПечатьИНВ3(БезФактическихДанных = Ложь) ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; Если СсылкаНаОбъект.Склад.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда ВалютаПересчета = мВалютаРегламентированногоУчета; Иначе ВалютаПересчета = Константы.ВалютаУправленческогоУчета.Получить(); КонецЕсли; ВалютаПечати = мВалютаРегламентированногоУчета; Параметры = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаПересчета, СсылкаНаОбъект.Дата); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.УстановитьПараметр("Курс", 1); Запрос.УстановитьПараметр("Кратность", 1); Запрос.УстановитьПараметр("ВидСкладаНТТ", Перечисления.ВидыСкладов.НТТ); Запрос.УстановитьПараметр("БезФактическихДанных", БезФактическихДанных); Запрос.Текст = "ВЫБРАТЬ | Номер КАК НомерДокумента, | Дата КАК ДатаДокумента, | Дата КАК ДатаСнятияОстатков, | Организация, | Склад.Представление КАК ПредставлениеСклада, | Товары.( | НомерСтроки КАК Номер, | Номенклатура, | Номенклатура.НаименованиеПолное КАК ТоварНаименование, | Номенклатура." + ТоварКод + " КАК ТоварКод, | ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияНаименование, | ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК ЕдиницаИзмеренияКодПоОКЕИ, | ВЫБОР | КОГДА &БезФактическихДанных ТОГДА 0 | ИНАЧЕ Количество | КОНЕЦ КАК ФактКоличество, | КоличествоУчет КАК БухКоличество, | ВЫБОР | КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА ЦенаВРознице | ИНАЧЕ Цена * &Курс / &Кратность | КОНЕЦ КАК Цена, | ВЫБОР | КОГДА &БезФактическихДанных ТОГДА 0 | ИНАЧЕ ВЫБОР КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА Количество * ЦенаВРознице ИНАЧЕ Сумма * &Курс / &Кратность КОНЕЦ | КОНЕЦ КАК ФактСумма, | ВЫБОР | КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА КоличествоУчет *ЦенаВРознице | ИНАЧЕ СуммаУчет * &Курс / &Кратность | КОНЕЦ КАК БухСумма, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия | ) |ИЗ | Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе | |ГДЕ | ИнвентаризацияТоваровНаСкладе.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияТоваровНаСкладе_ИНВ3"; Макет = ПолучитьМакет("ИНВ3"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО; ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.ДатаСнятияОстатков = Шапка.ДатаСнятияОстатков; ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СтрокНаСтранице = 19; СтрокШапки = 5; СтрокПодвала = 5; НомерСтраницы = 2; Ном = 0; ИтогФактКоличество = 0; ИтогФактСумма = 0; ИтогБухКоличество = 0; ИтогБухСумма = 0; КолвоСтрокПоСтранице = 0; КолвоПостранице = 0; СуммаЛиста = 0; ИтогоКолво = 0; ИтогоСумма = 0; // Выводим заголовок таблицы ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КоличествоСтрок = ВыборкаСтрокТовары.Количество(); Если КоличествоСтрок = 1 Тогда ПереноситьПоследнююСтроку = 0; Иначе ЦелыхСтраницСПодвалом = Цел((СтрокШапки + КоличествоСтрок + СтрокПодвала) / СтрокНаСтранице); ЦелыхСтраницБезПодвала = Цел((СтрокШапки + КоличествоСтрок - 1) / СтрокНаСтранице); ПереноситьПоследнююСтроку = ЦелыхСтраницСПодвалом - ЦелыхСтраницБезПодвала; КонецЕсли; // Выводим многострочную часть докмента ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Пока ВыборкаСтрокТовары.Следующий() Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; Ном = Ном + 1; //Начинаем новую страницу, если предыдущая строка была последней на странице //или пора переносить последнюю строку на последнюю страницу с подвалом. ЦелаяСтраница = (СтрокШапки + Ном - 1) / СтрокНаСтранице; Если (ЦелаяСтраница = Цел(ЦелаяСтраница)) или ((ПереноситьПоследнююСтроку = 1) и (Ном = КоличествоСтрок)) Тогда ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ПодвалСтраницы"); ОбластьИтоговПоСтранице.Параметры.ИтогоФактКоличество = ИтогФактКоличество; ОбластьИтоговПоСтранице.Параметры.ИтогоФактСумма = ИтогФактСумма; ОбластьИтоговПоСтранице.Параметры.ИтогоБухКоличество = ИтогБухКоличество; ОбластьИтоговПоСтранице.Параметры.ИтогоБухСумма = ИтогБухСумма; ОбластьИтоговПоСтранице.Параметры.КоличествоПорядковыхНомеровНаСтраницеПрописью = ЧислоПрописью(КолвоСтрокПоСтранице, ,",,,,,,,,0"); Если НЕ БезФактическихДанных Тогда ОбластьИтоговПоСтранице.Параметры.ОбщееКоличествоЕдиницФактическиНаСтраницеПрописью = ФормированиеПечатныхФорм.КоличествоПрописью(КолвоПостранице); ОбластьИтоговПоСтранице.Параметры.СуммаФактическиНаСтраницеПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаЛиста, ВалютаПечати); КонецЕсли; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); НомерСтраницы = НомерСтраницы + 1; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); ИтогФактКоличество = 0; ИтогФактСумма = 0; ИтогБухКоличество = 0; ИтогБухСумма = 0; КолвоСтрокПоСтранице = 0; КолвоПостранице = 0; СуммаЛиста = 0; КонецЕсли; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакета.Параметры.цена = УправлениеРозничнойТорговлей.ПолучитьПродажнуюЦену(СсылкаНаОбъект.Дата,ВыборкаСтрокТовары.Номенклатура,ВыборкаСтрокТовары.Характеристика,СсылкаНаОбъект.Склад,Неопределено); ФактСумма= ОбластьМакета.Параметры.цена * ВыборкаСтрокТовары.ФактКоличество; //Функция ПолучитьПродажнуюЦену(ДатаЦен, Номенклатура, ХарактеристикаНоменклатуры, Склад, // УсловиеПродаж = Неопределено) Экспорт ОбластьМакета.Параметры.ТоварНаименование = ВыборкаСтрокТовары.ТоварНаименование + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары); ОбластьМакета.Параметры.Номер = Ном; ИтогФактКоличество = ИтогФактКоличество + ВыборкаСтрокТовары.ФактКоличество; // ИтогФактСумма = ИтогФактСумма + ВыборкаСтрокТовары.ФактСумма; ИтогФактСумма = ИтогФактСумма + ФактСумма; ОбластьМакета.Параметры.ФактСумма = ФактСумма; ИтогБухКоличество = ИтогБухКоличество + ВыборкаСтрокТовары.БухКоличество; // ИтогБухСумма = ИтогБухСумма + ВыборкаСтрокТовары.БухСумма; БухСумма = ОбластьМакета.Параметры.цена * ВыборкаСтрокТовары.БухКоличество; ОбластьМакета.Параметры.БухСумма = БухСумма; ИтогБухСумма = ИтогБухСумма + БухСумма; ИтогоКолво = ИтогоКолво + ВыборкаСтрокТовары.ФактКоличество; //огоСумма = ИтогоСумма + ВыборкаСтрокТовары.ФактСумма; ИтогоСумма = ИтогоСумма + ФактСумма; КолвоСтрокПоСтранице = КолвоСтрокПоСтранице + 1; КолвоПостранице = КолвоПостранице + ВыборкаСтрокТовары.ФактКоличество; СуммаЛиста = СуммаЛиста + ФактСумма; ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; // Выводим итоги по последней странице ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ПодвалСтраницы"); ОбластьИтоговПоСтранице.Параметры.ИтогоФактКоличество = ИтогФактКоличество; ОбластьИтоговПоСтранице.Параметры.ИтогоФактСумма = ИтогФактСумма; ОбластьИтоговПоСтранице.Параметры.ИтогоБухКоличество = ИтогБухКоличество; ОбластьИтоговПоСтранице.Параметры.ИтогоБухСумма = ИтогБухСумма; ОбластьИтоговПоСтранице.Параметры.КоличествоПорядковыхНомеровНаСтраницеПрописью = ЧислоПрописью(КолвоСтрокПоСтранице, ,",,,,,,,,0"); Если НЕ БезФактическихДанных Тогда ОбластьИтоговПоСтранице.Параметры.ОбщееКоличествоЕдиницФактическиНаСтраницеПрописью = ФормированиеПечатныхФорм.КоличествоПрописью(КолвоПостранице); ОбластьИтоговПоСтранице.Параметры.СуммаФактическиНаСтраницеПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаЛиста, ВалютаПечати); КонецЕсли; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); // Выводим подвал документа ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ОбластьМакета = Макет.ПолучитьОбласть("ПодвалОписи"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НачальныйНомерПоПорядку = 1; ОбластьМакета.Параметры.НомерКонца = ВыборкаСтрокТовары.Количество(); ОбластьМакета.Параметры.КоличествоПорядковыхНомеровНаСтраницеПрописью = ЧислоПрописью(ВыборкаСтрокТовары.Количество(), ,",,,,,,,,0"); Если НЕ БезФактическихДанных Тогда ОбластьМакета.Параметры.ОбщееКоличествоЕдиницФактическиНаСтраницеПрописью = ФормированиеПечатныхФорм.КоличествоПрописью(ИтогоКолво); ОбластьМакета.Параметры.СуммаФактическиНаСтраницеПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(ИтогоСумма, ВалютаПечати); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); // Зададим параметры макета ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 0; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Возврат ТабДокумент; КонецФункции |
|||
1
Wobland
02.10.14
✎
10:52
|
чего это сразу надо?
|
|||
2
Escander
02.10.14
✎
10:56
|
в запросе не пробовали?
|
|||
3
salvator
02.10.14
✎
10:57
|
Запрос перепиши. Выбирай данные из табличной части. Там же и сортировку свою сделаешь заодно.
|
|||
4
lezhek
02.10.14
✎
11:41
|
Я бы с радостью дописал, но я не умею. вот и обратился к вам.
|
|||
5
salvator
02.10.14
✎
11:46
|
(4)
Замени свой запрос на такой (остальные поля по аналогии выбирай) ВЫБРАТЬ ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Номер КАК НомерДокумента, ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Дата КАК ДатаДокумента, ИнвентаризацияТоваровНаСкладеТовары.НомерСтроки КАК Номер, ИнвентаризацияТоваровНаСкладеТовары.Номенклатура КАК Номенклатура ИЗ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары ГДЕ ИнвентаризацияТоваровНаСкладеТовары= &ТекущийДокумент затем в конструкторе запросов на закладке "Порядок" указывай сортировку. |
|||
6
lezhek
02.10.14
✎
11:48
|
Спасибо большое! буду пробовать.
|
|||
7
salvator
02.10.14
✎
11:57
|
тьфу,
замени на ГДЕ ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &ТекущийДокумент |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |