Имя: Пароль:
1C
1C 7.7
v7: Инструкция в SQL
,
0 pofigos
 
25.11.13
10:45
Доброе утро. Помогите определить, что примерно в 1С может выдавать такую инструкцию... Все намертво стают (


SELECT SUM(SD+OBDT1-OBKT1+OBDT2-OBKT2+OBDT3-OBKT3)
FROM ( SELECT ID FROM _1SACCS WITH (NOLOCK) WHERE PLANID=7636 AND SCHKOD>='006.' AND substring(SCHKOD,1,4)='006.' AND (SC0 = 5283 OR SC1 = 5283 OR SC2 = 5283)
AND (SC0 = 10105 OR SC1 = 10105 OR SC2 = 10105)
AND (SC0 = 10106 OR SC1 = 10106 OR SC2 = 10106)
) AS DT,_1SBKTTL BKTTL WITH (NOLOCK)
WHERE DATE='20131001' AND KIND='1'  AND PLANID=7636 AND ACCID=DT.ID AND ( BKTTL.VSC0=5283 AND BKTTL.SC0='     4       '
OR BKTTL.VSC1=5283 AND BKTTL.SC1='     4       '
OR BKTTL.VSC2=5283 AND BKTTL.SC2='     4       '
)
AND ( BKTTL.VSC0=10105 AND BKTTL.SC0='    1Y       '
OR BKTTL.VSC1=10105 AND BKTTL.SC1='    1Y       '
OR BKTTL.VSC2=10105 AND BKTTL.SC2='    1Y       '
)
AND ( BKTTL.VSC0=10106 AND BKTTL.SC0='3801076'
OR BKTTL.VSC1=10106 AND BKTTL.SC1='3801076'
OR BKTTL.VSC2=10106 AND BKTTL.SC2='3801076'
)
1 Ork
 
25.11.13
10:51
(0) Ясно же, что запрос к бухитогам/проводкам (_1SACCS)
по списку счетов
(SCHKOD>='006.' AND substring(SCHKOD,1,4)='006.' AND (SC0 = 5283 OR SC1 = 5283 OR SC2 = 5283)
AND (SC0 = 10105 OR SC1 = 10105 OR SC2 = 10105)
AND (SC0 = 10106 OR SC1 = 10106 OR SC2 = 10106)
)

с фильтром по списку субконто.
BKTTL.SC0='     4       '
OR BKTTL.VSC1=5283 AND BKTTL.SC1='     4       '
OR BKTTL.VSC2=5283 AND BKTTL.SC2='     4       '
...

За период '20131001'
2 pofigos
 
25.11.13
10:57
(1) Осталось найти. что делают в этот момент.. а главное кто.
Может кто подскажет, как отследить, если все работают через терминал. подключение к SQL через sa.
3 Mikeware
 
25.11.13
11:22
(2) ну тогда при старте приши в отдельную табличку pid процесса и имя пользователя.
4 pofigos
 
25.11.13
11:28
(3) Спасибо. думал другие решения возможны.
5 МихаилМ
 
25.11.13
11:30
(0)
vk_hook.dll
вам в помощь.
6 pofigos
 
25.11.13
11:36
Так же философский вопрос.. В виду скорого перехода на 8.2 организовываем работу по принципу SQL (стоит готовый) - сервер конфигурации(стоит готовый) - сервера терминалов (пока 2).
Как на практике 7-ка себя ведет с таким раскладом? Есть ли смысл сейчас разнести нагрузку на несколько терминальных серверов...

И видимо немного теории не помешает, если конечно кто сможет пояснить, как 7-ка себя ведет с таким разделением(нагрузка на сеть. хотя вряд ли будет, сервера стянуты гигабитным интерфейсом внутри своей подсети)?
7 Mikeware
 
25.11.13
11:44
(6) помониторь загрузку терминальников - и увидишь, стоит ли раззносить.
Да, и поставь вк_хук, если работаешь в терминале. пользительно.
8 pofigos
 
25.11.13
11:48
(7) В среднем при 1-м терминальном загрузка проца 40-50%, память примерно на 60-70% загружена. Бывает не редкая загрузка винта по 100% (увы, 1-й рейд на нем). Но это сама конфигурация находится на сервере терминалов. Планирую перенести на отдельный сервер, только не знаю, будет ли эффект.
9 Mikeware
 
25.11.13
11:51
(8) ну если назначить серверам роли - эффект будет. но не столь большой. от вк_хука эффект больше.
10 МихаилМ
 
25.11.13
11:52
(6)
создайте отдельную тему.
не устраивайте винигрет из тем.
11 КонецЦикла
 
25.11.13
11:54
(0) Откуда понял что "встают" из-за этой инструкции?
12 pofigos
 
25.11.13
11:57
(11) Просмотр в Management Studio в момент всеобщего зависона отчетом : Активность- все блокирующие транзакции.
13 pofigos
 
25.11.13
12:00
(10) Извиняюсь, но как мне кажется, в этой проблеме я смотрю и на код и на аппаратную часть. Естественно пытаюсь править то, что было написано предшественниками,но и серверные части так же хотелось бы привести в порядок, чтобы не косится на них уже.
14 pofigos
 
25.11.13
12:03
(12) в дополнении экселька отчета на момент проблемы в работе http://rghost.ru/50434534