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

Ошибка при формировании РСВ

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



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 10:49    Заголовок сообщения: Ошибка при формировании РСВ Ответить с цитатой

Здравствуйте!
Извините сразу за объем (селект привел целиком).
Разъясните, пожалуйста, 2 вопроса, касаемых РСВ. Буду крайне признателен за наводку на причину во втором вопросе, где искать?..

1. Вопрос оформительский. Подписи под отчетностью предприятия ставит глав.бух (по доверенности). Бухгалтер настаивает, что в xml-файле РСВ обязана быть строка с доверенностью, как и при формировании 6-НДФЛ. Она права или нет? В справочнике по руководству в ШР доверенность внесена, но в РСВ не появляется.

2. Главный вопрос.
Подскажите, пожалуйста, с чем может быть связана конкретная ошибка при формировании РСВ-1? Timeout сервера или еще что?
Версия 6.06.01.06
Условия: 1 квартал 2017, галки "по всему предприятию", "электронный отчет" подняты.

Минут 4-5 перед появлением ошибки проходит от запуска, после чего прерывание на Select из zrp_fss_2015 с последующей runtime error попытка выполнить tget для нижеприведенного неоткрытого курсора (строка 1230 в zrp_fss-2015):



SELECT
count(distinct (CASE WHEN recipient > 0 THEN auto_card END)),
count(distinct (CASE WHEN recipient1 > 0 THEN auto_card END)),
count(distinct (CASE WHEN recipient2 > 0 THEN auto_card END))

FROM
(
SELECT DISTINCT
auto_card,
recipient,
recipient1,
recipient2

FROM
(
SELECT
(CASE WHEN l.N_dir=0 THEN l.r_id ELSE l.tabel_Id END) r_id,
l.cmonth,
pr.auto_card,
pr.pid,
pr.prid,
pr.id_firm,
(CASE WHEN l.N_dir=0 and IsNull(PRT.auto_tabel,0)=0 THEN 1 ELSE (CASE WHEN Sum(PRT.Summa) <> 0 THEN 1 END) END) recipient,
(CASE WHEN l.N_dir=0 and IsNull(PRT.auto_tabel,0)=0 THEN 1 ELSE (CASE WHEN PRT.NumbChild=1 AND Sum(IsNull(PRT.Summa,0)) <> 0 and Sum(IsNull(PRT.Summa3,0)) >= Sum(IsNull(PRT.Summa2,0)) THEN 1 END) END) recipient1,
(CASE WHEN PRT.NumbChild>1 AND Sum(IsNull(PRT.Summa,0)) <> 0 and Sum(IsNull(PRT.Summa3,0)) >= Sum(IsNull(PRT.Summa2,0)) THEN 1 END) recipient2,
(case pr.AVG_LIST when 7 then (select top 1 AVG_List from pr_current where pid=pr.pid and date_depart <= pr.date_trans order by date_depart DESC) else pr.AVG_LIST end) AVG_List,
(case when exists(select top 1 1 from "#char" CH where pr.auto_card = CH.auto_card and CH.code IN ('СВНЕ_ВЗИМАЕТСЯ','ФССНЕ_ВЗИМАЕТСЯ') and L.cmonth BETWEEN CH.cmonthF and CH.cmonthT) then 1 else 0 end) as Alien,
(case when exists(select top 1 1 from "#char" CH where pr.auto_card = CH.auto_card and CH.code='ИНОСТРАНЕЦ' and IsNull(CH.value,'')='ВРЕМЕННО ПРЕБЫВАЕТ' and L.cmonth BETWEEN CH.cmonthF and CH.cmonthT) then 1 else 0 end) as WR,
(case when exists(select top 1 1 from "#char" CH where pr.auto_card = CH.auto_card and CH.code='ЕАЭС' and L.cmonth BETWEEN CH.cmonthF and CH.cmonthT) then 1 else 0 end) as EA

FROM
(
SELECT L.code_pay, L.pid, L.cmonth, dbo.zrp_fn_NTOD( 31, ((L.cmonth-1)%12+1),floor((L.cmonth-1)/12) ) as dn, L.tabel_Id, L.r_id, L.N_dir
FROM
Lic L _hintbrowser
JOIN "#tmp_pay" TP ON L.code_pay = TP.code AND TP.code_type = 0 AND TP.str = 9
JOIN
#emps _hintbrowser ON L.pid = #emps.pid
LEFT JOIN
(SELECT shop as id_structs, id_firm_op, cm_from, cm_to FROM dbo.zrp_fn_OP(@@ID_FIRM,default)) as ff
ON ff.id_structs = L.shop AND L.cmonth BETWEEN cm_from AND cm_to
WHERE
L.cmonth >= :year_ * 12 + :mB_ AND
L.cmonth <= :year_ * 12 + :m3_
_frs_
GROUP BY
L.code_pay, L.pid, L.cmonth, L.tabel_Id, L.r_id, L.N_dir
) L
JOIN
pr_current pr _hintbrowser ON L.pid = pr.pid AND
pr.date_trans <= l.dn AND
pr.date_depart >= l.dn
LEFT JOIN
VPR_WK_TYPE _hintbrowser ON pr.Work_Code = VPR_WK_TYPE.Work_Code
LEFT JOIN
(
SELECT
Sum(PRT1.Summa) over (PARTITION BY PRT1.auto_tabel order by NumbChild) as summa3,
PRT1.PR_REL_NUM,
PRT1.NumbChild,
Sum(summa) over (PARTITION BY PRT1.auto_tabel,PRT1.PR_REL_NUM,PRT1.cmonth order by NumbChild) summa,
Sum(summa2) over (PARTITION BY PRT1.auto_tabel,PRT1.PR_REL_NUM,PRT1.cmonth order by NumbChild) summa2,
PRT1.auto_tabel,
PRT1.cmonth
FROM
(
SELECT
zrptb_protocol.PR_REL_NUM,
--(SELECT TOP 1 cmothers.Numb_Children FROM cmothers _hintbrowser WHERE zrptb_protocol.PR_REL_NUM = cmothers.ID_PR_RELATIV and cmothers.Numb_Children>0 /* and zrptb_protocol.cMonth between year(FromD)*12+month(FromD) and year(Tod)*12+month(Tod)*/ ) NumbChild,

IsNull((
SELECT TOP 1 cmothers.Numb_Children FROM cmothers WITH(NOLOCK) JOIN tabel tt on tt.idMain=cmothers.auto_leave and tt.Auto_Tabel=zrptb_protocol.auto_tabel WHERE zrptb_protocol.PR_REL_NUM = cmothers.ID_PR_RELATIV and cmothers.Numb_Children>0
UNION ALL
SELECT TOP 1 cmothers.Numb_Children FROM cmothers WITH(NOLOCK) JOIN ytabel tt on tt.idMain=cmothers.auto_leave and tt.Auto_Tabel=zrptb_protocol.auto_tabel WHERE zrptb_protocol.PR_REL_NUM = cmothers.ID_PR_RELATIV and cmothers.Numb_Children>0
),1) NumbChild,


Sum(CASE WHEN zrptb_protocol.Type = 0 THEN zrptb_protocol.Summa END) summa,
Sum(CASE WHEN zrptb_protocol.Type = 1 THEN zrptb_protocol.SummaMin END) summa2,
zrptb_protocol.auto_tabel,
zrptb_protocol.cMonth
FROM
zrptb_protocol _hintbrowser

WHERE
--zrptb_protocol.Type = 0 AND
(
zrptb_protocol.cMonth BETWEEN (:year_ * 12 + :mB_) AND (:year_ * 12 + :m3_) and IsNull(recalculation,0) = 0 OR
zrptb_protocol.tMonth+zrptb_protocol.tYear*12 BETWEEN (:year_ * 12 + :mB_) AND (:year_ * 12 + :m3_)
/*W 16394 and IsNull(recalculation,0) = 1 */)

GROUP BY
zrptb_protocol.PR_REL_NUM,
zrptb_protocol.auto_tabel,
zrptb_protocol.cMonth

HAVING
zrptb_protocol.PR_REL_NUM > 0

UNION ALL
SELECT
(SELECT TOP 1 cmothers.ID_PR_RELATIV FROM cmothers WITH(NOLOCK) WHERE cmothers.Numb_Children>0 and cmothers.auto_leave=ll.r_id AND lL.N_dir=5 ORDER BY cmothers.Numb_Children) PR_REL_NUM,
IsNull((SELECT TOP 1 cmothers.Numb_Children FROM cmothers WITH(NOLOCK) WHERE cmothers.Numb_Children>0 and cmothers.auto_leave=ll.r_id AND lL.N_dir=5 ORDER BY cmothers.Numb_Children),1) NumbChild,
LL.summa,
LL.summa summa2,
(CASE WHEN lL.N_dir=0 THEN ll.r_id ELSE ll.tabel_Id END) as auto_tabel,
Ll.cmonth
FROM
LIC LL
JOIN "#tmp_pay" TP ON LL.code_pay = TP.code AND TP.code_type = 0 AND TP.str = 9

JOIN
#emps WITH(NOLOCK) ON Ll.pid = #emps.pid
LEFT JOIN
(SELECT shop as id_structs, id_firm_op, cm_from, cm_to FROM dbo.zrp_fn_OP(@@ID_FIRM,default)) as ff
ON ff.id_structs = Ll.shop AND Ll.cmonth BETWEEN cm_from AND cm_to
WHERE
Ll.cmonth >= :year_ * 12 + :mB_ AND
Ll.cmonth <= :year_ * 12 + :m3_ AND
not exists (select top 1 1 from zrptb_protocol where zrptb_protocol.auto_tabel =(CASE WHEN ll.N_dir=0 THEN ll.r_id ELSE ll.tabel_Id END) and zrptb_protocol.tmonth =Ll.tMonth and zrptb_protocol.tyear =Ll.tyear) AND
(SELECT TOP 1 Numb_Children FROM cmothers WITH(NOLOCK) WHERE Numb_Children>0 and auto_leave = Ll.r_Id AND ll.N_dir=5 )<>0
_frss_

) PRT1
) PRT ON PRT.auto_tabel = (CASE WHEN l.N_dir=0 THEN l.r_id ELSE l.tabel_Id END) and PRT.cmonth=L.cmonth

WHERE
1= 1
GROUP BY
L.r_id, L.n_dir, l.tabel_id,
L.cmonth,
pr.auto_card,
pr.pid,
pr.prid,
pr.id_firm,
L.code_pay,
PRT.NumbChild,
VPR_WK_TYPE.work_status,
pr.AVG_List,
pr.date_trans,
IsNull(PRT.auto_tabel,0)
) ff
WHERE Alien <> 1
) aver;



[/img]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Апр 20, 2017 11:03    Заголовок сообщения: Ответить с цитатой

1. Права, будем дорабатывать.

2. На 6.06.01.07 пробовали сформировать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 11:15    Заголовок сообщения: Ответить с цитатой

DUCKKK писал(а):
1. Права, будем дорабатывать.

2. На 6.06.01.07 пробовали сформировать?


Дмитрий, спасибо.
По первому ясно, руками в xml вставлю.
По второму беда. .07 у нас под новый лицензионный договор попадает. С Натальей вчера выясняли - оплата пошла на ЗАО, а вы теперь АО. Ну и, соответственно, без новой версии, пока не вернется и не пройдет с новыми реквизитами платеж...
Может, заткнуть чего можно в этом курсоре?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Апр 20, 2017 12:03    Заголовок сообщения: Ответить с цитатой

Да знали бы, чего заткнуть, но в первый раз ошибку видим ... Зависал - было, формировался не с первого раза - тоже было. Но чтобы на курсор ругалось ... Одновременно пользователи не формируют что-то? Зависших процессов не сервере нет? Просто бумажный отчет, не электронный - формируется?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 12:14    Заголовок сообщения: Ответить с цитатой

Никак не зависит от числа пользователей. Галка "электронный отчет" тоже никак не влияет. А вот заголовок ошибки T Query:prepare error Время ожидания запроса истекло" наводит на мысль покопаться в сервере.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Апр 20, 2017 12:18    Заголовок сообщения: Ответить с цитатой

Или увеличить время ожидания в rpexec.ini
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 12:22    Заголовок сообщения: Ответить с цитатой

На всякий случай, какой параметр в .ini?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Апр 20, 2017 12:27    Заголовок сообщения: Ответить с цитатой

В секции [ARM] первой строкой прописать, например, TIMEOUT=3000 (по умолчанию он 300, это секунды).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 12:36    Заголовок сообщения: Ответить с цитатой

Благодарю за подсказ. По результатам отпишусь, чего было.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 14:27    Заголовок сообщения: Ответить с цитатой

В итоге после обслуживания базы, killed всех незавершенных процессов формируется почти влет)) Спасибо! Можно рекомендовать пользователям не забывать о санации баз.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Чт Апр 20, 2017 15:05    Заголовок сообщения: Ответить с цитатой

Не рекомендовать, а скорее обязать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
nuvng



Зарегистрирован: 13.03.2017
Сообщения: 11

СообщениеДобавлено: Чт Апр 20, 2017 15:17    Заголовок сообщения: Ответить с цитатой

DUCKKK писал(а):
Не рекомендовать, а скорее обязать.

Ну, это мечты...)))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antoshes



Зарегистрирован: 17.02.2014
Сообщения: 171
Откуда: Томск

СообщениеДобавлено: Пт Апр 28, 2017 11:52    Заголовок сообщения: Ответить с цитатой

DUCKKK
Проблема с формированием XML файла КНД115111, а именно персональных данных.
Происходит задвоение выгрузки данных по работнику, в случае, если у этого работника есть полный тезка (Фамилия,Имя,Отчество совпадает).
В z_rep_pens записть по auto_card одна, соответственно проблема именно при выгрузки в XML
Налоговая вернула файл, пока загрузим в Налогоплательщик ЮЛ и удалим лишние листы, благо всего 12 человек таких
Надеюсь к следующей отчетности проблема будет исправлена
Подготовил картиночку для наглядности, куда можно отправить ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DUCKKK
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 16.09.2009
Сообщения: 1681

СообщениеДобавлено: Пт Апр 28, 2017 12:45    Заголовок сообщения: Ответить с цитатой

В почту мне напишите, процедуру вышлю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Antoshes



Зарегистрирован: 17.02.2014
Сообщения: 171
Откуда: Томск

СообщениеДобавлено: Пт Апр 28, 2017 13:06    Заголовок сообщения: Ответить с цитатой

DUCKKK
напишите адрес
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов 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