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

Время ожидания (timeout)

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



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

СообщениеДобавлено: Чт Окт 07, 2010 14:47    Заголовок сообщения: Время ожидания (timeout) Ответить с цитатой

Подскажите, пожалуйста, можно ли настраивать в Босс-кадровике время ожидания при выполнении запросов SQL. По умолчанию это время равно 5 мин и если запрос выполняется дольше, то вылетает по ошибке "Время ожидания истекло" (Timeout expired).
Если его нельзя настраивать, то как быть в таких ситуациях?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


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

СообщениеДобавлено: Пн Окт 11, 2010 11:39    Заголовок сообщения: Ответить с цитатой

см документацию: Содержание файла BOSSEXEC.INI
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimich1978



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

СообщениеДобавлено: Пт Окт 17, 2014 10:54    Заголовок сообщения: Ответить с цитатой

Вдруг кому то помогу, т.к. сейчас немного все поменялось
рассматриваем файл PREXEC.ini
в раздел, в конец прописываем параметр TimeOut
[ARM]
DSN=
UID=
MODULE=
SLINE=
TASK=
SETUP=0x2109
HTML=Address.html
XY=100,100,-11,MS Sans Serif,134217728,204
WallPaper=NO
TIMEOUT=18000
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 180
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Ноя 29, 2022 11:17    Заголовок сообщения: Ответить с цитатой

В "Иерархии статей затрат" сначала возникла ошибка "the maximum recursion 100 ...", которую удалось победить с помощью "OPTION(MAXRECURSION 0)".
Однако, после этого не удается избежать "query timeout".
В настройках сервера отключили таймаут (Properties - Connections - Remote query timeout = 0). В rpexec.ini проставили "TIMEOUT=18000" - это 5 часов.
Однако, ошибке БК "Query timeout expired" это не мешает появляться (спустя несколько минут).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 180
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Ноя 29, 2022 11:59    Заголовок сообщения: Ответить с цитатой

Вот этот запрос (базовый):

Код:
@hr_lst_expobj
SELECT
   PC_ExpensesObj.id

,   (CASE
      WHEN pc_ExpensesObj.id_Parent = 0 THEN char(4)+'office2clsdfold'
      WHEN pc_ExpensesObj.id = @hr_lst_expobj_tree:id_expobj THEN char(4)+'office2openfold'
      ELSE ''
   END)

,   PC_ExpensesBase.ShortName
,   PC_ExpensesBase.Name

,   PC_ExpensesObj.ShortName
,   PC_ExpensesObj.d_from[%x]
,   PC_ExpensesObj.d_to[%x]
,   (CASE WHEN PC_ExpensesObj.d_to >= @@d_from THEN 239   ELSE 247 END) as color --   цвет
,   PC_ExpensesObj.mdate
,   PC_ExpensesObj.uname

FROM PC_ExpensesObj _hintbrowser , PC_ExpensesBase _hintbrowser
WHERE
       PC_ExpensesObj.id_firm = _id_firm[']
   AND PC_ExpensesObj.id_base = PC_ExpensesBase.id

AND exists (select top 1 1 from PC_ExpensesTree WITH(NOLOCK) where PC_ExpensesTree.id_parent = 8069 and PC_ExpensesTree.id_obj = PC_ExpensesObj.id)

с условием
Код:
AND exists (select top 1 1 from PC_ExpensesTree WITH(NOLOCK) where PC_ExpensesTree.id_parent = 8069 and PC_ExpensesTree.id_obj = PC_ExpensesObj.id)

и выдает ошибку рекурсий. Всё работает в базовом варианте.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
superjek



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

СообщениеДобавлено: Вт Ноя 29, 2022 17:51    Заголовок сообщения: Ответить с цитатой

tveritin вряд ли у вас уровень вложенности статей затрат > 100.
Такое возникает когда есть цикл подчинения:

A родитель B
B родитель С
С родитель A
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
superjek



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

СообщениеДобавлено: Вт Ноя 29, 2022 18:11    Заголовок сообщения: Ответить с цитатой

Попробуйте выполнить запрос в management studio

Код:
with cte(id_rec, id_parent, id_root, level, path) as
(
   Select ID as id_rec, id_parent, ID as id_root, 0, convert (varchar(max), id) as path
   from PC_ExpensesObj  WITH(NOLOCK)
   union all
   Select PC_ExpensesObj.ID as id_rec, PC_ExpensesObj.id_parent, cte.id_root, cte.Level+1, convert (varchar(max),cte.path +' & '+convert (varchar,PC_ExpensesObj.ID))
   from cte
   join PC_ExpensesObj  WITH(NOLOCK) on PC_ExpensesObj.id_parent = cte.id_rec
)
select id_rec as id_obj, id_root as id_parent, level as lev,path
from cte
where level =90


В столбце path (полный путь из ID ) цикл будет заметен
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 180
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Ноя 29, 2022 18:16    Заголовок сообщения: Ответить с цитатой

Спасибо, уже разобрались. Были записи во вью PC_ExpensesTree , у которых id = id_parent
Вопрос теперь в другом. Почему функционал БК позволяет выбирать родителем себя самого при редактировании иерархии статей затрат?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
RVV
Большой шоколадный орден
Большой шоколадный орден


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

СообщениеДобавлено: Ср Ноя 30, 2022 11:57    Заголовок сообщения: Ответить с цитатой

В диалоге hr_dlg_expobj
указано:
LOCAL _hrvw_expobj_look := '';
ALIAS _hrvw_expobj_look := {AND id_expobj != @hr_dlg_expobj:id};

т.е. себя выбрать не даст
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 180
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Ноя 30, 2022 12:08    Заголовок сообщения: Ответить с цитатой

С лукапом всё норм. Но, если мы берем и копируем в буфер значение базовой статьи и вставляем ее в поле "верхний уровень", то система проглатывает это значение и приравнивает id_parent = id.
Бухгалтера и ОТиЗники у нас продвинутые, нашли как обмануть лукап.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов 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