[ТЕМА ЗАКРЫТА]
Опции темы
05.02.2008 14:51  
Mihon
Появилась необходимость для подчиненных баз автоматизированно менять значения проверок (для должности) в админ. модуле.
SSInspectCfg.Inspectmode это режим проверки.
изменяется от 0 до 3.
Вопрос: как узнать, какое значение этого поля соответствует статусам "предупрежение", "всегда запрет" и т.д.?
заранее благодарен.
 
05.02.2008 14:58  
Mtirt
Насколько я понимаю:
3 - всегда запрет
2 - запрет
1 - предупреждение
0 - отключена
 
05.02.2008 15:06  
Mihon
Вот только что проверил - 0-предупреждение, потом тут же запись 0-отключена.
как будто данные по таблице расходятся с данными адм. модуля.
должность одну смотрю.
 
05.02.2008 17:11  
Mihon
Код:
SELECT if.name, ic.inspectmode
FROM SUPERMAG.SMINSPECTCFG ic,
SUPERMAG.SSINSPECTFUNC if
where
(if.id=ic.inspectid)and(ic.offid=1)
вот это и данные админ. модуля никак не могу увязать.
то 0 получается "отключена", то "запрет", в общем билиберда.
Почему так?
 
05.02.2008 17:17  
Mtirt
SSINSPECTFUNC - просто список возможных проверок.
SMINSPECTCFG - назначение проверки для конкретной должности.

Может забываешь учитывать SUBID ? Там для разных документов могут быть разные значения.

И еще, версия СМ2000, какая? А то помнится мне, что в 1.026 по этому поводу есть большие изменения.
 
06.02.2008 08:55  
Mihon
1.024.6 sp5

SUBID действительно не учитываю, выполняю тот запрос он мне и так не выдает повт.записей. всего штук 20, хотя проверок - штук 150...
а какое тогда значение у оставшихся 130?

в табличке SSINSPECTFUNC ведь по ID уникальность. или нет? я отбирал записи SSINSPECTFUNC и SSINSPECTFUNCDETAIL, для одной записи SSINSPECTFUNC может быть 2 записи в SSINSPECTFUNCDETAIL...
я ошибаюсь?
 
06.02.2008 09:11  
Mtirt
Цитата:
Сообщение от Mihon
1.024.6 sp5

SUBID действительно не учитываю, выполняю тот запрос он мне и так не выдает повт.записей. всего штук 20, хотя проверок - штук 150...
а какое тогда значение у оставшихся 130?
Насколько я понимаю, в SSINSPECTFUNC есть значение этой проверки по умолчанию для всех должностей.
В sminspectcfg сохраняются ТОЛЬКО значения, отличные от тех, которые указаны в SSINSPECTFUNC.

Таким образом тебе для полных проверок нужно объединение sminspectcfg и SSINSPECTFUNC.
 
06.02.2008 10:56  
Mihon
Цитата:
Сообщение от Mihon
Код:
SELECT if.name, ic.inspectmode
FROM SUPERMAG.SMINSPECTCFG ic,
SUPERMAG.SSINSPECTFUNC if
where
(if.id=ic.inspectid)and(ic.offid=1)
Выполняю этот запрос.
Открываю адм. модуль, права доступа, должности, должность с этим id, захожу в проверки.
Начинаю сравнивать:
"запрет повышения тарарарарам" - inspectmode = 2, в адм. модуле "запрет"
"не указана причина тарарам" - inspectmode = 0, в адм. модуле "предупрежение"
"запрет принятия док. тарарам" - inspectmode = 2, в адм. модуле "предупрежение"
Это же полная неразбериха.
Помогите понять...
 
06.02.2008 11:07  
Mtirt
Код:
SELECT if.id, if.name, nvl(ic.inspectmode,if.definspectmode)
FROM SUPERMAG.SMINSPECTCFG ic,
SUPERMAG.SSINSPECTFUNC if
where
(if.id(+)=ic.inspectid)and(ic.offid=1)
так больше похоже на правду?
 
06.02.2008 11:27  
Mihon
Спасибо.
Невнимательность ужасная штука.
Я НЕ ТУ БАЗУ ПОДКЛЮЧАЛ(((((((((((

А по поводу запроса - выдает те же данные.
А что там измениться должно было? nvl какой-то))))
Спасибо огромное!
 
 


Опции темы



Часовой пояс GMT +3, время: 06:55.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.