quickbooks - 使用 QBFC 添加销售税项目

标签 quickbooks intuit-partner-platform qbfc

有没有办法使用 QBFC 添加销售税项目?

示例: 销售税A 4%

销售税 B 10%

我可以从 Quickbooks 轻松添加它,但我需要一种使用 QBFC 从外部应用程序添加的方法。

任何帮助将不胜感激。

最佳答案

您可以在On Screen Reference中找到一个很好的例子。 .

在屏幕顶部的“选择消息”下拉列表中选择 ItemSalesTaxAdd。从那里单击 C# 选项卡,您将看到以下示例代码:

//The following sample code is generated as an illustration of
//Creating requests and parsing responses ONLY
//This code is NOT intended to show best practices or ideal code
//Use at your most careful discretion

using System;
using System.Net;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using Interop.QBFC10;

namespace com.intuit.idn.samples
{
    public class Sample
    {
        public void DoItemSalesTaxAdd()
        {
            bool sessionBegun = false;
            bool connectionOpen = false;
            QBSessionManager sessionManager = null;

            try
            {
                //Create the session Manager object
                sessionManager = new QBSessionManager();

                //Create the message set request object to hold our request
                IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",1,.0);
                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;

                BuildItemSalesTaxAddRq(requestMsgSet);

                //Connect to QuickBooks and begin a session
                sessionManager.OpenConnection("","Sample Code from OSR");
                connectionOpen = true;
                sessionManager.BeginSession("", ENOpenMode.omDontCare);
                sessionBegun = true;

                //Send the request and get the response from QuickBooks
                IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

                //End the session and close the connection to QuickBooks
                sessionManager.EndSession();
                sessionBegun = false;
                sessionManager.CloseConnection();
                connectionOpen = false;

                WalkItemSalesTaxAddRs(responseMsgSet);

            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Error");
                if (sessionBegun)
                {
                    sessionManager.EndSession();
                }
                if (connectionOpen)
                {
                    sessionManager.CloseConnection();
                }
            }
        }


        void BuildItemSalesTaxAddRq(IMsgSetRequest requestMsgSet)
        {
            IItemSalesTaxAdd ItemSalesTaxAddRq= requestMsgSet.AppendItemSalesTaxAddRq();
            //Set field value for Name
            ItemSalesTaxAddRq.Name.SetValue("ab");
            //Set field value for BarCodeValue
            ItemSalesTaxAddRq.BarCode.BarCodeValue.SetValue("ab");
            //Set field value for AssignEvenIfUsed
            ItemSalesTaxAddRq.BarCode.AssignEvenIfUsed.SetValue(true);
            //Set field value for AllowOverride
            ItemSalesTaxAddRq.BarCode.AllowOverride.SetValue(true);
            //Set field value for IsActive
            ItemSalesTaxAddRq.IsActive.SetValue(true);
            //Set field value for ListID
            ItemSalesTaxAddRq.ClassRef.ListID.SetValue("200000-1011023419");
            //Set field value for FullName
            ItemSalesTaxAddRq.ClassRef.FullName.SetValue("ab");
            //Set field value for ItemDesc
            ItemSalesTaxAddRq.ItemDesc.SetValue("ab");
            //Set field value for TaxRate
            ItemSalesTaxAddRq.TaxRate.SetValue(20.00);
            //Set field value for ListID
            ItemSalesTaxAddRq.TaxVendorRef.ListID.SetValue("200000-1011023419");
            //Set field value for FullName
            ItemSalesTaxAddRq.TaxVendorRef.FullName.SetValue("ab");
            //Set field value for ExternalGUID
            ItemSalesTaxAddRq.ExternalGUID.SetValue(Guid.NewGuid().ToString());
            //Set field value for IncludeRetElementList
            //May create more than one of these if needed
            ItemSalesTaxAddRq.IncludeRetElementList.Add("ab");
        }


        void WalkItemSalesTaxAddRs(IMsgSetResponse responseMsgSet)
        {
            if (responseMsgSet == null) return;

            IResponseList responseList = responseMsgSet.ResponseList;
            if (responseList == null) return;

            //if we sent only one request, there is only one response, we'll walk the list for this sample
            for (int i=0; i<responseList.Count; i++)
            {
                IResponse response = responseList.GetAt(i);
                //check the status code of the response, 0=ok, >0 is warning
                if (response.StatusCode >= 0)
                {
                    //the request-specific response is in the details, make sure we have some
                    if (response.Detail != null)
                    {
                        //make sure the response is the type we're expecting
                        ENResponseType responseType = (ENResponseType)response.Type.GetValue();
                        if (responseType == ENResponseType.rtItemSalesTaxAddRs)
                        {
                            //upcast to more specific type here, this is safe because we checked with response.Type check above
                            IItemSalesTaxRet ItemSalesTaxRet = (IItemSalesTaxRet)response.Detail;
                            WalkItemSalesTaxRet(ItemSalesTaxRet);
                        }
                    }
                }
            }
        }


        void WalkItemSalesTaxRet(IItemSalesTaxRet ItemSalesTaxRet)
        {
            if (ItemSalesTaxRet == null) return;

            //Go through all the elements of IItemSalesTaxRet
            //Get value of ListID
            string ListID1 = (string)ItemSalesTaxRet.ListID.GetValue();
            //Get value of TimeCreated
            DateTime TimeCreated2 = (DateTime)ItemSalesTaxRet.TimeCreated.GetValue();
            //Get value of TimeModified
            DateTime TimeModified3 = (DateTime)ItemSalesTaxRet.TimeModified.GetValue();
            //Get value of EditSequence
            string EditSequence4 = (string)ItemSalesTaxRet.EditSequence.GetValue();
            //Get value of Name
            string Name5 = (string)ItemSalesTaxRet.Name.GetValue();
            //Get value of BarCodeValue
            if (ItemSalesTaxRet.BarCodeValue != null)
            {
                string BarCodeValue6 = (string)ItemSalesTaxRet.BarCodeValue.GetValue();
            }
            //Get value of IsActive
            if (ItemSalesTaxRet.IsActive != null)
            {
                bool IsActive7 = (bool)ItemSalesTaxRet.IsActive.GetValue();
            }
            if (ItemSalesTaxRet.ClassRef != null)
            {
                //Get value of ListID
                if (ItemSalesTaxRet.ClassRef.ListID != null)
                {
                    string ListID8 = (string)ItemSalesTaxRet.ClassRef.ListID.GetValue();
                }
                //Get value of FullName
                if (ItemSalesTaxRet.ClassRef.FullName != null)
                {
                    string FullName9 = (string)ItemSalesTaxRet.ClassRef.FullName.GetValue();
                }
            }
            //Get value of ItemDesc
            if (ItemSalesTaxRet.ItemDesc != null)
            {
                string ItemDesc10 = (string)ItemSalesTaxRet.ItemDesc.GetValue();
            }
            //Get value of TaxRate
            if (ItemSalesTaxRet.TaxRate != null)
            {
                double TaxRate11 = (double)ItemSalesTaxRet.TaxRate.GetValue();
            }
            if (ItemSalesTaxRet.TaxVendorRef != null)
            {
                //Get value of ListID
                if (ItemSalesTaxRet.TaxVendorRef.ListID != null)
                {
                    string ListID12 = (string)ItemSalesTaxRet.TaxVendorRef.ListID.GetValue();
                }
                //Get value of FullName
                if (ItemSalesTaxRet.TaxVendorRef.FullName != null)
                {
                    string FullName13 = (string)ItemSalesTaxRet.TaxVendorRef.FullName.GetValue();
                }
            }
            //Get value of ExternalGUID
            if (ItemSalesTaxRet.ExternalGUID != null)
            {
                string ExternalGUID14 = (string)ItemSalesTaxRet.ExternalGUID.GetValue();
            }
            if (ItemSalesTaxRet.DataExtRetList != null)
            {
                for (int i15 = 0; i15 < ItemSalesTaxRet.DataExtRetList.Count; i15++)
                {
                    IDataExtRet DataExtRet = ItemSalesTaxRet.DataExtRetList.GetAt(i15);
                    //Get value of OwnerID
                    if (DataExtRet.OwnerID != null)
                    {
                        string OwnerID16 = (string)DataExtRet.OwnerID.GetValue();
                    }
                    //Get value of DataExtName
                    string DataExtName17 = (string)DataExtRet.DataExtName.GetValue();
                    //Get value of DataExtType
                    ENDataExtType DataExtType18 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                    //Get value of DataExtValue
                    string DataExtValue19 = (string)DataExtRet.DataExtValue.GetValue();
                }
            }
        }


    }
}

关于quickbooks - 使用 QBFC 添加销售税项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15694503/

相关文章:

c++ - Windows 7 中的 QBSDK (QuickBooks)

c# - 我如何添加(引用)Quick book 的 dll 到 silverlight 项目?

c# - "BeginSession"方法未被调用或未成功 - QBFC SDK12 和 ASP.NET 网站

c# - QuickBooks错误将自定义字段添加到子客户/职位QBFC

soap - 如何在 Quickbooks Web 连接器中处理 sendRequestXML 中的零作业

php - Mac 上的 QuickBooks,PHP5(无 Web 连接器)

paypal - 从 paypal 回调中检索 IPP 访问 token 和访问 secret

php - 如何为 Intuit 合作伙伴平台创建 Oauth 签名和 SAML 断言?

QuickBooks Online 使用过滤器查询每次都返回 401