SDK Issue with Context Id not being passed to extension

User is creating a SDK Extension to dataform template, when loading into BBEC and using it; it gives them an error saying that the ContextId doesn't exist.
The problem is when the dataform extension is created for the Link on a Deposit, it gives and error saying that You must specify a valid Context Record ID.

I have tested this using version 2.9 and 2.91; I receive the result in both.

After loading spec:
1) go to Treasury
2) Create Deposit
3) Open Deposit
4) Click on Link
5) Click Save
6) Error is received

The spec:

<

 

AddDataFormTemplateSpec xmlns="bb_appfx_adddataformtemplate"

 

xmlns:common="bb_appfx_commontypes"

 

ID="677526eb-1dcb-4dc9-a225-667e8bff5dec"

 

Name="DepositPaymentLinkDataFormExtension Add Data Form"

 

Description="Deposit Payment Link DataForm Extension"

 

Author="Blackbaud Professional Services"

 

DataFormInstanceID="9e57e005-064b-4289-b350-58bb5a4b4dfc"

 

RecordType="Bank Account Deposit Payment"

 

common:SecurityUIFolder="Treasury\Deposit"

>

<

<!--

preload is needed, then this section can be removed

<!--

<

<

<![CDATA[

SPDataForm> describe the preload SP (if applicable), which should be used to fetch field default values from the database. If no--> describe the save SP -->SaveImplementation SPName="USR_USP_DATAFORMTEMPLATE_ADD_DEPOSITPAYMENTLINK_DATAFORM_EXTENSION">common:CreateProcedureSQL>

create procedure dbo.USR_USP_DATAFORMTEMPLATE_ADD_DEPOSITPAYMENTLINK_DATAFORM_EXTENSION

(

@ID uniqueidentifier = null output,

@CONTEXTID uniqueidentifier,

@CHANGEAGENTID uniqueidentifier = null,

@PAYMENTSCUSTOM xml = NULL,

@PAYMENTMETHODCODECUSTOM tinyint = NULL

)

as

set nocount on;

if @ID is null

set @ID = newid()

if @CHANGEAGENTID is null

exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

declare @CURRENTDATE datetime

set @CURRENTDATE = getdate()

begin try

 

exec dbo.USR_USP_LINKPAYMENTSTODEPOSIT @ID, @CHANGEAGENTID, @CONTEXTID, @PAYMENTSCUSTOM

 

end try

begin catch

exec dbo.USP_RAISE_ERROR

return 1

end catch

return 0

 

</

</

</

]]>common:CreateProcedureSQL>SaveImplementation>SPDataForm>

<!--

<

<!--

like the context @ID, @CONTEXTID, and @CURRENTAPPUSERID need not be listed.

<

<

<

<

<

<

<

<

<

<

<

</

<

<

<

<

<

<

</

</

</

<

<

<

<

<

<

</

<

<

<

</

<

<

<

</

<

<

<

</

<

<

<

</

<

<

<

</

</

</

</

</

describe the context ID for this form (if applicable), which corresponds to a parameter in the SP. -->Context ContextRecordType="Bank Account Deposit Payment" RecordIDParameter="CONTEXTID" /> describe fields on the form, which correspond to parameters on the SP. Note that system parameters -->common:FormMetaData FixedDialog="true">common:FormFields>common:FormField FieldID="PAYMENTSCUSTOM" DataType="XML" Caption="Linked payments by Sakonent">common:Collection>common:Fields>common:FormField FieldID="ID" DataType="Guid" Hidden="true" />common:FormField FieldID="INCLUDE" DataType="Boolean" ReadOnly="true" Caption="" />common:FormField FieldID="PAYMENTMETHOD" ReadOnly="true"

Environment

 2.91.1535, patch 14

Was this article helpful?