قراء الفاتورة تعديل مختلفة تتناول سلوك الفرد من إنشاء, كيفية تعويض?

StackOverflow https://stackoverflow.com/questions/877689

  •  22-08-2019
  •  | 
  •  

سؤال

أنا أكتبها وظيفة أن تأخذ فاتورة الملف في الشكل المحدد واستيراده إلى قراء عبر qbXML.واحدة من requrements هو أنه من الممكن إعادة استيراد نفس رقم الفاتورة من القائمة الفاتورة تعديلها بدلا من إنشاء واحدة جديدة مع نفس العدد.

المشكلة لدي هي في كيفية قراء مقابض عناوين.عناوين أنا على الحصول يمكن أن يكون في أي شكل (6 مختلفة contenents) ، دون أي ضمان التقيد السليم تنسيق عنوان لتلك اللغة.

لذلك خلق الفاتورة هو بسيط بما فيه الكفاية ، أنا في تحديد علامة xml عنوان الفواتير addr1 خلال addr5 و قراء يأخذ أي مشكلة. ومع ذلك لا يخزن عنوان الخام النص ، المحاولات لتحليل خارج المدينة الدولة الرمز البريدي والبلد.

فاتورة تعديل بالنظر إلى نفس العنوان ، تحليل خارج المدينة والولاية والرمز البريدي ، بل ترك سطر العنوان سليمة ، وترك المدينة الدولة الرمز البريدي يمسها ، وخلق ازدواجية خط على الفاتورة الحر شكل النص الآخر من المركب من المدينة والولاية والرمز البريدي.الحل لهذا هو explicity مجموعة المدينة الدولة الرمز البريدي البلد ملاحظة فارغة على الفاتورة تعديل.ومع ذلك لم تحل تماما مشكلة.

في بعض الأحيان قراء سوف بشكل صحيح تحليل العنوان و إضافة رقم عشوائي على السطر التالي (داخليا ممثلة في ملاحظة علامة التبويب).

وأحيانا قراء يرفض العنوان ، حتى ظننت أنه يقبل ذلك على خلق.أعتقد لأنه هو محاولة تحليل 5 خط معالجة و تعديل منذ دولة المدينة و الرمز البريدي لا أين تذهب, لا مكان لتخزينها.

إن الحل الوحيد هو أن تترك ببساطة عنوان يمسها ، و تخبر المستخدم أنه نظرا إلى قراء القيود لا يوجد طريقة لتعديل العنوان على إعادة استيراد الفاتورة فقط خطوط الفاتورة.

وقد أي شخص من أي واجهت هذا من قبل, و إذا كان الأمر كذلك ، هل لديك عمل أفضل هنا ؟ هل تعرف عنوان محلل يمكن منطقيا التقريبي ما قراء لا يمكنني إرساله المدينة الدولة الرمز البريدي على خلق بطريقة متسقة?

الآن إلى حد (ما عدا الأخيرة) قراء يعطيني الرد أن يقول لي ما هو تحليل على إنشاء لذا يمكن نظريا المتجر أن أعرف ما أنا التعامل معها ، ولكن قصيرة من كتابة بعض مضيعة للوقت عنوان تحليل إجراءات هل هناك أي حل للحصول على قراء إعادة تحليل العنوان من جديد.

هنا هو الطلب والاستجابة.علما أن الفاتورة إنشاء متطابقة ، أن أزلت بعض المعلومات التعريفية ، لكنها أبقت مجال الأطوال نفسه.

طلب:

<?xml version="1.0" encoding="UTF-8"?>  <?qbxml version="7.0"?>
<QBXML>
<QBXMLMsgsRq newMessageSetID="243f42acf4011139b7a" onError="stopOnError">
    <InvoiceModRq>
        <InvoiceMod>
            <TxnID>4E64-1242411202</TxnID>
            <EditSequence>1242411202</EditSequence>
            <CustomerRef>
                <ListID>80000012-1242156814</ListID>
            </CustomerRef>
            <ARAccountRef>
                <FullName>Accounts Receivable</FullName>
            </ARAccountRef>
            <TxnDate>2009-04-01</TxnDate>
            <RefNumber>M-053491</RefNumber>
            <BillAddress>
                <Addr1>S &amp; S ACME CO., INC.</Addr1>
                <Addr2>MR. ABC ABCDEF</Addr2>
                <Addr3>981 ABCD 761 ST</Addr3>
                <Addr4>ABABC, AA 99999-3584</Addr4>
                <Addr5>USA</Addr5>
                <City/>
                <State/>
                <PostalCode/>
                <Country/>
                <Note/>
            </BillAddress>
            <TermsRef>
                <FullName>NET 30</FullName>
            </TermsRef>
            <DueDate>2009-05-01</DueDate>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>ABCDEFG ABC $3,000.00 *</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>FOR:</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <ItemRef>
                    <FullName>ANFEE</FullName>
                </ItemRef>
                <Desc>1 . #9999 S &amp; S ABCD CO., INC., ABCDE, AA *</Desc>
                <Amount>123456.72</Amount>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>PLEASE NOTE: Blahh Someone sellificant repeats on July 31st, 2009.</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>Sellifcan of your Someone Ssellificant to Jan. 31st, 2011 is contingent upon</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>your satisfying all open invoices and all other/different issues.</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>* PLUS expenses for some amount of service described here.</Desc>
            </InvoiceLineMod>
        </InvoiceMod>
    </InvoiceModRq>
</QBXMLMsgsRq>
</QBXML>

الرد:

    <?xml version="1.0" ?> <QBXML>
<QBXMLMsgsRs newMessageSetID="243f42acf4011139b7a">
<InvoiceModRs statusCode="3210" statusSeverity="Error"
              statusMessage="The &quot;address&quot; field has an invalid value &quot;&quot;.  QuickBooks error message: The parameter is incorrect. "/>
</QBXMLMsgsRs>
</QBXML> 
هل كانت مفيدة؟

المحلول

آخر محتمل الحل هنا هو مزدوج-تحديث الفاتورة.الأولى فارغة من العنوان.الثاني هو إرسال خمسة أسطر دون أي ذكر المدينة الدولة الرمز البريدي ، وما إلى ذلك ، كما تم بشأن إنشاء.

لم أكن اختبار هذا (المستخدمين قبلت أن العنوان لن يتغير, لذلك أنا لست ذاهب الى محاولة ذلك), ولكن أنا أضع هنا كفكرة حتى إذا كان شخص ما لديه مشكلة مماثلة أنها يمكن أن تحاول ذلك وربما التعليق هنا إذا كان يعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top