Вопрос

Перенос отключения кейса через данные

Добрый день. Добавил новый кейс для продаж, базовый отключил. При сохранении всё добавилось в данные автоматически. Но при переносе пакета на тестовую среду обнаружил, что старый кейс остался включенным. Собственно вопрос. Какие данные ещё нужно обновить, чтобы старый кейс отключился?

Нравится

1 комментарий

Информацию о кейсах можно посмотреть во view с названием VwSysDcmLib. Там для выяснения активности кейса вызывается функция fn_GetDcmSchemaIsActive. Её текст:

ALTER FUNCTION [dbo].[fn_GetDcmSchemaIsActive](@SchemaId UNIQUEIDENTIFIER)
RETURNS BIT
AS
BEGIN
	DECLARE	@SchemaUserPropertyValue NVARCHAR(MAX) = (SELECT TOP 1 ssup.[Value]
		FROM [dbo].[SysSchemaUserProperty] AS ssup
		WHERE ssup.[SysSchemaId] = @SchemaId
			AND ssup.[Name] = 'Enabled');
	DECLARE @Result BIT;
 
	IF (@SchemaUserPropertyValue IS NOT NULL)
	BEGIN
		SET @Result = (CASE
			WHEN @SchemaUserPropertyValue = 'True'
			THEN 1
			ELSE 0
		END);
	END;
	ELSE
	BEGIN
		SET @Result = (CASE
			WHEN
				(SELECT TOP 1 ssp.[Value]
				FROM [dbo].[SysSchemaProperty] AS ssp
				WHERE ssp.[SysSchemaId] = @SchemaId
					AND ssp.[Name] = 'Enabled') = 'True'
			THEN 1
			ELSE 0
		END);
	END;
	RETURN @Result;
END;

То есть свойство активности кейса хранится в одной из служебных таблиц SysSchemaUserProperty или SysSchemaProperty. У меня — во второй.

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