Проблема с переносом значений системных настроек для визирования

Доброго времени суток!
Столкнулся с данной проблемой при переносе системных настроек, а вернее их значений.
Системные настройки связаны с визированием моего (нового) раздела Заявки на обучение.
Итак при попытке перенести системные настройки всё проходит гладко, за исключением одного но.
Значения не удается перенести в созданные системные настройки.
Обе настройки были созданы по подобию существующих. И после того как установлены новые настройки, в БД в таблице SysSettingValue значения для соответствующих настроек есть, но в системе поле отвечающее за это значение "Значение по умолчанию" остается пустым, а если в него попытаться добавить объект из справочника, то не сохраняется.
В чем может быть проблема или объясните, каким образом перенести данные системные настройки? Ниже приведу листинг sql-сценариев для установки значений.

DECLARE @email UNIQUEIDENTIFIER;
SET @email = (SELECT Id FROM dbo.EmailTemplate WHERE Name = 'Шаблон уведомления о новой визе заявки на обучение')
DECLARE @schemaId UNIQUEIDENTIFIER;
SET @schemaId = (SELECT Id FROM dbo.SysSettings WHERE Name = 'Шаблон Email для отправки информации о визе заявки на обучение')
INSERT INTO dbo.SysSettingsValue (SysSettingsId, SysAdminUnitId, GuidValue, Position)
VALUES (@schemaId, 'A29A3BA5-4B0D-DE11-9A51-005056C00008', @email, '2147483647')


DECLARE @schemaId uniqueidentifier;
SET @schemaId = (SELECT Id FROM dbo.SysSettings WHERE Name = 'Процесс визирования заявки на обучение')
DECLARE @processUId uniqueidentifier;
SET @processUId = (SELECT Id FROM dbo.SysSchema WHERE Name = 'Визирование заявки на обучение')
INSERT INTO dbo.SysSettingsValue (SysSettingsId, SysAdminUnitId, GuidValue, Position)
VALUES (@schemaId, 'A29A3BA5-4B0D-DE11-9A51-005056C00008', @processUId, '2147483647')

Нравится

3 комментария

Здравствуйте!

Необходимо заполнить еще одно поле. Исправил SQL запрос:

INSERT INTO dbo.SysSettingsValue (SysSettingsId, SysAdminUnitId, GuidValue, Position, isDef)
VALUES (@schemaId, 'A29A3BA5-4B0D-DE11-9A51-005056C00008', @processUId, '2147483647', 1)

Попробуйте так. также хочу обратить внимание, что для роли 'A29A3BA5-4B0D-DE11-9A51-005056C00008' в SysSettingsValue должно быть одно значение.

"Демьяник Алексей" написал:

Здравствуйте!

Необходимо заполнить еще одно поле. Исправил SQL запрос:

INSERT INTO dbo.SysSettingsValue (SysSettingsId, SysAdminUnitId, GuidValue, Position, isDef)

VALUES (@schemaId, 'A29A3BA5-4B0D-DE11-9A51-005056C00008', @processUId, '2147483647', 1)

Попробуйте так. также хочу обратить внимание, что для роли 'A29A3BA5-4B0D-DE11-9A51-005056C00008' в SysSettingsValue должно быть одно значение.


Добрый день, предполагаете что в недостатке этой колонки была ошибка?
Сами системные настройки были перенесены через данные, а вот значения таким образом не получилось. И как я писал выше, в эти созданные системные колонки не получается значения установить.
Наличие id справочников в бд есть, а в приложении они отсутствуют.
Так же обращу внимание, что у большинства, если не у всех, значений сис. настроек SysAdminUnitId это именно этот Id и он относится ко Всем сотрудникам компании.

Здравствуйте, Михаил.

Проблема заключается в недостающих колонках в таблице SysSettingsValue. Пример для системной настройки, работающей с справочником Активность:

insert into SysSettings values (NEWID(), GETDATE(), GETDATE(), '410006E1-CA4E-4502-A9EC-E54D922D2C00', '410006E1-CA4E-4502-A9EC-E54D922D2C00',
'test', 'Lookup', 0, 1, NULL, 'test', '', 0, 'C449D832-A4CC-4B01-B9D5-8A12C42A9F89', 0)
 
insert into SysSettingsValue values (NEWID(), GETDATE(), GETDATE(), '410006E1-CA4E-4502-A9EC-E54D922D2C00', '410006E1-CA4E-4502-A9EC-E54D922D2C00',
'13056A6F-93C8-4F18-8CC2-2423E8EF30DC', 'A29A3BA5-4B0D-DE11-9A51-005056C00008', 1, '', 0, 0.00, 0, NULL,
'DFC877FE-B6B5-46C7-9346-A703D858B14E', NULL, 2147483647, 0)

Оба запроса выполнялись последовательно и переменных объявлять не требовалось.

Показать все комментарии