|
Ускорение процедуры Свернуть в ТЗ | ☑ | ||
---|---|---|---|---|
0
Coldboy
25.10.13
✎
17:01
|
Здравствуйте. Как можно ускорить выполнение функции Свернуть()? можно через запрос, а то имею такой код ускорение работы процедуры Таблица.Свернуть()
СтрокиАвтопеределов = ТаблицаПроизводства.НайтиСтроки(Новый Структура("ИзАвтопеределов", Истина)); ТаблицаАвтопеределов = ТаблицаПроизводства.Скопировать(СтрокиАвтопеределов, "НоменклатурнаяГруппа, Ингредиент, РецептураАвтопередела, ИзАвтопеределов, КоличествоИнгредиентаНорма, КоэффициентИнгредиента, ЕдиницаИзмеренияИнгредиента"); ТаблицаАвтопеределов.Свернуть("НоменклатурнаяГруппа, Ингредиент, РецептураАвтопередела, ИзАвтопеределов, КоэффициентИнгредиента, ЕдиницаИзмеренияИнгредиента", "КоличествоИнгредиентаНорма"); Работает очень долго, хочу ускорить момент Свернуть, он как раз долго и работает. |
|||
1
H A D G E H O G s
25.10.13
✎
17:06
|
Никак. Это максимум.
|
|||
2
H A D G E H O G s
25.10.13
✎
17:06
|
он как раз долго и работает.
Неверю. |
|||
3
МихаилМ
25.10.13
✎
17:09
|
бред . либо неверная типизация
|
|||
4
ptiz
25.10.13
✎
17:12
|
(0) Долго - это сколько? Сколько строк в таблице?
|
|||
5
wms
25.10.13
✎
17:36
|
ну запросом сверни и сравни
|
|||
6
МихаилМ
25.10.13
✎
17:44
|
можно еще использовать скд, Анализ данных и возможно построитель запроса
|
|||
7
Coldboy
25.10.13
✎
18:00
|
я лах, простите меня ошибся строчкой ... опять ошибка была в строче РегистрыБухлагетерии.Остатки(); как и в предыдущем перевожу на запрос и думаю опять ускорение ...
а на самом деле нашел статью на мисте можно ускорить в разы Тз.Свернуть() функцию. |
|||
8
Coldboy
25.10.13
✎
18:01
|
(5) а запросом как свернуть?
|
|||
9
Fragster
модератор
25.10.13
✎
18:04
|
Вариант синтаксиса: Скопировать по отбору
Синтаксис: Скопировать(<ПараметрыОтбора>, <Колонки>) Параметры: |
|||
10
hhhh
25.10.13
✎
18:09
|
(8) проиндексируй таблицу. Тогда побыстрее будет работать
|
|||
11
kiruha
25.10.13
✎
18:10
|
Он еще не написал сколько строк.
Может он в цикле 10 000 раз сворачивает |
|||
12
kiruha
25.10.13
✎
18:11
|
И не напишет
|
|||
13
Coldboy
25.10.13
✎
19:09
|
(10) индексировать то зачем обыную ТЗ?
|
|||
14
Coldboy
25.10.13
✎
19:09
|
http://kb.mista.ru/article.php?id=228 вот какую тему нашел кому интересно вдруг будет.
|
|||
15
Rovan
модератор
25.10.13
✎
19:12
|
(8) в запрос умеешь ТЗ передавать ?
|
|||
16
Coldboy
25.10.13
✎
19:29
|
(15) нет вот и спрашиваю или где прочитать про это с комментариями лучше.
|
|||
17
Рэйв
25.10.13
✎
19:31
|
>>ТаблицаАвтопеределов = ТаблицаПроизводства.Скопировать(
Нахрена? Если тз настолько юольшая, то лишнее ее копирование это чуть ли не + 2 к замедлению. |
|||
18
Coldboy
25.10.13
✎
19:39
|
(17) в типовой конфигурации Общепит Рарус вопрос к ним. у них знаешь скоко моментов я уже оптимизировал, тьфу тьфу, время группового перепроведения месяца с 32.5 часов до 6.5 сократил, не хило да?
|
|||
19
hhhh
25.10.13
✎
20:02
|
(13) в 8.0 медленно работал метод свернуть. Поэтому начиная с 8.1 придумали индексировать таблицу. Основная цель - чтобы быстрее работал метод Свернуть.
|
|||
20
Coldboy
25.10.13
✎
20:05
|
ТЗ.свернуть() сам индексирует и значит щас работает оптимально?
(19) а я думал в 8.2.14 начали такие вещи править читал в обновлениях платформы ... |
|||
21
Coldboy
25.10.13
✎
20:06
|
(19) а разве средставим СУБД не быстрее будет? тока бы знать как в запрос и средствами субд все это рулить ...
|
|||
22
kiruha
27.10.13
✎
11:04
|
Когда сознаешься сколько элементов в таблице сворачиваешь ?
Как бы несколько раз спросили ? Или проще на разработчиков 1С наехать, чем свою нетленку показать ? В цикле небось сворачиваешь по 5 000 раз ? |
|||
23
dmpl
27.10.13
✎
12:21
|
(19) Медленно метод Свернуть() работал в 7.7. А в 8.0 уже нормально.
(21) Дык кто тебе скажет быстрее или нет? Надо же знать, сколько строк за раз сворачивается и сколько раз сворачивается. Можно сказать, что оптимально будет написать такой запрос, который выдаст уже все свернутое. |
|||
24
H A D G E H O G s
28.10.13
✎
11:28
|
"Что ж такое: были же люди как люди, и вдруг все сразу стали кретины. Парадокс! …" © Брат-2
Фееричный аленистый метод Гения порадовал, спасибо. Про индексы, придуманные для свертки - тоже поржал, жгите еще. |
|||
25
Infsams654
28.10.13
✎
11:38
|
(0) А зачем НайтиСтроки из ТаблицаПередела, а потом еще раз из ТаблицаПредела их Скопировать?
Можно сразу Скопировать(<ПараметрыОтбора>, <Колонки>) |
|||
26
Infsams654
28.10.13
✎
11:39
|
(25) блин, из ТаблицаПроизводства
|
|||
27
dk
28.10.13
✎
11:53
|
про типизацию уже было?
|
|||
28
Fragster
гуру
28.10.13
✎
11:55
|
вот у меня есть вопрос: как ускорить соединение ТЗ которые источники данных в СКД?
|
|||
29
H A D G E H O G s
28.10.13
✎
11:56
|
(27) Что там не так с типизацией?
|
|||
30
Coldboy
28.10.13
✎
12:04
|
(22) см (7)
|
|||
31
kiruha
28.10.13
✎
12:08
|
(30)
Остатки() - это неявный запрос. Пишешь свой запрос(он выполняется столько же) и там вместо последующего свернуть - сгруппировать как хошь. Если нужны несколько разрезов свертки - итоги. Если и тоги не годятся - помещаешь во временную и оттуда в пакете в разных комбинациях группирования |
|||
32
Bober
28.10.13
✎
12:11
|
(28) сложные условия соединения?
|
|||
33
Coldboy
28.10.13
✎
12:12
|
(30) за что вы так со мной?
|
|||
34
kiruha
28.10.13
✎
13:01
|
В смысле ?
Если хочешь ускорить - не метод сгруппировать нужно, а по возможности все преобразования в запросе сделать - это вплне возможно, хотя бывает очень сложно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |