|
Сортировка ТаблицыЗначений по моменту времени документа | ☑ | ||
---|---|---|---|---|
0
RalexR
29.10.12
✎
22:39
|
Добрый вечер! Вобщем вот в чём задача: есть отобранные в таблицу значений ссылки на документы, моменты времени и кое-какие другие данные, есть необходимость сортировать ТЗ по моменту времени. КАК это сделать, может подскажет кто???? слышал что сортировкой таблицы значений (.Сортировать("МоментВремени")) не катит.
|
|||
1
Feanorko
29.10.12
✎
22:39
|
Сортируй в запросе
|
|||
2
RalexR
29.10.12
✎
22:46
|
Мне важно менять в Таблице Значений кое какие данные, в том числе для строк задавать новый момент времени и сортировать после изменений. Хотел передавать ТЗ через параметр в запрос и там сортировать и выгружать обратно, но ругается на момент времени : Тип не возможно использовать в запросе. Поискал в интернете такая ошибка выдается когда ТЗ не типизирована, но у меня таблица значений типизирована так как выгружается из запроса.
|
|||
3
Лефмихалыч
29.10.12
✎
22:49
|
(2) ссылку на документ передавай, у документов есть реквизит МоментВремени
|
|||
4
ВалераОшкин
29.10.12
✎
22:49
|
(3) Однако голова!
|
|||
5
Нуф-Нуф
29.10.12
✎
22:54
|
Сортировать по дате и ссылке
|
|||
6
Лефмихалыч
29.10.12
✎
23:00
|
(4) а, ну да, точно, его ж нельзя в запросе-то использовать. Как-то я об этом не подумал...
|
|||
7
RalexR
29.10.12
✎
23:01
|
из таблицы значений через ссылку реквизиты объекта не вытаскиваются пишет, ругается на этот элемент "Поле не найдено СсылкаНаРегистратор.МоментВремени".
|
|||
8
ssh2012
29.10.12
✎
23:03
|
(6) по моменту можно сортировать в запросе
|
|||
9
Лефмихалыч
29.10.12
✎
23:03
|
+(6) хотя нет, нормально всё сортируется
(7) а это потому, что таблица должна быть типизированной |
|||
10
kiruha
29.10.12
✎
23:04
|
Момент времени это дата и индетификатор по сути
поэтому (5) |
|||
11
RalexR
29.10.12
✎
23:06
|
но из таблицы значений он отказывается МоментВремени использовать. Полностью типизирована,тк ТЗ которую передаю в прараметр сортирующего запроса, выгружаю из запроса и пока ещё без всяких изменений как она есть экспериментирую, тоесть ТЗ типизирована.
|
|||
12
RalexR
29.10.12
✎
23:09
|
всмысле в запросе отказывается МоментВремени использовать в запросе, когда передаем туда таблицу значений через параметр.
|
|||
13
ssh2012
29.10.12
✎
23:10
|
Можно сортировать ТЗ по колонке момент времени, использовать СравнениеЗначений
|
|||
14
ssh2012
29.10.12
✎
23:11
|
ТаблицаЗначений (ValueTable)
Сортировать (Sort) Синтаксис: Сортировать(<Колонки>, <Объект сравнения>) Параметры: <Колонки> (обязательный) Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. <Объект сравнения> (необязательный) Тип: СравнениеЗначений. Объект для сравнения значений. Независимо от того, задан объект сравнения или нет, элементы, чьи типы не совпадают, сравниваются по коду типа, а элементы простых типов сравниваются по значению. Дополнительно к этому: если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению; если объект сравнения задан, то: объекты сравниваются по идентификатору; моменты времени сравниваются по дате и идентификатору объекта; элементы остальных типов сравниваются по строковому представлению. |
|||
15
RalexR
29.10.12
✎
23:12
|
Если сортировать так ТЗ.Сортировать("МоментВремени") то получается совсем ни то.
|
|||
16
ssh2012
29.10.12
✎
23:13
|
ТЗ.Сортировать("МоментВремени", Новый СравнениеЗначений)
|
|||
17
kiruha
29.10.12
✎
23:14
|
МоментВремени (PointInTime)
Описание: Предназначен для получения и хранения момента времени для объекта в базе данных. Содержит дату и время(!), а также ссылку(!) на объект базы данных. |
|||
18
RalexR
29.10.12
✎
23:15
|
тость в объект сравнения передаем пустой обьект типа СравнениеЗначений?
|
|||
19
RalexR
29.10.12
✎
23:17
|
Да, тут допустим я обойду, но в дальнейшем мне всё же необходимо передача этой ТЗ с моментов времени в запрос, но я так понимаю это нереально.
|
|||
20
ssh2012
29.10.12
✎
23:17
|
(18) [если объект сравнения задан, то: ...моменты времени сравниваются по дате и идентификатору объекта; ]
|
|||
21
Лефмихалыч
29.10.12
✎
23:17
|
(11) значит у тебя там составной тип и среди типов есть не ДокументСсылка
|
|||
22
RalexR
29.10.12
✎
23:22
|
(21)Да, слушай ка Тип составной и там есть Null в регистраторе, НО когда удаляю из запроса (с параметром ТЗ) момент времени то всё работает, ни на что не ругается.
|
|||
23
RalexR
29.10.12
✎
23:54
|
Так и не получается фокус с моментом времени!:(((
|
|||
24
Classic
30.10.12
✎
00:00
|
(23)
Тип колонки правильно задал? Давай код |
|||
25
RalexR
30.10.12
✎
00:27
|
Вот код примерно вот так, немного в упрощённом виде, для понятности :
|ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.КоличествоДт, | ХозрасчетныйДвиженияССубконто.СубконтоДт1, | ХозрасчетныйДвиженияССубконто.СубконтоДт2, | ХозрасчетныйДвиженияССубконто.МоментВремени, | ""Приход"" |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &НачПериода, | &КонПериода, | Организация = &Организация | И СчетДт = &СчетТопливо, | , | ) КАК ХозрасчетныйДвиженияССубконто"; Запрос.УстановитьПараметр("Организация",Организация); Запрос.УстановитьПараметр("СчетТопливо",Счет); Запрос.УстановитьПараметр("НачПериода",НачалоДня(НачПериода)); Запрос.УстановитьПараметр("КонПериода",КонецДня(КонПериода)); ТабЗначВсеДвижения = Запрос.Выполнить().Выгрузить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТЗДок.МоментВремени, | ТЗДок.Период, | ТЗДок.Регистратор |ПОМЕСТИТЬ ВТ |ИЗ | &ТЗ КАК ТЗДок |; |////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | вт.МоментВремени, | вт.Период | вт.Регистратор |ИЗ | ВТ КАК вт |УПОРЯДОЧИТЬ ПО вт.МоментВремени"; Запрос.УстановитьПараметр("ТЗ",ТабЗначВсеДвижения); ТабЗначВсеРасходы = Запрос.Выполнить().Выгрузить(); |
|||
26
RalexR
30.10.12
✎
00:29
|
между двумя запросами в дальнейшем предполагается действия по изменению реквизитов и момента времени, поэтому сортировка таблицы значений необходима.
|
|||
27
Нуф-Нуф
30.10.12
✎
07:07
|
Всю ветку не читал, сортировку по дате и ссылке уже предлагали?
|
|||
28
ssh2012
30.10.12
✎
10:13
|
(27) да, в (5)
|
|||
29
kiruha
30.10.12
✎
11:21
|
(27)
Чувак попался упертый, ему говорят, что момент времени это дата + идентификатор, а он вбил себе в голову, что это что то в базе и ни в какую. Наверно еще как то менять будет |
|||
30
cw014
30.10.12
✎
11:26
|
(25) Не взлетит. После выгрузки результат в ТЗ типы колонок становятся составными ("ДокументСсылка,Null")
|
|||
31
kiruha
30.10.12
✎
12:09
|
Можно ли изменить МоментВремени в пределах одной секунды?
http://www.1c-galaxy.ru/forum4/topic296326/ |
|||
32
Kashemir
30.10.12
✎
12:19
|
(31) Нельзя
|
|||
33
Kashemir
30.10.12
✎
12:20
|
Момент времени в 8 = ДатаВремяДокумента + НомерТаблицаДокумента + ИДДокумента.
НомерТаблицаДокумента + ИДДокумента = Ссылка Хочешь упорядочить в запросе: 1. Упорядочиваешь по времени. 2. Упорядочиваешь по ссылке |
|||
34
kiruha
30.10.12
✎
12:32
|
(32)
Это не вопрос, кавычки забыл )) Это заголовок темы в приведенной в (31) ссылке - как чел извращался |
|||
35
Kashemir
30.10.12
✎
12:35
|
(34) Даже смотреть не вижу смысла. Платформа позволяет максимум - записать новый документ с заданной ссылкой. На этом все возможности для извращения заканчиваются.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |