![]() |
|
Можно ли отсортировать коллекцию движений документа? | ☑ | ||
---|---|---|---|---|
0
shlyahtich
26.02.17
✎
12:01
|
У документа как объекта метаданных есть коллекция движений.
К каждому элементу этой коллекции можно обратиться известным методом "Для каждого...." Но я хочу обратиться к каждому элементу этой коллекции в определенной последовательности, соответствующей, например, алфавитному порядку имен метаданных (регистров). Это не таблица значений и отсортировать нельзя. Выгружать всю коллекцию в ТЗ для сортировки... гемор для простой задачи. Может кто подскажет простой способ как обратиться к элементам коллекции в определенном порядке? спасибо |
|||
1
PR
26.02.17
✎
12:03
|
Напиши
|
|||
2
Web00001
26.02.17
✎
12:20
|
>>Выгружать всю коллекцию в ТЗ для сортировки... гемор для простой задачи.
Это неупорядоченная коллекция и как следствие не имеет методов сортировки. По логике платформы(это уже мои фантазии), необходимости в сортировке движений быть не может. В чем заключается гемор выгрузки движений в ТЗ? |
|||
3
vde69
26.02.17
✎
12:25
|
ну как стоит задача, так и решаем (криво)
для каждого мИмяРег из ТвойМассивСИменами цикл для каждого эл из движения цикл если эл.метаданные().имя = мИмяРег тогда //делаем то что тебе нужно конецесли конеццикла конеццикла |
|||
4
shlyahtich
26.02.17
✎
14:55
|
Есть коллекция движений
Я хочу перебрать ее, например, в порядке, который определяется наименованием регистра (или в порядке по любой из ее колонок). И перебор должен в итоге сохранить тип объекта. Поэтому выгрузка в ТЗ всех полей коллекции движений объекта (документа) не очень красивый вариант. Надо определить все типы полей будущей ТЗ ( ведь метода Метаданные.Документ.Движения.Выгрузить() не существует), потом перебрать коллекцию добавляя в ТЗ ее колонки и потом отсортировать ТЗ а потом вместо коллекции движений в цикле перебирать эту ТЗ... Задача должна иметь решение - подумалось о ней случайно. |
|||
5
Serg_1960
26.02.17
✎
17:02
|
(зевая) Читать движения, сканируя по порядку список выгруженных и отсортированных наименований регистров движений документа
|
|||
6
Web00001
26.02.17
✎
17:25
|
(4)Ерундой занимаешься все проще гораздо. Лениво открывать отладчик. Кода 10 строк наверняка.
|
|||
7
Web00001
26.02.17
✎
17:37
|
(5) +1 Получили движения документа, закинули имена в список, отсортировали как надо список, обратились куда надо и в каком надо порядке.
|
|||
8
shlyahtich
26.02.17
✎
18:12
|
все это и так ясно
код такой в начале: // Перебор движений Для Каждого СвойстваОбъекта Из ДвиженияДокумента Цикл // Проверка, есть ли движения по регистру СтрокаВТаблицеРегистров = ТаблицаДвижений.Найти(Врег(СвойстваОбъекта.ПолноеИмя()), "Имя"); Если СтрокаВТаблицеРегистров = Неопределено Тогда Продолжить; КонецЕсли; и единственное что меня не устравивает - это то что выводится все не по алфавиту - чтоб одинаковые регистры были рядом. Задача не в том как это сделать а в том, как ОПТИМАЛЬНО выполнить произвольную сортировку коллекции, которая как верно выше замечено, является неупорядоченной. где это может пригодиться - везде где например в отчете выводятся движения документа - удобно было бы их упорядочивать в отчете по собственному желанию. PS: (6) я иногда размышляю а потом делаю. Некоторые вещи потом публикую на инфо, если вижу что полезное |
|||
9
Serg_1960
26.02.17
✎
20:29
|
Если сортировать, то сортировать не по именам, а по синониму - юзверям это привычнее видеть на экране.
Имхо, автор не понимает об чём ему говорят :( Продолжение завтра, всё завтра... если он вспомнит проспавшись :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |