Имя: Пароль:
1C
1C 7.7
v7: Тормоза журнала.
0 Eeakie
 
22.10.13
13:50
Добрый день. Знаю, что тема неоднократно обсуждалась, но из прочитанного для себя так ничего вынести и не смог.

При открытии журнала делается отбор по графе. На форме 1 несчастная функция.
Со вчерашнего дня при открытии происходит зависон на пару-тройку секунд. После открытия при скроллинге и выделении строки журнала такая же беда. В отладчике просмотрел весь код. По замерам на выполнение уходят сотые секунды. Похоже на то, что висяки находятся где-то между обращением к журналу и выполнением его кода. Подскажите, люди добрые, в чем проблема.
2 Voronve
 
22.10.13
13:52
1cv7.cfg в каталоге базы/пользователя какой размер имеют ?
3 Eeakie
 
22.10.13
13:52
(2) 3 кб.
4 Voronve
 
22.10.13
13:53
переименуй его. попробуй как будет работать
5 Eeakie
 
22.10.13
13:54
(2) у пользователей 3-5 кб.
6 Eeakie
 
22.10.13
13:54
Кстати, тормоза могут пропадать по своей прихоти.
7 ЧеловекДуши
 
22.10.13
13:54
(0)
Смотри В ... :
- Количество документов в одном дне.
- Кривизна рук, желающих видеть все реквизиты всех документов.
- Только прямые запросы спасут отца демократии :)

Ну и, что за конфигурация? :)
8 Попытка1С
 
22.10.13
13:54
А что за функция то?
9 Eeakie
 
22.10.13
13:55
(7) ТиС, написанный заново ;)
(8) Показывает суммы по документам.
10 Попытка1С
 
22.10.13
13:56
Покажи функцию.
11 viktor_vv
 
22.10.13
13:57
(9) Ну суммы можно по разному показывать, в том числе и с тормозами.
12 Eeakie
 
22.10.13
13:57
(4) тормоза в очередной раз пропали. Пока что не могу проверить.
13 Voronve
 
22.10.13
13:58
(12) ОбработкаОжидания используется ?
14 Eeakie
 
22.10.13
13:59
Если (ТекущийДокумент.Вид() = "РасходнаяБН") или (ТекущийДокумент.Вид() = "РасходнаяБН1")
или (ТекущийДокумент.Вид() = "Счет") или (ТекущийДокумент.Вид() = "ПриходнаяБН")
или (ТекущийДокумент.Вид() = "Заявка") Тогда
    Возврат Формат(ТекущийДокумент.Итог("Сумма") + ТекущийДокумент.Итог("НДС"), "Ч19.2, ");
ИначеЕсли (ТекущийДокумент.Вид() = "ПриходДенегНаСчет") Тогда  
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
        ТекущийДокумент.ВыбратьСтроки();        
        СуммаПоКлиенту=0;
        Пока ТекущийДокумент.ПолучитьСтроку()=1 Цикл
            Если ТекущийДокумент.Клиент=Форма.Параметр Тогда
                СуммаПоКлиенту=СуммаПоКлиенту+ТекущийДокумент.Сумма;                    
            КонецЕсли;                                        
        КонецЦикла;                              
        Возврат Формат(СуммаПоКлиенту, "Ч19.2, ");
    Иначе
        Возврат Формат(ТекущийДокумент.Итог("Сумма"), "Ч19.2, ");        
    КонецЕсли;
ИначеЕсли ТекущийДокумент.Вид() = "Контакт" Тогда
    Содержание = ТекущийДокумент.Содержание;
    Возврат СокрЛП(Содержание);
ИначеЕсли ТекущийДокумент.Вид() = "ИсходящееПисьмо" Тогда
    Содержание = ТекущийДокумент.Содержание;
    Возврат СокрЛП(Содержание);
Иначе  
    Возврат ""; //СокрЛП(Формат(Сумма, "Ч19.2, "));
КонецЕсли;
15 Eeakie
 
22.10.13
13:59
(13) нет.
16 Chum
 
22.10.13
14:00
(0) SQL?

Если скульная база, если субд старше 2000 и если не используется "секретный релиз", то это проблема скуля. Есть такая проблема, начинается перебор записей вместо запроса или как-то так, и ее можно погуглить. Обычно начинается с журнала подчиненных документов, потом распространяется на списки справочников и другие журналы документов.
17 Eeakie
 
22.10.13
14:00
(16) Да, на скуле...
18 Voronve
 
22.10.13
14:01
ТекДок = ТекущийДокумент; и везде сменить ТекущийДокумент на ТекДок
19 Попытка1С
 
22.10.13
14:02
1с++ подключена?
20 Eeakie
 
22.10.13
14:02
(19) Да.
21 Voronve
 
22.10.13
14:03
(18) + а вообще вынеси функцию в глобальник - передавай параметром ТекущийДокумент в нее, как в типовом ТиСе сделано
22 Eeakie
 
22.10.13
14:04
(18) Изменил, тормоза остались.
23 Eeakie
 
22.10.13
14:07
(16) СУБД ровно с 2000. Семерки брали у МиСофта.
24 Chum
 
22.10.13
14:08
(22) погугли про 1с 7.7 и курсоры в sql. пару лет назад у нас прямо эпидемия была: семерочные базы ни с того, ни с сего начинали жутко тормозить, причем искали причины везде.
Проверяли нагрузку на серванты, нагрузку на сеть, пропускную способность сети, утилизацию всего и вся. Совершенно рандомно зависоны начинались и прекращались также внезапно, а могли и сутками не исчезать. Висели журналы, были тормоза при открытии формы документов и т.д. Чем-то вылечили, а вот чем и как именно не подскажу к сожалению.
25 КонецЦикла
 
22.10.13
14:09
Профайлером проходилсо?

(16) Типа опухоли штоле? о_О
26 kiruha
 
22.10.13
14:09
(14)
Заведи Реквизит СуммаДокумента - пишу туда сумму документа
Все будет летать
Содержание в отдельную колонку
27 Voronve
 
22.10.13
14:12
"ПриходДенегНаСчет"
Перебор убрать - тормоза остаются ?
28 КонецЦикла
 
22.10.13
14:12
Параметр передается в форму или нет?
Переборы строк, конечно, не совсем нормальное решение
Им именно в журнале надо видеть кто сколько заплатил в каждой выписке? И весело крутить колесико мыши?
29 Ёпрст
 
22.10.13
14:14
(26) в типовых, она и так есть - суммаВзаиморасчетов .. ежели это Тис/компл.
30 Eeakie
 
22.10.13
14:15
Полностью комментил эту функцию. Никаких изменений.
31 Chum
 
22.10.13
14:15
(25) типа того
32 КонецЦикла
 
22.10.13
14:16
Смахнуть пыль со статистики, протереть сервер?
33 Eeakie
 
22.10.13
14:16
(28) Да, параметр передается. И именно по нему идет отбор.
34 Eeakie
 
22.10.13
14:18
(28) Можно сказать, что этот журнал является историей клиента. Все документы по выбранному клиенту.
35 Eeakie
 
22.10.13
14:29
Кое что перепутал. Стоит SQLServer 2008R2...
36 Попытка1С
 
22.10.13
14:31
(35) и 1с8 ? )
37 Eeakie
 
22.10.13
14:52
(36) Не, клюшки стоят. И конфликтов до сих пор не было :)
38 varelchik
 
22.10.13
15:19
(35) Интересно и как он без секретного релиза работает?
39 varelchik
 
22.10.13
15:20
у меня solution 7 стоит и никаких тормозов.
40 Eeakie
 
22.10.13
15:24
(38) Местные мастера как-то допиливали BkEnd самостоятельно и всё работало. Сейчас перестало...
*сижу ставлю solution7*
41 Eeakie
 
22.10.13
15:27
Всем спасибо. Извините за беспокойство и неполную информацию :)
42 Eeakie
 
22.10.13
16:27
Развернул на скуле базу. Поставил совместимость с 2008.
Установил чистую платформу (правда кроме Unisetup ничего не нашлось). Переименовал оригинальный BkEnd и кинул в BIN файлики с solution7.
Развернул бэкап. Пытаюсь запустить. Вижу следующее:
http://i60.fastpic.ru/big/2013/1022/3c/dc8ad39e606c92f9c31c16f9c69bcf3c.jpg

Косяк в платформе?
43 Eeakie
 
22.10.13
16:42
Товарищи хорошие, подскажите, что делаю не так? Гугл не помогает. Вся надежда на вас.
44 kiruha
 
22.10.13
16:58
45 Eeakie
 
22.10.13
17:00
(44) солюшн или мануал, по которому делал? Хотя и то, и другое отсюда.
46 Eeakie
 
22.10.13
17:01
(44) кроме одного. Платформа была установлена из 1c77_027_Unisetup (соответственно, ХАСП не понадобился).
47 kiruha
 
22.10.13
17:15
Ну так там в инструкции ставить из ориг установщика

"Установить платформу из оригинального установщика;
Установить и настроить HASP-ключ (обязательное условие, а то к вам придут врачи);"

мало чего там в уни сетуп наменяли
48 Eeakie
 
22.10.13
17:18
(47) теперь надо думать где его взять.
49 pofigos
 
23.10.13
01:15
(42) На каком этапе вылетает ошибка?

У меня такой же разворот на тестовом серваке.. полет нормальный. Одним из обязательных условий было еще выполнение реструктуризации.
Server 2008 + sql2008 r2
50 pofigos
 
23.10.13
01:18
+(49) Попробовать по порядку:
1. Вернуть совместимость 2000
2. Выполнить реструктуризацию.

далее выполнять все остальные манипуляции.
51 КонецЦикла
 
23.10.13
01:22
У меня какая-то поипень была с курсором, который в несуществующую таблицу лез
SQL Express 2005 на Windows 7 32
Пока отложил
Реструктуризация и прочее не помогло, правда сетап не оригинальный
52 pofigos
 
23.10.13
01:26
(51) что нить из этого менялось: odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll?
53 КонецЦикла
 
23.10.13
01:34
(52) Да, c хр брал, иначе же не заводилось
Блин, хоть ось другую ставь, но комп не мой, да и не хочется
Что советнешь?
54 pofigos
 
23.10.13
01:40
(53) Честно, на Win7 тоже менял.. ошибки и вылеты были..
На Серверную 2008 ОС ничего не менялось, кроме заливки solution7 и управление групповыми политиками (отключение контроля записей).
Посоветовать, что делать на данный момент, мало что смогу, описал лишь свою установку и проблем не возникает (по крайне мере сейчас).
Как вариант установка головой ОС, установка SQL, 1С. Установка Секретного релиза.Больше ничего не нужно менять. пробовать запускать в режиме совместимости с 2000 для начала. потом уже поднимать совместимость.
55 pofigos
 
23.10.13
01:42
+(54) Пробовать на 7-ке так же можно.
56 pofigos
 
23.10.13
01:45
Оригинальные odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll от Win 7 или Server 2008 могу скинуть в архиве.
57 КонецЦикла
 
23.10.13
01:50
(56) Отлично, скинь плиз для Win 7 32 bit если есть, только у меня 2005 SQL Express
Та хоть как-то... нанотехнологий там нет, пять калек сидит

info<СОБАКА>1c911.by
58 pofigos
 
23.10.13
01:54
(57)Беларусь )) коллега...
Отправил
59 varelchik
 
23.10.13
09:30
(0) Ты все по инструкции делал?
Там же явно указано: Нечего оригинального не менять!
60 pofigos
 
23.10.13
10:36
(0) Если вдруг перезаписаны оригинальные файлы из (52).

http://yadi.sk/d/8UTkzNUhBRVG4

В архиве Win7 и Server 2008
61 Eeakie
 
23.10.13
13:24
Все поставил. По старой привычке не ту одинэсину запускал ;) Совместимость с 2008 на ура. Никаких тормозов.

(57),(58) А я до Минска еще не добрался, но уже скоро ;)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой