Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пт Июл 05, 2013 13:37 Заголовок сообщения: Страховые взносы в ФСС РФ (версия 6.02.01.11) |
|
|
Доброго дня.
В обновленной версии не формируется отчет "Страховые взносы в ФСС РФ" по всему предприятию. Прерывается сообщением об ошибке: "Query timeout expired". По отдельному подразделению отчет формируется, предположительно, из-за меньшего объема данных.
Как это можно исправить, что бы сформировать отчет по всему предприятию?
Заранее спасибо! |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пт Июл 05, 2013 14:13 Заголовок сообщения: |
|
|
Установил remote_query_timeout = 100000000. Посмотрим, что из этого выйдет. |
|
Вернуться к началу |
|
 |
DUCKKK Большой шоколадный орден

Зарегистрирован: 16.09.2009 Сообщения: 1691
|
Добавлено: Пт Июл 05, 2013 14:21 Заголовок сообщения: |
|
|
Для таймаута единица - это секунда ...
То есть Вы установили где-то чуть больше 3 лет ... Да, вроде должно сформироваться ))))))) |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пт Июл 05, 2013 16:07 Заголовок сообщения: |
|
|
Да-да, именно на это и рассчитываю =)
На данный момент прошло 2 часа с момента запуска, формирование все еще продолжается. |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пт Июл 05, 2013 17:58 Заголовок сообщения: |
|
|
Беда с отчетом: до сих пор молотит. Подозреваю, что уже без толка, но тем не менее оставлю на ночь.
В версии 6.02.01.10 сейчас сформировался без проблем.
Может у кого-нибудь есть идеи, на тему как этот отчет таки сформировать? |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пт Июл 05, 2013 23:40 Заголовок сообщения: |
|
|
Ниже приведен код вызывающий зависание:
Код: | SELECT
sl.auto_card,
sl.prID,
sl.pID,
sl.cmonth,
sl.cmr,
IsNull((select Sex
from card WITH(NOLOCK)
where auto_card = sl.auto_card),0) as Sex,
shop,
IsNull(SUM(summa2 ),0) as summa2,
IsNull(SUM(summa8 ),0) as summa8,
IsNull(SUM(summa11),0) as summa11,
IsNull(SUM(summa14),0) as summa14,
IsNull(SUM(summa2+summa8+summa11+summa14),0) as summa,
IsNull(SUM(sk2 ),0) as sk2,
IsNull(SUM(sk8 ),0) as sk8,
IsNull(SUM(sk11),0) as sk11,
IsNull(SUM(sk14),0) as sk14,
IsNull(SUM(sk2+sk8+sk11+sk14),0) as sk,
IsNull(SUM(nb2 ),0) as nb2,
IsNull(SUM(nb8 ),0) as nb8,
IsNull(SUM(nb11),0) as nb11,
IsNull(SUM(nb14),0) as nb14,
IsNull(SUM(nb2+nb8+nb11+nb14),0) as nb,
IsNull(SUM(tax_FSS ),0) as tax_FSS,
IsNull(SUM(tax_FSS_S),0) as tax_FSS_S,
IsNull(SUM(tax_FSS_U),0) as tax_FSS_U,
IsNull(SUM(tax_FSS_P),0) as tax_FSS_P,
IsNull(SUM(tax_FSS+tax_FSS_S+tax_FSS_U+tax_FSS_P),0) as taxAll,
IsNull(SUM(case Alien when 0 then kd_973_2 end),0) as kd_973_2,
IsNull(SUM(case Alien when 0 then kd_973_8 end),0) as kd_973_8,
IsNull(SUM(case Alien when 0 then kd_973_11 end),0) as kd_973_11,
IsNull(SUM(case Alien when 0 then kd_973_14 end),0) as kd_973_14,
IsNull(SUM(case Alien when 0 then kd_973_2+kd_973_8+kd_973_11+kd_973_14 end),0) as kd_973,
IsNull(SUM(sp2 ),0) as sp2,
IsNull(SUM(sp8 ),0) as sp8,
IsNull(SUM(sp11),0) as sp11,
IsNull(SUM(sp14),0) as sp14,
IsNull(SUM(sp2+sp8+sp11+sp14),0) as sp,
MAX(check_O) as check_O,
MAX(check_S) as check_S,
MAX(check_U) as check_U,
MAX(check_P) as check_P,
0 as bol,
IsNull(sum(summaFSSN + summaFSSN32),0) as summaFSSN,
IsNull(sum(summaFSSN32),0) as summaFSSN32,
IsNull(sum(sk444),0) as summa444,
IsNull(sum(tax_FSSN),0) as tax_FSSN,
IsNull(sum(profession),0) profession,
IsNull(sum(profession_day),0) profession_day,
Sum(profession_incident) profession_incident,
IsNull(sum(trauma),0) trauma,
IsNull(sum(trauma_day),0) trauma_day,
Sum(trauma_incident) trauma_incident,
is_main,
avg_list,
IsNull(sum(therapy),0) therapy,
IsNull(sum(therapyDays),0) therapyDays
INTO "#sl_uni_tax"
FROM (
SELECT
sl_uni_tax.cmonth,
sl_uni_tax.pid,
sl_uni_tax.prId,
sl_uni_tax.auto_card,
sl_uni_tax.shop,
sl_uni_tax.cmr,
(CASE dbo.zrp_fn_getAttrib(sl_uni_tax.auto_card, 'CARD',sl_uni_tax.cmonth,'СВНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE (CASE dbo.zrp_fn_getAttrib(sl_uni_tax.auto_card, 'CARD',sl_uni_tax.cmonth,'ФССНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE 0
END)
END) as Alien,
(CASE WHEN sl_uni_tax.t = 2 AND kd NOT IN (971,976) THEN sl_uni_tax.summa ELSE 0 END) as summa2,
(CASE WHEN sl_uni_tax.t = 8 AND kd NOT IN (971,976) THEN sl_uni_tax.summa ELSE 0 END) as summa8,
(CASE WHEN sl_uni_tax.t =11 AND kd NOT IN (971,976) THEN sl_uni_tax.summa ELSE 0 END) as summa11,
(CASE WHEN sl_uni_tax.t =14 AND kd NOT IN (971,976) THEN sl_uni_tax.summa ELSE 0 END) as summa14,
(CASE WHEN sl_uni_tax.t = 2 AND sl_uni_tax.kd NOT IN (971,975,976) THEN sl_uni_tax.sk ELSE 0 END) sk2,
(CASE WHEN sl_uni_tax.t = 8 AND sl_uni_tax.kd NOT IN (971,975,976) THEN sl_uni_tax.sk ELSE 0 END) sk8,
(CASE WHEN sl_uni_tax.t = 11 AND sl_uni_tax.kd NOT IN (971,975,976) THEN sl_uni_tax.sk ELSE 0 END) sk11,
(CASE WHEN sl_uni_tax.t = 14 AND sl_uni_tax.kd NOT IN (971,975,976) THEN sl_uni_tax.sk ELSE 0 END) sk14,
(CASE WHEN sl_uni_tax.t = 2 THEN sl_uni_tax.summa-sl_uni_tax.sk ELSE 0 END) as nb2,
(CASE WHEN sl_uni_tax.t = 8 THEN sl_uni_tax.summa-sl_uni_tax.sk ELSE 0 END) as nb8,
(CASE WHEN sl_uni_tax.t = 11 THEN sl_uni_tax.summa-sl_uni_tax.sk ELSE 0 END) as nb11,
(CASE WHEN sl_uni_tax.t = 14 THEN sl_uni_tax.summa-sl_uni_tax.sk ELSE 0 END) as nb14,
sl_uni_tax.tax_FSS,
sl_uni_tax.tax_FSS_S,
sl_uni_tax.tax_FSS_U,
sl_uni_tax.tax_FSS_P,
(CASE WHEN sl_uni_tax.t = 2 AND sl_uni_tax.kd IN (973,976) THEN sl_uni_tax.summa ELSE 0 END) as kd_973_2,
(CASE WHEN sl_uni_tax.t = 8 AND sl_uni_tax.kd IN (973,976) THEN sl_uni_tax.summa ELSE 0 END) as kd_973_8,
(CASE WHEN sl_uni_tax.t = 11 AND sl_uni_tax.kd IN (973,976) THEN sl_uni_tax.summa ELSE 0 END) as kd_973_11,
(CASE WHEN sl_uni_tax.t = 14 AND sl_uni_tax.kd IN (973,976) THEN sl_uni_tax.summa ELSE 0 END) as kd_973_14,
(CASE WHEN sl_uni_tax.t = 2 AND sl_uni_tax.kd = 975 THEN sl_uni_tax.sk ELSE 0 END) as sp2,
(CASE WHEN sl_uni_tax.t = 8 AND sl_uni_tax.kd = 975 THEN sl_uni_tax.sk ELSE 0 END) as sp8,
(CASE WHEN sl_uni_tax.t = 11 AND sl_uni_tax.kd = 975 THEN sl_uni_tax.sk ELSE 0 END) as sp11,
(CASE WHEN sl_uni_tax.t = 14 AND sl_uni_tax.kd = 975 THEN sl_uni_tax.sk ELSE 0 END) as sp14,
(CASE WHEN sl_uni_tax.t = 6 THEN sl_uni_tax.summa-sl_uni_tax.sk ELSE 0.0 END) summaFSSN,
(CASE WHEN sl_uni_tax.t = 6 AND sl_uni_tax.kd >= 310 AND sl_uni_tax.kd <= 323 THEN sl_uni_tax.sk ELSE 0.0 END) summaFSSN32,
(CASE WHEN sl_uni_tax.t = 6 AND NOT(sl_uni_tax.kd >= 310 AND sl_uni_tax.kd <= 323) THEN sl_uni_tax.sk ELSE 0 END) sk444,
sl_uni_tax.tax_FSSN,
sl_uni_tax.check_O,
sl_uni_tax.check_S,
sl_uni_tax.check_U,
sl_uni_tax.check_P,
0 as profession,
0 as profession_day,
0 as profession_incident,
0 as trauma,
0 as trauma_day,
0 as trauma_incident,
0 as is_main,
0 as avg_list,
0 as therapy,
0 as therapyDays
FROM "#tmp_tax" sl_uni_tax WITH(NOLOCK)
WHERE 1 = 1
UNION ALL
SELECT
L.cMonth,
L.pid,
L.prId,
L.auto_card,
L.shop,
0 as cmr,
(CASE dbo.zrp_fn_getAttrib(L.auto_card, 'CARD',L.cmonth,'СВНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE (CASE dbo.zrp_fn_getAttrib(L.auto_card, 'CARD',L.cmonth,'ФССНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE 0
END)
END) as Alien,
0 as summa2,
0 as summa8,
0 as summa11,
0 as summa14,
0 as sk2,
0 as sk8,
0 as sk11,
0 as sk14,
0 as nb2,
0 as nb8,
0 as nb11,
0 as nb14,
0 as tax_FSS,
0 as tax_FSS_S,
0 as tax_FSS_U,
0 as tax_FSS_P,
0 as kd_973_2,
0 as kd_973_8,
0 as kd_973_11,
0 as kd_973_14,
0 as sp2,
0 as sp8,
0 as sp11,
0 as sp14,
0 as summaFSSN,
0 as summaFSSN32,
0 as sk444,
0 as tax_FSSN,
0 as check_O,
0 as check_S,
0 as check_U,
0 as check_P,
Sum(L.profession) as profession,
Sum(L.profession_day) as profession_day,
Count(DISTINCT L.profession_incident) as profession_incident,
Sum(L.trauma) as trauma,
Sum(L.trauma_day) as trauma_day,
Count(DISTINCT L.trauma_incident) as trauma_incident,
is_main,
avg_list,
0 as therapy,
0 as therapyDays
FROM ( SELECT
L.cMonth,
L.pid,
(CASE L.N_dir WHEN 4 THEN L.r_ID ELSE pr.prID END) as prId,
pr.auto_card,
L.shop,
(CASE WHEN t.code_operat = 5 THEN L.Summa ELSE 0 END) profession,
(CASE WHEN t.code_operat = 5 THEN l.cdays ELSE 0 END) profession_day,
(CASE WHEN t.code_operat = 5 THEN (CASE WHEN IsNull(auto_ill_cont,0)=0 THEN l.r_id ELSE NULL END) ELSE NULL END) profession_incident,
(CASE WHEN t.code_operat <> 5 THEN L.Summa ELSE 0 END) trauma,
(CASE WHEN t.code_operat <> 5 THEN l.cdays ELSE 0 END) trauma_day,
(CASE WHEN t.code_operat <> 5 THEN (CASE WHEN IsNull(auto_ill_cont,0)=0 THEN l.r_id ELSE NULL END) ELSE NULL END) trauma_incident,
VPR_WK_TYPE.Work_Status as is_main,
pr.AVG_List
FROM Lic L WITH(NOLOCK)
JOIN "#emps" as d WITH(NOLOCK) ON L.pid = d.pid
INNER JOIN pr_ill b WITH(NOLOCK) ON l.r_id = b.auto_ill
INNER JOIN typ_ill t WITH(NOLOCK) ON b.code_ill = t.code_ill AND t.code_operat IN (1,5,6)
INNER JOIN pr_current pr WITH(NOLOCK) ON L.pid = pr.pid AND pr.id_firm = 1 AND (SELECT pr_ill.FromD
FROM pr_ill WITH(NOLOCK)
WHERE pr_ill.auto_ill=l.r_ID) BETWEEN pr.date_trans AND pr.date_depart
LEFT OUTER JOIN VPR_WK_TYPE WITH(NOLOCK) ON pr.Work_Code = VPR_WK_TYPE.Work_Code
LEFT JOIN (SELECT shop as id_structs, id_firm_op, cm_from, cm_to FROM dbo.zrp_fn_OP(1,default)) as ff ON ff.id_structs = L.shop AND L.cmonth BETWEEN cm_from AND cm_to
WHERE
l.id_firm = 1
AND l.N_dir = 6
AND l.cmonth BETWEEN 24157 AND 24162
AND L.Code_pay IN ( SELECT
typ_pay_pay.Code_Pay
FROM
typ_Pay_tbl WITH(NOLOCK),
typ_Pay_Pay WITH(NOLOCK)
WHERE
typ_Pay_tbl.Code_Pay_tbl = typ_Pay_Pay.Code_Pay_tbl
AND typ_Pay_tbl.sname = '_тВх_больнСС'
AND l.cmonth BETWEEN typ_Pay_Pay.cm_From AND typ_Pay_Pay.cm_To ) ) as L
GROUP BY
L.cMonth,
L.pid,
L.prId,
L.auto_card,
L.shop,
L.is_main,
L.avg_list
UNION ALL
SELECT
L.cMonth,
L.pid,
pr.prId,
d.auto_card,
L.shop,
0 as cmr,
(CASE dbo.zrp_fn_getAttrib(d.auto_card, 'CARD',L.cmonth,'СВНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE (CASE dbo.zrp_fn_getAttrib(d.auto_card, 'CARD',L.cmonth,'ФССНЕ_ВЗИМАЕТСЯ') WHEN 1 THEN 1
ELSE 0
END)
END) as Alien,
0 as summa2,
0 as summa8,
0 as summa11,
0 as summa14,
0 as sk2,
0 as sk8,
0 as sk11,
0 as sk14,
0 as nb2,
0 as nb8,
0 as nb11,
0 as nb14,
0 as tax_FSS,
0 as tax_FSS_S,
0 as tax_FSS_U,
0 as tax_FSS_P,
0 as kd_973_2,
0 as kd_973_8,
0 as kd_973_11,
0 as kd_973_14,
0 as sp2,
0 as sp8,
0 as sp11,
0 as sp14,
0 as summaFSSN,
0 as summaFSSN32,
0 as sk444,
0 as tax_FSSN,
0 as check_O,
0 as check_S,
0 as check_U,
0 as check_P,
0 as profession,
0 as profession_day,
0 as profession_incident,
0 as trauma,
0 as trauma_day,
0 as trauma_incident,
0 as is_main,
0 as avg_list,
L.summa as therapy,
L.cdays as therapyDays
FROM Lic L WITH(NOLOCK)
JOIN "#emps" as d WITH(NOLOCK) ON L.pid = d.pid
JOIN pr_current pr WITH(NOLOCK) ON L.pid = pr.pid
AND pr.id_firm = 1
AND ( CASE L.N_dir
WHEN 4 THEN L.r_ID
WHEN 5 THEN (SELECT pr_leave.FromD
FROM pr_leave WITH(NOLOCK)
WHERE pr_leave.auto_leave=L.r_ID)
WHEN 25 THEN (SELECT TOP 1 pr_leave.FromD
FROM pr_leave, pr_leave_add WITH(NOLOCK)
WHERE pr_leave.auto_leave=pr_leave_add.auto_leave AND pr_leave_add.id=L.r_ID)
ELSE DATEADD(day, -1, DATEADD( Month, 1, CONVERT ( datetime, convert( varchar(4), floor((L.cmonth-1)/12) ) + '-' + right('00'+convert(varchar(2),(L.cmonth-1)%12+1),2) + '-01' ) ))
END) BETWEEN pr.date_trans AND pr.date_depart
LEFT JOIN pr_leave WITH(NOLOCK)
JOIN typ_leave T WITH(NOLOCK)
JOIN pr_group_value WITH(NOLOCK)
JOIN pr_group WITH(NOLOCK) ON pr_group.id = pr_group_value.id_group
AND pr_group.reference = 'TYP_LEAVE'
AND pr_group.sname = 'ФСС_ОПЛАТА_ЛЕЧЕНИЯ' ON pr_group_value.id_ref = T.Code_Leave
ON pr_leave.code_leave = T.code_leave
ON pr_leave.auto_leave=L.r_ID AND L.N_dir =5
LEFT JOIN pr_leave_add WITH(NOLOCK)
JOIN typ_Leave_add TA WITH(NOLOCK)
JOIN pr_group_value PGV WITH(NOLOCK)
JOIN pr_group PG WITH(NOLOCK) ON PG.id = PGV.id_group
AND PG.reference = 'TYP_LEAVE_ADD'
AND PG.sname = 'ФСС_ОПЛАТА_ЛЕЧЕНИЯ' ON PGV.id_ref = TA.id
ON pr_leave_add.Code_Leave_add = TA.id
ON pr_leave_add.id=L.r_ID AND L.N_dir =25
LEFT JOIN (SELECT shop as id_structs, id_firm_op, cm_from, cm_to
FROM dbo.zrp_fn_OP(1,default)) as ff ON ff.id_structs = L.shop
AND L.cmonth BETWEEN cm_from AND cm_to
WHERE
l.N_dir IN (5,25)
AND l.cmonth BETWEEN 24157 AND 24162
AND l.id_firm = 1
AND (TA.id IS NOT NULL OR T.code_leave IS NOT NULL) ) as sl
GROUP BY
sl.auto_card,
sl.prID,
sl.cmonth,
sl.pid,
sl.shop,
sL.is_main,
Sl.avg_list,
sl.cmr |
|
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 450
|
Добавлено: Пн Июл 08, 2013 09:25 Заголовок сообщения: |
|
|
Обещают исправить.
тормозит вызов функции zrp_fn_getAttrib |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 450
|
Добавлено: Пн Июл 08, 2013 09:26 Заголовок сообщения: |
|
|
если на предприятии нет иностранцев, то вызов функции можно отключить |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пн Июл 08, 2013 09:30 Заголовок сообщения: |
|
|
RVV, спасибо за ответ.
Иностранцев как раз достаточно. |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 450
|
Добавлено: Пн Июл 08, 2013 10:33 Заголовок сообщения: |
|
|
Тогда обратитесь на техподдержку |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Пн Июл 08, 2013 11:46 Заголовок сообщения: |
|
|
На техподдержку обратиться не имею возможности.
Попробовал немного переделать функцию "zrp_fn_getAttrib", отчет сформировался, данные сейчас проверяем. Вдруг кому-нибудь пригодится:
Код: | USE [prod]
GO
/****** Object: UserDefinedFunction [dbo].[user_zrp_fn_getAttrib] Script Date: 08.07.2013 11:42:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[user_zrp_fn_getAttrib] (@idRef as integer, @cmonth as integer, @idAttrib as tinyint)
/*
МОДУЛЬ: Расчет зарплаты
НАЗНАЧЕНИЕ: Чтение доп.атрибута на дату
ПАРАМЕТРЫ: @idRef as integer ссылка на источник данных
@cmonth as integer дата в формате CMONTH
@idAttrib as tinyint ID доп.атрибута в таблице PR_GROUP
ВОЗВРАЩАЕТ: Признак 1 - доп.атрибут установлен 0 - нет
*/
RETURNS tinyint AS
BEGIN
DECLARE @retValue tinyint
SET @retValue = IsNull(
(
SELECT TOP 1 1
FROM
pr_group G WITH (NOLOCK)
INNER JOIN
pr_group_value V WITH (NOLOCK) ON G.id = V.id_group AND
V.id_ref = @idRef AND
(YEAR(V.FromD)*12+MONTH(V.FromD)<= @cmonth OR YEAR(V.FromD) = 1900) AND
(YEAR(V.ToD)*12+MONTH(V.toD) >= @cmonth OR YEAR(V.Tod) = 2099)
WHERE
G.id = @idAttrib
),0)
RETURN @retValue
END
GO
|
|
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|