Переключение на Главную Страницу Страницы: 1 2 3 [4] 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) ИндексированнаяТаблица метод Сортировать... (число прочтений - 30251 )
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #45 - 18. Июля 2006 :: 03:19
Печать  
kms писал(а) 17. Июля 2006 :: 19:07:
С чего вдруг?

Блин, Я указал индекс. А выдает выборку по своему усмотрению - где логика?
Если бы я не указывал индекс, то да.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #46 - 18. Июля 2006 :: 03:20
Печать  
Вот если индексов больше одного, то должен использоваться первый указанный (если не указан конкретный индекс) или же указание конкретного индекса - вот железная логика.
  
Наверх
ICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #47 - 18. Июля 2006 :: 03:51
Печать  
spock писал(а) 18. Июля 2006 :: 03:20:
Вот если индексов больше одного, то должен использоваться первый указанный (если не указан конкретный индекс) или же указание конкретного индекса - вот железная логика.

Представь в какой кошмар превратится программирование с таким количеством неявностей. Поведение зависит (неявным образом!) от количества индексов, а также первого или последнего указанного. И вот кто-то добавляет ещё один индекс, или меняет порядок их добавления....  трындец...  все застреливаются
Нет уж, я всегда за явное и против тайного Улыбка

PS  я вообще так и думал, что названия методов, схожие с методами типа ТаблицаЗначения, будут вызывать кучу непоняток. ТаблицаЗначений и ИндексированнаяТаблица - далеко не одно и то же, но методы похожи, и заставляют мыслить стереотипами ТЗ.
  
Наверх
 
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #48 - 18. Июля 2006 :: 04:29
Печать  
А как можно в методе Группировать слделать максимально быстрой группировку по, скажем, справочнику с упорядочиванием по реквизиту справочника.

Аналог: Группировка Контрагент Упорядочить По Контрагент.Наименование

Значение реквизита содержится в индексированной таблице.
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #49 - 18. Июля 2006 :: 04:40
Печать  
jbond писал(а) 18. Июля 2006 :: 04:29:
А как можно в методе Группировать слделать максимально быстрой группировку по, скажем, справочнику с упорядочиванием по реквизиту справочника.

Аналог: Группировка Контрагент Упорядочить По Контрагент.Наименование

Значение реквизита содержится в индексированной таблице.

А никак. К сожалению.
Построение индекса по любым агрегатным типам - операция медленная. Даже немножко медленнее, чем сортировка в таблице значений Печаль
Самый правильный способ это в запросе получать не агрегаты, а только простые типы - строки, числа, даты - и по ним группировать. А ещё лучше не группировать, а выводить плоскую таблицу с подсчётом итогов. У меня даже для этого целый класс есть, сыроватый правда, но если интересно могу выложить.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #50 - 18. Июля 2006 :: 04:51
Печать  
Цитата:
ТаблицаЗначений и ИндексированнаяТаблица - далеко не одно и то же, но методы похожи, и заставляют мыслить стереотипами ТЗ.

Хорошо замечено, как раз поэтому и крыша едет.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #51 - 18. Июля 2006 :: 04:53
Печать  
И еще, как раз из-за некоторых умолчаний и едет крыша. Методы схожи, а поведение различно.
Может проделать рефакторинг документации? Улыбка
  
Наверх
ICQ  
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #52 - 18. Июля 2006 :: 06:09
Печать  
ADirks писал(а) 18. Июля 2006 :: 04:40:
А никак. К сожалению.
Построение индекса по любым агрегатным типам - операция медленная. Даже немножко медленнее, чем сортировка в таблице значений Печаль
Самый правильный способ это в запросе получать не агрегаты, а только простые типы - строки, числа, даты - и по ним группировать. А ещё лучше не группировать, а выводить плоскую таблицу с подсчётом итогов. У меня даже для этого целый класс есть, сыроватый правда, но если интересно могу выложить.


Выкладывай.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #53 - 18. Июля 2006 :: 06:24
Печать  
spock писал(а) 18. Июля 2006 :: 04:53:
И еще, как раз из-за некоторых умолчаний и едет крыша. Методы схожи, а поведение различно.
Может проделать рефакторинг документации? Улыбка

Не мути воду. Все там логично и предельно понятно.
Для того, чтобы разобраться с какой-то темой, в эту тему нужно вникать.
С налету ни разберешься ни в документации, ни в теме разговора (понятно, о чем я?).
Поверхностный подход до добра не доводит.

Цитата:
Вот если индексов больше одного, то должен использоваться первый указанный (если не указан конкретный индекс) или же указание конкретного индекса - вот железная логика.

Логика в том, что ты должен указывать индекс явно.
Единственное возможное умолчание - это дефолтный индекс.
Это не SQL engine, с ее оптимизатором запросов и логикой выбора индексов.

Цитата:
И еще, как раз из-за некоторых умолчаний и едет крыша. Методы схожи, а поведение различно.
Может проделать рефакторинг документации?


Вот что ты писал полгода назад:
Цитата:
Kirill  25.02.2006 21:28:29 т.е. я передаю Фирма, Склад, Товар, Документ
                           Делаю Группировать("Склад, Документ")
                           а на выходе все колонки есть как были

Kirill  25.02.2006 21:46:21 хы, понял, что ничего не понял Улыбка
                           пошел-ка я спать, завтра почитаю маны, может получу просвещение.
                           Спасиб за участие Улыбка

Для того, чтобы делать рефакторинг, нужно сначала разобратьс я в теме.
Я что-то не вижу, чтобы ты за эти полгода сдвинулся с места.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #54 - 18. Июля 2006 :: 06:28
Печать  
jbond писал(а) 18. Июля 2006 :: 04:29:
А как можно в методе Группировать слделать максимально быстрой группировку по, скажем, справочнику с упорядочиванием по реквизиту справочника.

Аналог: Группировка Контрагент Упорядочить По Контрагент.Наименование

Значение реквизита содержится в индексированной таблице.

Для IndexedTable самый быстрый вариант:
1. получение в запросе доп. поля id_контрагента и наименование_контрагента.
2. группировка по id_контрагента
3. сортировка каждой таблицы по Наименование_контрагента
  

De quelle planète es-tu?
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #55 - 18. Июля 2006 :: 06:29
Печать  
Все верно, я поднял туже тему.
На тот момент я нашел выход из положения.
А сейчас попутно решил ее просветлить.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #56 - 18. Июля 2006 :: 06:30
Печать  
И еще я помню, что на тот момент не работало с явным указанием индекса в Выбрать/Получить.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #57 - 18. Июля 2006 :: 06:32
Печать  
ADirks писал(а) 18. Июля 2006 :: 04:40:
А никак. К сожалению.
Построение индекса по любым агрегатным типам - операция медленная. Даже немножко медленнее, чем сортировка в таблице значений Печаль
Самый правильный способ это в запросе получать не агрегаты, а только простые типы - строки, числа, даты - и по ним группировать. А ещё лучше не группировать, а выводить плоскую таблицу с подсчётом итогов. У меня даже для этого целый класс есть, сыроватый правда, но если интересно могу выложить.

Я тоже, в общем, дошел до плоских таблиц.
Нужно грамотный класс сделать для плоской группировки, а еще лучше его сделать внутри IndexedTable.

Помнится, еще в самом начале об этом думали...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #58 - 18. Июля 2006 :: 06:40
Печать  
spock писал(а) 18. Июля 2006 :: 06:30:
И еще я помню, что на тот момент не работало с явным указанием индекса в Выбрать/Получить.

Вообще-то работало.
Не работало Получить без предварительного Выбрать - это исправлено.

Короче, посмотри последнюю документацию - там есть изменения с начала года.
Сделай пару проектов - проблем не будет.

Класс реально идеологически весьма стройный.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ИндексированнаяТаблица метод Сортировать...
Ответ #59 - 18. Июля 2006 :: 06:51
Печать  
Яж говорил тогда еще, что есть нестыковки какие-то.
С того момента я этим классом и не пользовался.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 
ОтправитьПечать