![]() |
![]() |
![]() |
|
Сортировка при проведении | ☑ | ||
---|---|---|---|---|
0
Michael_p2004
07.04.10
✎
08:18
|
Необходимо сделать сортировку по номенклатуре в документе "Внутренний заказ" при проведении документа. В процедуре ПередЗаписью ставлю запрос:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВнутреннийЗаказ.Товары.( | Номенклатура | ) |ИЗ | Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ | |УПОРЯДОЧИТЬ ПО | ВнутреннийЗаказ.Товары.Номенклатура" ; Запрос.Выполнить(); Но как-то не хочет работать. Прошу помощи. |
|||
1
Рэйв
07.04.10
✎
08:21
|
(0)в документе "Внутренний заказ" , а причем тут запрос?
|
|||
2
Рэйв
07.04.10
✎
08:21
|
Табличная часть
Сортировать (Sort) Синтаксис: Сортировать(<Колонки>) Параметры: <Колонки> (обязательный) Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. Описание: Сортирует табличную часть в соответствии с указанными правилами сортировки. Примечание: Использование метода допустимо только в том случае, если табличная часть получена из свойства объекта. Если табличная часть получена из свойства ссылки (или выборки), то использование этого метода будет вызывать ошибку выполнения. Пример: ТаблицаЦен.Сортировать("Цена Убыв, Товар Возр"); |
|||
3
Irbis
07.04.10
✎
08:30
|
Сортирует, но по внутреннему представлению, а не по наименованию, чего наверное ты ожидаешь.
|
|||
4
Stim
07.04.10
✎
08:32
|
Так надо:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Номенклатура | |ИЗ | Документ.ВнутреннийЗаказ.Товары КАК Товары | |УПОРЯДОЧИТЬ ПО | Товары.Номенклатура" ; Запрос.Выполнить(); |
|||
5
Michael_p2004
07.04.10
✎
08:33
|
(3) Нужно по наименованию, как, например, при нажатии на кнопку "Упорядочить по возрастанию"
|
|||
6
Stim
07.04.10
✎
08:35
|
+4 и где собственно условие на текущий документ?? У тебя запрос выбирает номенклатуру со всех документов!
|
|||
7
Michael_p2004
07.04.10
✎
08:52
|
(6) Ага, понял. Учусь. Из (4) вставил в модуль, но не работает.
|
|||
8
Aleksey_3
07.04.10
✎
08:57
|
И что будет если это новый документ, который еще не записан?
Т.е. каким боком вообще запрос к решению этой задачи? |
|||
9
Irbis
07.04.10
✎
08:58
|
(7) Так упорядочивай не по ссылке, а по наименованию
УПОРЯДОЧИТЬ ПО Товары.Номенклатура.Наименование |
|||
10
wise
07.04.10
✎
09:03
|
(7)зачем приПроведении сортировать... сортируй приЗаписи формы
|
|||
11
wise
07.04.10
✎
09:04
|
10+ групповое проведение у тебя "ЗАГРУСТИТ"
|
|||
12
Michael_p2004
07.04.10
✎
09:32
|
(10) Так я и ставлю ПередЗаписью. Не взлетает
|
|||
13
Aprobator
07.04.10
✎
09:44
|
(0) отсортировать ТЧ незаписанного документа таким способом? Жесть.
|
|||
14
Aprobator
07.04.10
✎
09:45
|
+(13) опс - ошибся в запросе
|
|||
15
MishaSan
07.04.10
✎
09:46
|
(13) а остальные колонки?
|
|||
16
Aprobator
07.04.10
✎
09:47
|
(15) сам допишет. В (0) я вижу только одну колонку )
|
|||
17
DUDE
07.04.10
✎
10:28
|
(3) +1. Даже если ты сделаешь как в (4), то у тебя будет идти сортировка по внутр. значению - ссылке, если же тебе хочется использовать вменяемые поля, то либо нужно добавить "АВТОУПОРЯДОЧИВАНИЕ" либо явно указать твое поле сортировки , напр., наименование.
|
|||
18
Vovan1975
07.04.10
✎
10:36
|
Мля, "Перед записью" - данные из ТЧ формы еще в базу не записаны. Что ты там сортируешь то, получая данные через запрос из базы?
|
|||
19
IronDemon
07.04.10
✎
10:46
|
||||
20
Michael_p2004
08.04.10
✎
04:47
|
А ларчик просто открывался:
Товары.Сортировать("Номенклатура") Спасибо всем! А (2) отдельная благодарность!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |