|
Из таблицы значений в список значений | ☑ | ||
---|---|---|---|---|
0
manti
22.05.13
✎
16:35
|
ТаблицаДокументов = Новый ТаблицаЗначений;
ТаблицаДокументов.Колонки.Добавить("Документ"); ТаблицаДокументов.Колонки.Добавить("ДатаВремя"); Параметры.ТаблицаДокументов = ТаблицаДокументов; Если ИмяТипаОбъекта = "Документ" Тогда Объект.Записать(); НоваяСтрока = Параметры.ТаблицаДокументов.Добавить(); НоваяСтрока.Документ = Объект.Ссылка; НоваяСтрока.ДатаВремя = Объект.Дата; КонецЕсли; Если Параметры.ТаблицаДокументов.Количество() > 0 Тогда Параметры.ТаблицаДокументов.Сортировать("ДатаВремя Возр"); Ин = 0; Для каждого Строка из Параметры.ТаблицаДокументов Цикл Объект = Строка.Документ.ПолучитьОбъект(); Попытка Объект.Записать(РежимЗаписиДокумента.Проведение); Сообщить("Документ проведен : "+ СокрЛП(Объект)); Ин = Ин + 1; Исключение Сообщить("ДОКУМЕНТ НЕ ПРОВЕДЕН : "+ ОписаниеОшибки(), СтатусСообщения.ОченьВажное); Сообщить(" "+СокрЛП(Объект)); КонецПопытки; КонецЦикла; Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено " + СокрЛП(Ин) +" объектов"); Иначе Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено 0 объектов"); КонецЕсли; Переделываю код под СписокЗначений, поскольку он доступен на тонком клиенте. Не могу сделать сртировку и получить объект. PS код из правил конвертации. ТаблицаДокументов = Новый СписокЗначений; ТаблицаДокументов.Добавить("Документ"); ТаблицаДокументов.Добавить("ДатаВремя"); Параметры.ТаблицаДокументов = ТаблицаДокументов; Если ИмяТипаОбъекта = "Документ" Тогда Объект.Записать(); НоваяСтрока = Параметры.ТаблицаДокументов; НоваяСтрока.Добавить("Документ", Объект.Ссылка); НоваяСтрока.Добавить("ДатаВремя", Объект.Дата); КонецЕсли; Если Параметры.ТаблицаДокументов.Количество() > 0 Тогда Параметры.ТаблицаДокументов.СортироватьПоЗначению("ДатаВремя Возр"); Ин = 0; Для каждого Строка из Параметры.ТаблицаДокументов Цикл //Объект = Строка.Документ.ПолучитьОбъект(); Объект = Строка.Значение.ПолучитьОбъект(); Попытка Объект.Записать(РежимЗаписиДокумента.Проведение); Сообщить("Документ проведен : "+ СокрЛП(Объект)); Ин = Ин + 1; Исключение Сообщить("ДОКУМЕНТ НЕ ПРОВЕДЕН : "+ ОписаниеОшибки(), СтатусСообщения.ОченьВажное); Сообщить(" "+СокрЛП(Объект)); КонецПопытки; КонецЦикла; Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено " + СокрЛП(Ин) +" объектов"); Иначе Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено 0 объектов"); КонецЕсли; |
|||
1
manti
22.05.13
✎
17:28
|
Как можно отсортировать список значений?
ТаблицаДокументов = Новый СписокЗначений; НоваяСтрока = ТаблицаДокументов; НоваяСтрока.Добавить("Объект 1"); НоваяСтрока.Добавить("Объект 2"); НоваяСтрока.Добавить("Объект 3"); Если ТаблицаДокументов.Количество() > 0 Тогда ТаблицаДокументов.СортироватьПоПредставлению("Возр"); Ругается так |
|||
2
salvator
22.05.13
✎
17:29
|
(1) Цитата из СП:
СортироватьПоПредставлению(<Направление>) Параметры: <Направление> (необязательный) Тип: НаправлениеСортировки. Способ сортировки - по возрастанию или по убыванию. Значение по умолчанию: Возр Описание: Сортирует список значений по возрастанию или по убыванию в алфавитном порядке представлений входящих в состав списка значений элементов. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: СписокТиповЦен.СортироватьПоПредставлению(НаправлениеСортировки.Убыв); |
|||
3
samozvanec
22.05.13
✎
17:39
|
(1) будь мужиком, сортируй массив блеат!
|
|||
4
manti
22.05.13
✎
17:51
|
(2) спасибо, разобрался
|
|||
5
hhhh
22.05.13
✎
17:54
|
вот так правильнее
Если ТаблицаДокументов.Количество() > 1 Тогда |
|||
6
Serginio1
22.05.13
✎
18:12
|
Вообще есть в общем модуле УПП например
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт Массив = Новый Массив(); СтруктураСтрокой = ""; НужнаЗапятая = Ложь; Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл Если НужнаЗапятая Тогда СтруктураСтрокой = СтруктураСтрокой + ","; КонецЕсли; СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя; НужнаЗапятая = Истина; КонецЦикла; Для Каждого Строка Из ТаблицаЗначений Цикл НоваяСтрока = Новый Структура(СтруктураСтрокой); ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); Массив.Добавить(НоваяСтрока); КонецЦикла; Возврат Массив; КонецФункции Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт Структура = Новый Структура; Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл Структура.Вставить(Колонка.Имя, СтрокаТаблицыЗначений[Колонка.Имя]); КонецЦикла; Возврат Структура; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |