system.mes.copySignatureTemplate(mesObjectLink)

Sepasoft MES Module Suite

copySignatureTemplate(...)

Copies an existing Signature Template into a new, unsaved MESSignatureTemplate object. The copy receives a unique name based on Copy of <original name> and can be edited before saving with system.mes.signature.saveSignatureTemplate.

Syntax

Python
system.mes.signature.copySignatureTemplate(mesObjectLink)

Parameters

Parameter

Type

Required

Description

mesObjectLink

MESObjectLink

Required

Link to an existing Signature Template to copy. The link must reference an object of type SignatureTemplate.

Return Value

Type

Description

MESSignatureTemplate

A new, unsaved copy of the source signature template. Modify it as needed, then pass it to system.mes.signature.saveSignatureTemplate to persist it.

Scope / Availability

  • Registered on the system.mes.signature script module.

  • Gateway: Executes on the runtime gateway.

  • Designer / Client: Same API; calls are sent to the connected gateway via RPC.

Excluded / Edge Cases

  • Unsaved result: The returned template is not saved automatically. Use system.mes.signature.saveSignatureTemplate after making any changes.

  • Link required: Passing None raises an Exception because there is no source template to copy.

  • Link type: The link must be a SignatureTemplate link. Links to other MES object types raise an Exception.

  • Runtime and support checks: The operation must run on the runtime server and requires MES signature support to be available.

Example Usage

Minimal Example

Python
# sourceLink is an MESObjectLink to an existing Signature Template.
newTemplate = system.mes.signature.copySignatureTemplate(sourceLink)
savedTemplate = system.mes.signature.saveSignatureTemplate(newTemplate)

Complex Example

Python
sourceLink = None
signatureLinks = system.mes.signature.getSignatureTemplateLinkList(
	0,
	2147483647,
	"Operator Approval"
)

for link in signatureLinks:
	if link.getName() == "Operator Approval":
		sourceLink = link
		break

if sourceLink is None:
	raise Exception("Signature Template not found: Operator Approval")

newTemplate = system.mes.signature.copySignatureTemplate(sourceLink)
newTemplate.setName("Supervisor Approval")
newTemplate.setDescription("Requires a supervisor to approve the action.")
newTemplate.setExpression("{role:Supervisor}")
newTemplate.setForce(True)
newTemplate.setForceUniqueUser(True)
newTemplate.setTimeout(2)

savedTemplate = system.mes.signature.saveSignatureTemplate(newTemplate)

Related Functions

Sepasoft MES Module Suite