Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Хранение информации в регистре. (число прочтений - 3280 )
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Хранение информации в регистре.
29. Июня 2010 :: 14:01
Печать  
Добрый день.
Вопрос по хранению данных в регистре.
Регистр по своей сути - это таблица.
При проведении документа, записи в эту таблицу добавляются
INSERT ом или APPEND ом ?

т.е. при проведении документа задним числом, записи в таблицу добавляются как?

Для чего мне надо.

ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
ТаблИтогов.Сортировать("+КредДокумент",1);


где КредДокумент - документ формирующий записи в регистре.
нужно ли сортировать в данном случае?
  
Наверх
www  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #1 - 29. Июня 2010 :: 14:32
Печать  
Нужно для чего?
  
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Хранение информации в регистре.
Ответ #2 - 30. Июня 2010 :: 05:26
Печать  
сортировать нужно, а записи в первую очередь пишутся на место "удаленных", это ежели дбф.
  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #3 - 30. Июня 2010 :: 06:39
Печать  
Нужно ли сортировать ТЗ из регистра?
Потому как если APPEND, то точно нужно, потому как записи перепроведенного документа в конце, а если INSERT, то они находятся в хронологическом порядке и можно не сортировать. Или я не прав?

ТаблИтогов.Сортировать("+КредДокумент",1);
На сортировку уходит 10% от проведения, вот и думаю, может ее исключить.

Если ее сделать ИндексированнойТаблицей и сортировать ("КредДокумента") то еще медленнее.
("*КредДокумента") дает ли тот же результат что и ("+КредДокумента") ???

база SQL
  
Наверх
www  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #4 - 30. Июня 2010 :: 06:49
Печать  
MaxPiter писал(а) 30. Июня 2010 :: 06:39:
Нужно ли сортировать ТЗ из регистра?
Потому как если APPEND, то точно нужно, потому как записи перепроведенного документа в конце, а если INSERT, то они находятся в хронологическом порядке и можно не сортировать. Или я не прав?

ТаблИтогов.Сортировать("+КредДокумент",1);

база SQL

Как получаете ТаблИтогов ?
Скорее всего надо изменить прямой запрос чтобы сортировка была в нем по полю Жур.Date_Time_IDDoc
  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #5 - 30. Июня 2010 :: 06:51
Печать  
Z1 писал(а) 30. Июня 2010 :: 06:49:
Как получаете ТаблИтогов ?
Скорее всего надо изменить прямой запрос чтобы сортировка была в нем по полю Жур.Date_Time_IDDoc


в первом посте
ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
  
Наверх
www  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #6 - 30. Июня 2010 :: 06:55
Печать  
MaxPiter писал(а) 30. Июня 2010 :: 06:51:
Z1 писал(а) 30. Июня 2010 :: 06:49:
Как получаете ТаблИтогов ?
Скорее всего надо изменить прямой запрос чтобы сортировка была в нем по полю Жур.Date_Time_IDDoc


в первом посте
ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);

тогда причем тут 1c++ ?
Это же стандартный метод 1с возращающий неупорядоченный набор итогов.
Надо или нет этот набор упорядочивать зависит от Вашей задачи.


  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #7 - 30. Июня 2010 :: 07:00
Печать  
Z1 писал(а) 30. Июня 2010 :: 06:55:
неупорядоченный


не, ну как-то они все равно упорядочены. К примеру

знач1
знач2
знач3
знач4
знач5

теперь я снимаю с проведения докумет №3 и знач3 удаляется из таблицы
Провожу заново и какая получается таблица?

знач1
знач2
знач3
знач4
знач5

или

знач1
знач2
знач4
знач5
знач3

или вообще неизвестно куда 1С эту запись сделает?
  
Наверх
www  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #8 - 30. Июня 2010 :: 07:18
Печать  
ВыгрузитьИтоги выгружает итоги в Таблицу значений.
Как точно выгружает скорее всего по кластерному индексу.
Если есть галки отбор итогов и фильтр попадет в индекс
по этой галке то ms sql выдаст записи по этому индексу.
Т.е. Вам все равно надо либо использовать
стандартный метод сортировать
либо переписать все эти действия (фильтр,выгрузить,сортировать)
в один  запрос 1с++

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Хранение информации в регистре.
Ответ #9 - 30. Июня 2010 :: 07:22
Печать  
MaxPiter писал(а) 30. Июня 2010 :: 07:00:
Z1 писал(а) 30. Июня 2010 :: 06:55:
неупорядоченный



теперь я снимаю с проведения докумет №3 и знач3 удаляется из таблицы
Провожу заново и какая получается таблица?

или вообще неизвестно куда 1С эту запись сделает?


всё известно, данные из таблички итогов не удаляются - просто в ресурсах будет 0, при открытии следующего периода эти записи не "переедут" в новый период и всё.
А так, в какой последовательности итоги были - в такой и будут.. всегда.

  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #10 - 30. Июня 2010 :: 07:24
Печать  
спасибо Z1

тогда, что в 1С++ является эквивалентом для ("+КредДокумента").
("КредДокумента") или ("*КредДокумента") ?
По документации вижу что ("КредДокумента"), но у меня они строят одинаковые таблицы и со * работает в разы быстрее
  
Наверх
www  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #11 - 30. Июня 2010 :: 07:36
Печать  
MaxPiter писал(а) 30. Июня 2010 :: 07:24:
спасибо Z1

тогда, что в 1С++ является эквивалентом для ("+КредДокумента").
("КредДокумента") или ("*КредДокумента") ?
По документации вижу что ("КредДокумента"), но у меня они строят одинаковые таблицы и со * работает в разы быстрее

Чтобы сказать точно надо видеть структуру регистра и прямой запрос.
В прямых запросах надо приводить типы как они в ms sql базе
иначе Вы точно не попадете в индекс и будет полный перебор
таблицы итогов (rg...)
  
Наверх
 
IP записан
 
MaxPiter
Full Member
***
Отсутствует


I Love 1C++

Сообщений: 187
Местоположение: Санкт-Петербург
Зарегистрирован: 20. Ноября 2008
Пол: Мужской
Re: Хранение информации в регистре.
Ответ #12 - 08. Июля 2010 :: 07:31
Печать  
Спасибо, буду разбираться.
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать