|   |   | 
| 
 | Сортировка ТаблицыЗначений по моменту времени документа | ☑ | ||
|---|---|---|---|---|
| 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) Даже смотреть не вижу смысла. Платформа позволяет максимум - записать новый документ с заданной ссылкой. На этом все возможности для извращения заканчиваются.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |