![]() |
|
v7: ТИС долго формируется отчет по клиентам | ☑ | ||
---|---|---|---|---|
0
Uragan_a
14.08.13
✎
06:59
|
Страшно долго формируется отчет по клиентам. Тупо зависате на Заполнение выходных данных, кто то сталкивася? Всего две группировки контрагент и номенклатура
|
|||
1
chelentano
14.08.13
✎
07:02
|
(0) а посмотреть, что там происходит? никак?
|
|||
2
Uragan_a
14.08.13
✎
07:13
|
в отладчике? простосто думал может кто что посоветует?
|
|||
3
Ёпрст
гуру
14.08.13
✎
09:19
|
отчет то какой хоть ?
ведомость по клиентосам ? |
|||
4
Ёпрст
гуру
14.08.13
✎
09:19
|
или что ?
|
|||
5
Злой Бобр
14.08.13
✎
09:35
|
Если типовой отчет то увеличьте место под темповые файлы пользователя ОС. К тому же если фильтры нестоят то это одуренный объем выходных данных - ставьте фильтр на контрагента, всеравно смотреть сразу 60к строк вы несможете.
|
|||
6
пипец
14.08.13
✎
10:02
|
вопрос из серии - у меня машина не едет ...вот фото - посмотрите, что может быть (с)
ЗЫ а раньше он как формировался ? а период не пять лет ? итд |
|||
7
VladZ
14.08.13
✎
10:06
|
(0) Сохрани его во внешний отчет. Навтыкай сообщить(ТекущееВремя()); в нужных местах и анализируй на здоровье!
|
|||
8
ildary
14.08.13
✎
10:06
|
И главное - о том, в каком состоянии регистры, какая база (dbf, sql), какой комп, на котором она вертится - должны догадаться телепаты.
|
|||
9
KUBIK
14.08.13
✎
10:08
|
(7) ???
А чем отладчик с контролем времени не подходит? |
|||
10
ildary
14.08.13
✎
10:15
|
Еще бы узнать - что это за отчет - типовой отчет по продажам или самописка с запросами в цикле?
|
|||
11
chelentano
14.08.13
✎
10:16
|
(2) ну тогда советую исправить строки с 143 по 168
|
|||
12
VladZ
14.08.13
✎
10:24
|
(9) Можно и отладчиком. В любом случае мой вариант - информативней. Обычному пользователю удобно: видит, что происходит с программой. И может эту инфу разработчику передать. Короче, сплошные плюсы. :)
|
|||
13
Uragan_a
14.08.13
✎
11:41
|
(8) регистры не знаю как, но свернул с 2004 года по 1 января 2013 года вот этой обработкой http://infostart.ru/public/63400/, база дбф, база уменьшилась с 2,5 гигов до 400 метров. Комп серверный.
|
|||
14
Uragan_a
14.08.13
✎
11:42
|
(8) как узнать в каком они состоянии?)))
Отчет типовой по клиентам |
|||
15
Uragan_a
14.08.13
✎
11:43
|
(6) формировалАсь долгО, но сейчас база не очень большая стала))) старые года свернуты
|
|||
16
Ёпрст
гуру
14.08.13
✎
11:49
|
(13) молодец. Прои..ал всю аналитику за старые года этой свёрткой.
|
|||
17
Uragan_a
14.08.13
✎
11:51
|
(16) ну есть еще одна база старая. мне бы понять в чем причина долгого формирования отчета по клиентам.
Делается за год всего. Из границы последовательности может быть? |
|||
18
пипец
14.08.13
✎
11:52
|
(15) если дата свертки входит в период отчета - то ой ;))
|
|||
19
Ёпрст
гуру
14.08.13
✎
11:52
|
(17) нет.
из-за мусора в табличке итогов. |
|||
20
пипец
14.08.13
✎
11:53
|
стопудово входит ;)))
|
|||
21
Uragan_a
14.08.13
✎
11:54
|
(19) возможно что-то сделать?
|
|||
22
Uragan_a
14.08.13
✎
11:58
|
(20) сделал, чтобы не входила особого прироста нет(
|
|||
23
Ёпрст
гуру
14.08.13
✎
11:59
|
(21) можно. прибить таблички итогов, сделать их пересчет.
|
|||
24
Ёпрст
гуру
14.08.13
✎
11:59
|
это для начала.
|
|||
25
Uragan_a
14.08.13
✎
11:59
|
(19) сначало идет обработка документов за весь год, почему-то, хотя ГП август.
а потом еще конкретно висит на Заполнении выходных данных. |
|||
26
Ёпрст
гуру
14.08.13
✎
11:59
|
посмотреть, какие регистры не закрыты. это потом.
|
|||
27
Uragan_a
14.08.13
✎
12:00
|
(26) а это как сделать
|
|||
28
Ёпрст
гуру
14.08.13
✎
12:00
|
(25) ГП ни на что не влияет в ИБ... воообще.
Это просто "маркер", который сообщает пользователю, о "правильной" последовательности. всё. |
|||
29
Uragan_a
14.08.13
✎
12:00
|
(23) так понимаю это cdx или какие ?))) а потом тестирование и исправление с пересчетом итогов?
|
|||
30
Ёпрст
гуру
14.08.13
✎
12:02
|
(27) удалить все файлы RG*.DBF, зайти в предприятие, сдвинуть ТА на первый док, потом на последний.
Или в Пофигураторе сделать полный пересчет итогов (правда он дольше будет - будут пересчитаны итоги шапки документов, ежели галка итог стоит у реквизита табл. части) |
|||
31
Uragan_a
14.08.13
✎
12:04
|
(30) спасибо
а глянуть какие регистры не закрыты и как их закрыть |
|||
32
VladZ
14.08.13
✎
12:06
|
(13) "Комп серверный, база маленькая, отчет стандартный."... Рукалицо!
|
|||
33
VladZ
14.08.13
✎
12:07
|
Нашел что именно тормозит? Или лечим головную боль отрубанием головы?
|
|||
34
Uragan_a
14.08.13
✎
12:08
|
(33) для меня это как минимум на ночь работы, сейчас буду смотреть, ночь длинная)
|
|||
35
Uragan_a
14.08.13
✎
12:09
|
(33) получается при формировании отчета надо найти кусок кода который будет выполняться долго, а для этого нужно на какждой строчке цикла наставить точек останова?
|
|||
36
VladZ
14.08.13
✎
12:13
|
(35) Смотришь код. Примерный алгоритм работы отчета: получение данных, приведение к нужному виду, вывод данных. Находишь эти куски кода. Дальше: либо ставишь сообщить(текущеевремя()), либо через отладчик анализируешь производительность этих кусков.
|
|||
37
пипец
14.08.13
✎
13:43
|
||||
38
пипец
14.08.13
✎
13:46
|
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=23&lid=390
во тож самое и бесплатно |
|||
39
Злой Бобр
14.08.13
✎
13:55
|
(34) Смотреть то сам незная что. Ну ну ...
Невзлетит. |
|||
40
Злопчинский
15.08.13
✎
00:31
|
[Шишки для мартышки] Упаковка/ускорение нулевых итогов регистров для файлового вариант 7.7
http://infostart.ru/public/180018/ |
|||
41
КонецЦикла
15.08.13
✎
00:35
|
Помню как-то давно в книжном попалась книга, в ней была глава "Как ускорить формирование отчета"
Было написано "На вопрос о восстановлении последовательности нужно ответить "Нет"" |
|||
42
Злопчинский
15.08.13
✎
00:46
|
(41) ну а фигли... я у себя сделал паралельный регистр по взаиморасчетам с клиентами, куча без учета КредДок... и нормуль.. если что - разворачиваю тупо обратным счетом...
|
|||
43
Uragan_a
15.08.13
✎
07:51
|
а расскажите, что значит закрытый регистр?
|
|||
44
Voronve
15.08.13
✎
08:06
|
Закрытый регистр:
Приход, ООО Рога и копыта, Основной склад, Шуруп, 10 шт Расход, ООО Рога и копыта, Основной склад, Шуруп, 10 шт Незакрытый регистр: Приход, ООО Рога и копыта, Основной склад, Шуруп, 10 шт Расход, ООО Рога и копыта, , Шуруп, 10 шт |
|||
45
Uragan_a
15.08.13
✎
13:00
|
(44)спасиб, кажется немного понимаю. То есть мусор остается, так бы строчки ушли в 0, а так болтаются обе?
|
|||
46
Ёпрст
гуру
15.08.13
✎
13:10
|
(45) на вот картинку, наглядную, как переносятся итоги в следующий период при закрытом (там где одно измерение) и не закрытом регистре (там, где их 2)
http://s55.radikal.ru/i147/0907/fc/0d1be61a68c2.jpg |
|||
47
Попытка1С
15.08.13
✎
13:13
|
(46) Сам рисовал?
|
|||
48
povar
15.08.13
✎
13:17
|
(43) сравни файлы по объему rg и ra
|
|||
49
Ёпрст
гуру
15.08.13
✎
13:26
|
(47) да.. в 2009 году пришлось рисовать одному товарищу, который добавил в регистр измерение ТекущийДокумент и гордился этим.
|
|||
50
Ёпрст
гуру
15.08.13
✎
13:27
|
хотя он даже после картинок рогом упёрся на своём..
|
|||
51
Uragan_a
15.08.13
✎
13:29
|
(46) спасибо очень наглядно
|
|||
52
Uragan_a
15.08.13
✎
13:34
|
(48) она меньше на 2 метра а другие больше на 2 метра
|
|||
53
Uragan_a
15.08.13
✎
13:34
|
РА 22 РГ 24
РА 26 РГ 28 РА 8 РГ 10 |
|||
54
Uragan_a
15.08.13
✎
13:34
|
(50) тут вроде даже мне понятно
|
|||
55
Uragan_a
15.08.13
✎
13:36
|
в базе до свертки РГ шки по 200 с фигом мегабайт а формируется отчет чуть ли не быстрей
|
|||
56
Uragan_a
15.08.13
✎
13:37
|
РГ в новой базе 22 а этот же в старой 406 а формируется примерно так же отчет если не быстрее.
|
|||
57
Ёпрст
гуру
15.08.13
✎
13:38
|
прибей все rg, сделай пересчет итогов в предприятии
|
|||
58
Ёпрст
гуру
15.08.13
✎
13:38
|
Далее, ищем документы с пустой датой в 1sjourn
|
|||
59
Uragan_a
15.08.13
✎
13:39
|
(57) сделал особо не помогает
|
|||
60
Uragan_a
15.08.13
✎
13:40
|
(58) есть сдх и дбв 8 и 10 метров
|
|||
61
Ёпрст
гуру
15.08.13
✎
13:40
|
тогда дай базу посмотреть
|
|||
62
Uragan_a
15.08.13
✎
13:41
|
куда можно отправить
|
|||
63
Ёпрст
гуру
15.08.13
✎
13:46
|
eprst@mail.ru
|
|||
64
povar
15.08.13
✎
13:50
|
(53) ну криминала не видно
|
|||
65
Uragan_a
15.08.13
✎
13:56
|
(64) формируется отчет около 6-7 минут может это норм?
200-300 документов в день и касса и банк и тд |
|||
66
Uragan_a
15.08.13
✎
13:57
|
(64) ща снесу рг в старой базе итоги перечитаю и посмотрю скорость и сравню со свернутой
|
|||
67
Uragan_a
15.08.13
✎
14:24
|
наверное быстрее некуда отчет сформированный получается в 21 000 строк, и формируют они его за год 2013 (8 месяцев получается)
|
|||
68
Ёпрст
гуру
15.08.13
✎
14:40
|
(67) есть ли объединенные ячейки в макете отчета ?
+ расшифровка поди тоже есть для всех ячеек ? |
|||
69
Ёпрст
гуру
15.08.13
✎
14:40
|
21 к строк, это не много
|
|||
70
Uragan_a
15.08.13
✎
14:46
|
за месяц моментально впринципе.
Группировки только по контрагенту и номенклатуре. (68) объединенных не видать, что значит расшифровка))) |
|||
71
Ёпрст
гуру
15.08.13
✎
14:53
|
свойства ячейки - расшифровка.
|
|||
72
Uragan_a
15.08.13
✎
15:00
|
(71) я вообще дурак видать. если правой кнопкой то свойста серы, если включаю возможность реактирования и жму на свойства ячейки там нет расшифровка ) не смейтесь громко)))
|
|||
73
dedmoroz777
15.08.13
✎
15:12
|
(72) это в конфигураторе смотреть нужно
|
|||
74
Uragan_a
15.08.13
✎
15:40
|
расшифровка пусто, 6 минут вообщем
|
|||
75
Ёпрст
гуру
15.08.13
✎
15:43
|
открой отладчик, включи замер производительности, сделай отчет за месяц - отключи замер - смотри, на что тратится основное время
|
|||
76
Ёпрст
гуру
15.08.13
✎
15:44
|
да, отчет то типовой ?
или самописный ? |
|||
77
Uragan_a
15.08.13
✎
15:46
|
(76) типовой, за месяц то быстро)))
|
|||
78
Uragan_a
15.08.13
✎
15:46
|
(75) попробую
|
|||
79
Uragan_a
15.08.13
✎
16:00
|
(75)
вот этот цикл много раз повторяется и видать время на него идет ТЗ.Сортировать(СтрГруппировок, 1); ТЗ.ВыбратьСтроки(); СтарыйКонтрагент = 0; СуммаПринятая = 0; СуммаВсего = 0; УровеньПред = 0; ВремТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.Выгрузить(ВремТЗ); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл Если ТЗ.Уровень < УровеньТовара Тогда Если (НомерГруппировкиПоНоменклатуре < НомерГруппировкиПоДокументу) и (ТЗ.Уровень = НомерГруппировкиПоНоменклатуре) Тогда ТЗ.Сумма = 0; КонецЕсли; Если (ВидОтчета <> 3) или ((НомерГруппировкиПоНоменклатуре < НомерГруппировкиПоДокументу) и (ТЗ.Уровень = НомерГруппировкиПоНоменклатуре)) Тогда ТЗ.СуммаПринятая = 0; КонецЕсли; ВремТЗ.ВыбратьСтроки(); Пока ВремТЗ.ПолучитьСтроку()=1 Цикл Если ВремТЗ.НомерСтроки <= ТЗ.НомерСтроки Тогда Продолжить; КонецЕсли; Если ВремТЗ.Уровень <= ТЗ.Уровень Тогда Прервать; КонецЕсли; Если ВремТЗ.Уровень = УровеньТовара Тогда Если (НомерГруппировкиПоНоменклатуре < НомерГруппировкиПоДокументу) и (ТЗ.Уровень = НомерГруппировкиПоНоменклатуре) Тогда ТЗ.Сумма = ТЗ.Сумма + ВремТЗ.Сумма; КонецЕсли; Если (ВидОтчета <> 3) или ((НомерГруппировкиПоНоменклатуре < НомерГруппировкиПоДокументу) и (ТЗ.Уровень = НомерГруппировкиПоНоменклатуре))Тогда ТЗ.СуммаПринятая = ТЗ.СуммаПринятая + ВремТЗ.СуммаПринятая; КонецЕсли; Если ВремТЗ.Уровень >= НомерГруппировкиПоНоменклатуре Тогда ТЗ.Количество = ТЗ.Количество + ВремТЗ.Количество; ТЗ.КоличествоПринятое = ТЗ.КоличествоПринятое + ВремТЗ.КоличествоПринятое; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл Если ТЗ.Уровень = УровеньДокОплаты Тогда ТЗ.Количество = 0; ТЗ.Сумма = 0; ТЗ.КоличествоПринятое = 0; ТЗ.СуммаПринятая = 0; КонецЕсли; Таб.ВывестиСекцию("Строка"+СокрЛП(ТЗ.Уровень)+"|Начало"); Таб.ПрисоединитьСекцию("Строка"+СокрЛП(ТЗ.Уровень)+"|Реализация"); Если (ВидОтчета = 1) или (ВидОтчета = 3) Тогда Таб.ПрисоединитьСекцию("Строка"+СокрЛП(ТЗ.Уровень)+"|Поступление"); КонецЕсли; Таб.ПрисоединитьСекцию("Строка"+СокрЛП(ТЗ.Уровень)+"|Хвост"); КонецЦикла; |
|||
80
Uragan_a
15.08.13
✎
16:11
|
Пока ВремТЗ.ПолучитьСтроку()=1 Цикл
Если ВремТЗ.НомерСтроки <= ТЗ.НомерСтроки Тогда Продолжить; |
|||
81
Uragan_a
15.08.13
✎
16:12
|
1 строка 36 %
2 23% 3 12 % |
|||
82
Uragan_a
15.08.13
✎
16:25
|
вот это не то?
http://s1.ipicture.ru/uploads/20130815/o4HapqTk.jpg |
|||
83
Ёпрст
гуру
15.08.13
✎
16:31
|
оно
|
|||
84
Ёпрст
гуру
15.08.13
✎
16:32
|
собственна.. у тя с данными всё более или менее, у тя с отчетом проблемы - оптимизируешь отчет, получишь скорость
|
|||
85
Uragan_a
15.08.13
✎
16:33
|
(84) пасибки, может у кого есть уже оптимизированный)))
|
|||
86
Mihenius
15.08.13
✎
16:56
|
||||
87
Uragan_a
15.08.13
✎
17:05
|
(86) ок. Так все таки проблема в свертке или отчете)
С той я не разобрался ( Слишком многа кнопок, что то делалось, база слетала и потом вроде все так же оставалось |
|||
88
Злопчинский
15.08.13
✎
22:22
|
(85) а откуда мы возьмем оптимизированный твой самописный отчет?
. не нравится мне конструкция в (79-80).. структура данных криво подготовлена скорее всего - отсюда неоптимальный вывод... бегло у тебя в цикле по одной ТЗ перебирается вторая ТЗ... хреново... . если бы ты выложил скриншот примерный как у тебя печформа отчета выглядит - может что и можно было бы подумать... . для ускорения отчета - хорошо бы его посмотреть - сформируй плоскую ТЗ без всяких группировок и подсунь в универсальный отчет по ТЗ - посмотри насколько быстро формируется.. . http://infostart.ru/public/14794/ |
|||
89
Uragan_a
16.08.13
✎
03:13
|
(88) посмотрел еще в одной базе которая у меня валяется на компьютере, там тоже такой отчет, сохранил его как внешний, открыл в этой базе и работает так же долго.
Фишка в том, что отчет запрещал убирать группировку по номенклатуре, а она им не нужна. Убрал проверку (надеюсь не на что не влияет) и отчет формируется в секунды. |
|||
90
Злопчинский
16.08.13
✎
03:59
|
(89) о чем это говорит? - надо сесть и вштырится КОНКРЕТНО в проблему. Но при это желательно обозревать и округу... а тоокажется как я говорю обычно - что гвоздь в рельсу забиваешь - да хоть кувалду возьми не пойдет... а оказывается что рельса с прошлого проекта... а здесь воощем и деревянный брус пойдет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |