|
v7: Странное поведение отчета на SQL'льной базе. | ☑ | ||
---|---|---|---|---|
0
Maximysis
06.01.13
✎
16:31
|
Всем доброго дня.
При переходе на эскуэльную (MSSQL 2008 R2) базу один отчет стал формироваца дольше, с нарастанием. Под дбфной базой формировался около 5-10 минут, под сиквелом первый раз около часа затем 2часа. После ночного полного быкапа, вообще завис на 5 часов. Отчет в цикле бежит по большому справочнику номенклатуры + несколько циклов по бух итогам. Кто знает в чем может быть дело??? |
|||
1
Amra
06.01.13
✎
16:33
|
(0) В кривизне рук писавшего.
|
|||
2
Cthulhu
06.01.13
✎
16:33
|
в нескольких циклах по бухитогам.
|
|||
3
Maximysis
06.01.13
✎
16:33
|
Совместимость эскуэля 2005. Железка ксеон, 16г озу.
|
|||
4
zak555
06.01.13
✎
16:33
|
дело в нескольких циклах ?
|
|||
5
Maximysis
06.01.13
✎
16:36
|
(2) что с бух итогами под SQL не так, просветите.....
|
|||
6
Cthulhu
06.01.13
✎
16:36
|
(5): всё.
|
|||
7
Gepard
06.01.13
✎
16:39
|
плюс к этому все циклы поменять на запросы)
|
|||
8
Maximysis
06.01.13
✎
16:39
|
(1) гладко рукий подскажи начинающему в чем может быть грабля...
|
|||
9
Maximysis
06.01.13
✎
16:41
|
(7) цикл по справочнику менял на запрос, под скулем эфект тодже.
|
|||
10
zak555
06.01.13
✎
16:41
|
запрос будет или нет ?
|
|||
11
Maximysis
06.01.13
✎
16:42
|
первые запуски работает сравнительно быстро, нагрузка на базу одинаковая.
|
|||
12
ДенисЧ
06.01.13
✎
16:48
|
"Отчет в цикле бежит по большому справочнику номенклатуры +
несколько циклов по бух итогам" За такое - поставить мордой к стенке и пустить пулю в лоб, на 10 лет без права переписки |
|||
13
Maximysis
06.01.13
✎
16:50
|
вот так в запросе
|
|||
14
Maximysis
06.01.13
✎
16:50
|
ТекстЗапроса =
"//{{ЗАПРОС(ЗапросНов) |Период с ВыбНачПериода по ВыбКонПериода; |Код = Справочник.Товар.ТекущийЭлемент.Код; |Товар = Справочник.Товар.ТекущийЭлемент, Документ.Счет.Наименование,Документ.СчетАстана.Наименование,Документ.СчетПетро.Наименование,Документ.СчетСемей.Наименование,Документ.СчетАлматы.Наименование,Документ.СчетПавлодар.Наименование,Документ.СчетУК.Наименование,Документ.СчетКараганда.Наименование; |Кол = Документ.Счет.Кол,Документ.СчетАстана.Кол,Документ.СчетПетро.Кол,Документ.СчетСемей.Кол,Документ.СчетАлматы.Кол,Документ.СчетПавлодар.Кол,Документ.СчетУК.Кол,Документ.СчетКараганда.Кол; |ОтКол = Документ.Счет.ОтКол,Документ.СчетАстана.ОтКол,Документ.СчетПетро.ОтКол,Документ.СчетСемей.ОтКол,Документ.СчетАлматы.ОтКол,Документ.СчетПавлодар.ОтКол,Документ.СчетУК.ОтКол,Документ.СчетКараганда.ОтКол; |Заявка = Документ.Счет.Заявка,Документ.СчетАстана.Заявка,Документ.СчетПетро.Заявка,Документ.СчетСемей.Заявка,Документ.СчетАлматы.Заявка,Документ.СчетПавлодар.Заявка,Документ.СчетУК.Заявка,Документ.СчетКараганда.Заявка; |КолОст = Документ.Счет.КолОст,Документ.СчетАстана.КолОст,Документ.СчетПетро.КолОст,Документ.СчетСемей.КолОст,Документ.СчетАлматы.КолОст,Документ.СчетПавлодар.КолОст,Документ.СчетУК.КолОст,Документ.СчетКараганда.КолОст; |Мес = Документ.Счет.Мес,Документ.СчетАстана.Мес,Документ.СчетПетро.Мес,Документ.СчетСемей.Мес,Документ.СчетАлматы.Мес,Документ.СчетПавлодар.Мес,Документ.СчетУК.Мес,Документ.СчетКараганда.Мес; |Цена = Документ.Счет.ЦенаРасхода,Документ.СчетАстана.ЦенаРасхода,Документ.СчетПетро.ЦенаРасхода,Документ.СчетСемей.ЦенаРасхода,Документ.СчетАлматы.ЦенаРасхода,Документ.СчетПавлодар.ЦенаРасхода,Документ.СчетУК.ЦенаРасхода,Документ.СчетКараганда.ЦенаРасхода; |Контрагент = Документ.Счет.Контрагент,Документ.СчетАстана.Контрагент,Документ.СчетПетро.Контрагент,Документ.СчетСемей.Контрагент,Документ.СчетАлматы.Контрагент,Документ.СчетПавлодар.Контрагент,Документ.СчетУК.Контрагент,Документ.СчетКараганда.Контрагент; |ЗаявкаКлиент = Документ.Счет.ЗаявкаКлиент,Документ.СчетАстана.ЗаявкаКлиент,Документ.СчетПетро.ЗаявкаКлиент,Документ.СчетСемей.ЗаявкаКлиент,Документ.СчетАлматы.ЗаявкаКлиент,Документ.СчетПавлодар.ЗаявкаКлиент,Документ.СчетУК.ЗаявкаКлиент,Документ.СчетКараганда.ЗаявкаКлиент; |ДляКлиента = Документ.Счет.ДляКлиента,Документ.СчетАстана.ДляКлиента,Документ.СчетПетро.ДляКлиента,Документ.СчетСемей.ДляКлиента,Документ.СчетАлматы.ДляКлиента,Документ.СчетПавлодар.ДляКлиента,Документ.СчетУК.ДляКлиента,Документ.СчетКараганда.ДляКлиента; |Изм = Документ.Счет.Изм,Документ.СчетАстана.Изм,Документ.СчетПетро.Изм,Документ.СчетСемей.Изм,Документ.СчетАлматы.Изм,Документ.СчетПавлодар.Изм,Документ.СчетУК.Изм,Документ.СчетКараганда.Изм; |Опл = Документ.Счет.Оплачено,Документ.СчетАстана.Оплачено,Документ.СчетПетро.Оплачено,Документ.СчетСемей.Оплачено,Документ.СчетАлматы.Оплачено,Документ.СчетПавлодар.Оплачено,Документ.СчетУК.Оплачено,Документ.СчетКараганда.Оплачено; |Срок = Документ.Счет.Срокплатежа,Документ.СчетАстана.Срокплатежа,Документ.СчетПетро.Срокплатежа,Документ.СчетСемей.Срокплатежа,Документ.СчетАлматы.Срокплатежа,Документ.СчетПавлодар.Срокплатежа,Документ.СчетУК.Срокплатежа,Документ.СчетКараганда.Срокплатежа; |ПоказыватьВОтчете = Документ.Счет.ОтображатьВОбщихОстатках,Документ.СчетАстана.ОтображатьВОбщихОстатках,Документ.СчетПетро.ОтображатьВОбщихОстатках,Документ.СчетСемей.ОтображатьВОбщихОстатках,Документ.СчетАлматы.ОтображатьВОбщихОстатках,Документ.СчетПавлодар.ОтображатьВОбщихОстатках,Документ.СчетУК.ОтображатьВОбщихОстатках,Документ.СчетКараганда.ОтображатьВОбщихОстатках; |Группировка Товар упорядочить по Товар.Наименование; |Группировка Документ; |Группировка СтрокаДокумента; |Условие (ПоказыватьВОтчете=1); |"; |
|||
15
zak555
06.01.13
✎
16:52
|
(14) бухЗапрос не в може ?
|
|||
16
zak555
06.01.13
✎
16:52
|
*не в моде ?
|
|||
17
spock
06.01.13
✎
16:55
|
(14)Все хорошо в запросе и архитектуре, но, мне кажется, что проблема из-за этих документов: Семей и Петро.
|
|||
18
zak555
06.01.13
✎
16:55
|
> Товар = Справочник.Товар.ТекущийЭлемент, Документ.Счет.Наименование
это как ? |
|||
19
Maximysis
06.01.13
✎
16:58
|
(18)Наименование реквизит таблицы документа, тип справочник.
|
|||
20
zak555
06.01.13
✎
17:00
|
(19) документы никаких движений не делают ?
|
|||
21
Maximysis
06.01.13
✎
17:05
|
Вчера отчет РАБОТАЛ весь день. сегодня висит. Что код корявый, так это ясно, отчет не мой.
|
|||
22
Нуф-Нуф
06.01.13
✎
17:05
|
переходите на 8ку. там это реализовано
|
|||
23
zak555
06.01.13
✎
17:06
|
(21) перепиши
|
|||
24
zak555
06.01.13
✎
17:06
|
(22) там тоже будет тормозить
|
|||
25
Maximysis
06.01.13
✎
17:08
|
(20) нет не делают.
|
|||
26
zak555
06.01.13
✎
17:09
|
(25) я правильно понимаю, что документы СчетАстана/СчетПетро/СчетСемей... различаются только в наименование контрагента ?
|
|||
27
Эмбеддер
06.01.13
✎
17:13
|
такой запрос надо точно на SQL провести
странно еще что в тексте запроса нет "ОбрабатыватьДокументы Проведенные" |
|||
28
Maximysis
06.01.13
✎
17:18
|
(26) Нет, дебил, который писал эту конфигу, делал отдельные документы для каждого филиала.
Еще раз попытаюсь объяснить суть проблемы: Отчет вчера отработал весь день много раз (висит в планировщике). Сегодня одна отработка занимает 4,5 часа. Единственное, что делали в промежутке с сиквельной базой - ее полный бакап. То, что отчет кривой, понятно, но пока он работал, руки до него не доходили... |
|||
29
Maximysis
06.01.13
✎
17:19
|
(27) Так и должно быть.
|
|||
30
Maximysis
06.01.13
✎
17:23
|
(26) Счет.Астана.Наименование - это не контрагент, а реквизит табличной части, тип - Справочник.Товар
|
|||
31
МихаилМ
06.01.13
✎
17:24
|
замените
|Группировка Товар упорядочить по Товар.Наименование; на |Группировка Товар без упорядочивания; уже будет заметно быстрей |
|||
32
zak555
06.01.13
✎
17:24
|
(28) так сделай правильные документы - перенеси в них инфу, убей доки СчетАстана/СчетПетро/СчетСемей...
|
|||
33
Maximysis
06.01.13
✎
17:27
|
(31) Не могу. В выборке участвуют группы, которые должны лечь в выходную форму именно с сортировкой по наименованию
|
|||
34
kiruha
06.01.13
✎
17:29
|
(0)
Перепиши на прямые Будет сек 20 Ну и документы в запросе - это ужас |
|||
35
kiruha
06.01.13
✎
17:29
|
должен быть регистр
Если нет - надо завести |
|||
36
МихаилМ
06.01.13
✎
17:30
|
(33)
отсортируйте на клиенте в ТЗ. |
|||
37
Maximysis
06.01.13
✎
17:35
|
(32) так и делаем! Если бы вы видели, что было год назад в этой базе! Но время, время!
Сама запрос работает достаточно быстро, я проверял, и не цепляйтесь к запросу особо. Но вот дальше идет примерно следующее: Пока Запрос.Группировка("Товар")=1 Цикл ТМЦ=Запрос.Товар; Для Номер = 1 По СписокСчетов.РазмерСписка() Цикл Счет=СписокСчетов.ПолучитьЗначение(Номер); Остаток = Остаток + (БИ.СКД(текСчет, "К",, ТМЦ)); КонецЦикла А в списке счетов штук 10 ! |
|||
38
Maximysis
06.01.13
✎
17:43
|
(35) Точно, надо регистры завести... Перелопатить все документы, переписать все отчеты (а их в этой базе о-очень много), вместо того, чтобы заниматься переходом на 8-ку.
|
|||
39
Maximysis
06.01.13
✎
17:48
|
И таких списков счетов три штуки, плюс по одному из них еще и суммовые отстатки рассчитываются...
|
|||
40
Maximysis
06.01.13
✎
17:50
|
Вчера было нормально, сегодня - нет. Первый ночной бакап в промежутке. Что могло произойти??!!
|
|||
41
zak555
06.01.13
✎
17:53
|
(38) тогда переводи, а не выискивай причину тормозов
|
|||
42
Maximysis
06.01.13
✎
18:00
|
(41) См. (40) По делу есть что сказать? Без обид только, и без фраз типа "мы тебе помогаем, а ты еще и выпендриваешься?"
|
|||
43
КонецЦикла
06.01.13
✎
18:08
|
Ептыть
Вот так всегда, дятлы думают, что их спасет SQL 2008 или 2012, а может даже 1С 8.2 или 8.3 А сами пишут кривой код... |
|||
44
Maximysis
06.01.13
✎
18:16
|
(43) Ептыть, под дятлом ты себя в виду имеешь?
Все, закрыта тема, начались словоблудия.. |
|||
45
КонецЦикла
06.01.13
✎
18:19
|
(44) Я руководствуюсь принципом разумной необходимости
Нормально работает - не трогай Зачем тебе надо было использовать 2008 SQL если запросы не пишешь? |
|||
46
КонецЦикла
06.01.13
✎
18:24
|
Переписать этот отчет можно за один день с перекурами
И не нужно валить все на кривых предшественников Это проще всего - годами вспоминать какого-то дебила, сделавшего кривую структуру базы и кривые отчеты |
|||
47
Maximysis
06.01.13
✎
18:29
|
Насчет разумной необходимости - полностью согласен, сам ему стараюсь следовать. Сидели на дбф - я этот отчет не трогал - работает - у пусть работает, других дел по горло. И SQL я бы пока что в гробу видал, и запрос это не мой, сколько раз повторять?
Но размер 1sentry.dbf достиг 1,96 Гб, куда деваться было?! А базу резать нет возможности пока! Ребята, все-таки см (40) |
|||
48
Maximysis
06.01.13
✎
18:35
|
(46)Валю в данном случае. За полтора года из полного дерьма, где не было вообще ничего для бухгалтерии, я сделал хотя и не стандартную, но все-таки вполне рабочую конфигурацию, не знаете, какой объем работы пришлось сделать - сидите и не.. молчите
|
|||
49
КонецЦикла
06.01.13
✎
18:38
|
(48) Ну так и отчет переделай... или он был последней каплей? Иссякли силы? Давай помогу занидорага...
|
|||
50
Maximysis
06.01.13
✎
18:40
|
(49) Лучше над (40) подумай..
|
|||
51
КонецЦикла
06.01.13
✎
18:42
|
(50) Смахни пыль с констант :)
|
|||
52
VladZ
06.01.13
✎
18:48
|
(14) СчетАстана, СчетПетро, СчетСемей, СчетАлматы, СчетПавлодар,СчетУК - жуть... Найти, кто это писал и поставить ему клизму... Глядишь, поумнеет...
|
|||
53
КонецЦикла
06.01.13
✎
18:50
|
Вместе с бэкапом никаких регламентных действий не производилось? Настройки сервера остались прежними? Можно откатиться на какую-то резервную копию чтобы убедиться в причине.
|
|||
54
Нуф-Нуф
06.01.13
✎
18:50
|
||||
55
Maximysis
06.01.13
✎
19:31
|
(52) Счета на оплату - это мелочи.. Еще есть расходные накладные. Когда я пришел, не было ни кассы, ни банка, никаких счетов-фактур, основных средств, в одних документах Количество называлось Кол, в других - Колво, контрагенты были и Плательщиками, и Поставщиками, разделителя учета нет, и т.д. и т.п.
(53) Никаких регламентных, чистый бакап - и все. |
|||
56
КонецЦикла
06.01.13
✎
19:49
|
(55) Это был первый бэкап?
Можно восстановить в копию бэкап 2-3 дневной давности Можно поставить 2005 SQL Вообще отчеты бывают разными... я видел такое творение, когда отчет проводил документы... |
|||
57
Maximysis
06.01.13
✎
19:55
|
Первый. На скуль перешли 5-го числа.
А чем может спасет 2005 ? (не ирония, спрашиваю серьезно) |
|||
58
КонецЦикла
06.01.13
✎
20:01
|
(67) ХЗ... просто работает :)
Не видел отчет, но для SQL переборы - это обычно жесть Попробуй рестартануть сервер, неужели время формирования будет все время увеличиваться Перепиши да и делу конец |
|||
59
Maximysis
06.01.13
✎
20:13
|
Перешли на скуль 4-го, пардон, впрочем, не важно...
Рестарт буду сейчас пробовать, в Алмате только недавно работать магазины закончили.. Куда же от переборов-то деваться... :-) Ладно, всем спасибо за участие... пошел. |
|||
60
Злой Бобр
07.01.13
✎
17:35
|
(0) Переписывай отчет.
|
|||
61
raykom
07.01.13
✎
17:54
|
Налейте уже Бобру :)
|
|||
62
toypaul
гуру
07.01.13
✎
17:55
|
думаю что дело в "нескольких циклах по бухитогам", которые создают временные таблицы.
|
|||
63
toypaul
гуру
07.01.13
✎
17:57
|
2008й сервер ... тогда наверное нет. хотя... все может быть. можно запустить профайлер в отладчике и на коротком периоде посмотреть что именно тормозит.
|
|||
64
raykom
07.01.13
✎
17:59
|
(63)Ну наконец то ... (С)Гук
А то все говорят про как еще не зная что ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |