option_values

Назначение

Нерепликационная таблица option_values из БД Химчистка хранит значения глобальных настроек.

Поля таблицы

select 
  ov.id           , -- ВнНомер 
  ov.option_name  , -- имя параметра 
  ov.table_name   , -- таблица 
  ov.table_id     , -- ID таблицы-справочника
  ov.value_int    , -- значение для целых 
  ov.value_str    , -- значение для строковых
  ov.value_bool   , -- значение для логических
  ov.value_date   , -- значение для даты
  ov.value_flt    , -- значение для вещественных
  ov.value_dttm     -- значение для даты и времени
from option_values ov

Использование таблицы

Для просмотра значений глобальных настроек можно использовать скрипт

select 
  o.option_name     , -- имя параметра
  o.short_descr     , -- наименование 
  o.long_descr      , -- Описание 
  case when o.value_type = 0 then o.default_int
       when o.value_type = 1 then o.default_str
       when o.value_type = 2 then o.default_bool
       when o.value_type = 3 then o.default_date
       when o.value_type = 4 then o.dict_table || ' ' || o.dict_field || ' ' || o.dict_display
       when o.value_type = 5 then o.default_float
  end as value_default, -- Значение по умолчанию
  case when o.value_type = 0 then ov.value_int
       when o.value_type = 1 then ov.value_str 
       when o.value_type = 2 then ov.value_bool 
       when o.value_type = 3 then ov.value_date 
       when o.value_type = 4 then ov.value_int
       when o.value_type = 5 then ov.value_flt 
  end as option_value, -- Значение настройки
  case when o.value_type = 0 then ovg.value_int
       when o.value_type = 1 then ovg.value_str
       when o.value_type = 2 then ovg.value_bool
       when o.value_type = 3 then ovg.value_date
       when o.value_type = 4 then ovg.value_int
       when o.value_type = 5 then ovg.value_flt
  end as option_value_general -- Значение настройки
from options o -- Глобальные настройки
  left join option_values ov on ov.option_name=o.option_name   -- Значения глобальных настроек
  left join option_values_general ovg on ovg.option_name=o.option_name   -- Значения глобальных настроек

Добавление глобальной настройки

Проверка наличия глобальной настройки

select o.option_name, o.table_name, o.short_descr, o.long_descr
from options o
where o.table_name='INFO' and o.option_name='GL_MESSAGE_TO_HIM'

Добавление значения настройки

UPDATE OR INSERT INTO option_values(option_name, table_name, table_id, value_int, value_str, value_bool, value_date, value_flt, value_dttm)
VALUES('GL_MESSAGE_TO_HIM', 'INFO', 0, NULL, 'Текст сообщения для АХ', NULL, NULL, NULL, NULL) 
MATCHING (option_name, table_name); 

Назад