USP_DATAFORMTEMPLATE_VIEW_INVOICEPAGEDATA

The load procedure used by the view dataform template "Invoice Page Expression View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@INVOICENUMBER nvarchar(60) INOUT Invoice number
@VENDORNAME nvarchar(100) INOUT Vendor name
@VENDORID uniqueidentifier INOUT Vendor ID
@AMOUNT money INOUT Invoice amount
@INVOICEDATE datetime INOUT Invoice date
@HOLDPAYMENT bit INOUT On hold
@ALLOWVENDORPAYMENTS bit INOUT Payments are not allowed for this vendor
@IS1099VENDOR bit INOUT Is 1099 vendor?
@HAS1099INFO bit INOUT Invoice has 1099 info
@ISLOCKED bit INOUT Invoice is locked
@HASSCHEDULE bit INOUT Invoice has a schedule
@HASPAYMENTS bit INOUT Invoice has a payment
@ISFULLYPAID bit INOUT Invoice is fully paid

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_INVOICEPAGEDATA
                (
                  @ID uniqueidentifier
                  ,@DATALOADED bit = 0 output
                  ,@INVOICENUMBER nvarchar(60) = null output
                  ,@VENDORNAME nvarchar(100) = null output
                  ,@VENDORID uniqueidentifier = null output
                  ,@AMOUNT money = null output
                  ,@INVOICEDATE datetime = null output
                  ,@HOLDPAYMENT bit = null output
          ,@ALLOWVENDORPAYMENTS bit = null output
          ,@IS1099VENDOR bit = null output
          ,@HAS1099INFO bit = null output
              ,@ISLOCKED bit = null output
          ,@HASSCHEDULE bit = null output
          ,@HASPAYMENTS bit = null output
          ,@ISFULLYPAID bit = null output
                )
                as
                  set nocount on;

                  -- be sure to set this, in case the select returns no rows
                  set @DATALOADED = 0;

                  -- populate the output parameters, which correspond to fields on the form.  Note that
                  -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system
                  -- will display a "no data loaded" message.

                  -- Make sure to update Balance when the Payment Information comes in.
                  select top 1
                         @DATALOADED = 1
                         ,@INVOICENUMBER = F.USERDEFINEDID
                         ,@VENDORNAME = C.NAME
                         ,@VENDORID = C.ID
                         ,@AMOUNT = F.TRANSACTIONAMOUNT
                         ,@INVOICEDATE = F.[DATE]
                         ,@HOLDPAYMENT = I.HOLDPAYMENT
             ,@ALLOWVENDORPAYMENTS = PV.ALLOWPAYMENTS
             ,@IS1099VENDOR = PV.INCLUDEIN1099
                   ,@ISLOCKED = case when I.DISBURSEMENTPROCESSID is null then 0 else 1 end
             ,@HASSCHEDULE = case when ISI.ID is null then 0 else 1 end
             ,@ISFULLYPAID = case when I.BALANCE = 0 then 1 else 0 end
                  from dbo.INVOICE I
                      inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID and F.TYPECODE = 101
                      inner join dbo.CONSTITUENT C on F.CONSTITUENTID = C.ID
            inner join dbo.VENDOR PV on PV.ID = C.ID
            left outer join dbo.INVOICESCHEDULEINFORMATION as ISI on F.ID = ISI.ID            
                  where F.ID = @ID;

                set @HASPAYMENTS = dbo.UFN_PAYABLES_HASPAYMENTS(@ID);

          if exists(select * from dbo.FINANCIALTRANSACTION1099DISTRIBUTION where FINANCIALTRANSACTIONID = @ID)
            SET @HAS1099INFO = 1;

            return 0;