Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Страховые взносы в ФСС РФ (версия 6.02.01.11)

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> SQL: ТЗК (Табельно-зарплатный контур)
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 лет ... Да, вроде должно сформироваться Smile)))))))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> SQL: ТЗК (Табельно-зарплатный контур) Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU