Skip to main content
Version: Next

Requête de duplication d'un modèle bureautique

Cette requête SQL permet de dupliquer un modèle bureautique afin de recopier l'ensemble des correspondances de champs déjà réalisées :

Il faut adapter cette requête en allant chercher l'id du modèle bureautique d'origine dans la table OfficeTemplates. Il faut modifier la ligne set @id_office = '159198ed-b34d-43a4-a1b2-86ecfc4a1599' et y mettre le bon id (celui du modèle à recopier) et la ligne set @new_name = 'Processus' afin d'y mettre le nom du nouveau modèle

Voici la requête de duplication :

declare @id_office varchar(255)
declare @new_name varchar(255)
declare @new_id char(36)

set @id_office = '159198ed-b34d-43a4-a1b2-86ecfc4a1599'
set @new_name = 'Processus'
set @new_id = NEWID()

INSERT INTO [OfficeTemplates] (
[id]
,[id_formular]
,[name]
,[object_name]
,[object_type]
,[object]
,[object_fields]
,[macro_name]
,[format_name]
)
SELECT
@new_id
,[id_formular]
,@new_name
,[object_name]
,[object_type]
,[object]
,[object_fields]
,[macro_name]
,[format_name]

FROM OfficeTemplates
WHERE id=@id_office

INSERT INTO [OfficeTemplateExchanges] (
[id]
,[id_template]
,[id_field_definition]
,[transform_rule]
,[direction]
,[template_field]
)
SELECT
NEWID()
,@new_id
,[id_field_definition]
,[transform_rule]
,[direction]
,[template_field]
FROM OfficeTemplateExchanges
WHERE id_template=@id_office