0
econnect를 사용하여 Dynamics GP에서 단일 gltransaction을 입력하려고합니다.Dynamics GP에서 배열을 사용하여 GLTransaction에 대한 eConnect XML 파일 세부 정보
아래 코드는 XML 파일을 생성합니다. 그러나 XML 파일에 3 개의 동일한 GL 행 항목을 25 달러에 각각 배치하여 불균형 항목을 남깁니다.
내가 대신하고 싶은 점은 아래 코드 당 $ 75 이체, $ 50 크레딧 및 $ 25 크레딧입니다. 내가 특별히 잘못한 일을 해결할 수 있도록 도와 주셔서 3 개의 $ 25 항목이 파일에 들어 가지 않습니까? 사전에
감사합니다.
string DTime = DateTime.Today.ToString();
string CurrentDatabase = "OCITE";
string NextJEno = GetNextJournal.GetNextJournalEntry(CurrentDatabase);
eConnectType eConnect = new eConnectType();
GLTransactionType myGLTrxType = new GLTransactionType();
taGLTransactionHeaderInsert myGLHeader = new taGLTransactionHeaderInsert();
taGLTransactionLineInsert_ItemsTaGLTransactionLineInsert [] myGLDetail = new taGLTransactionLineInsert_ItemsTaGLTransactionLineInsert[3];
taGLTransactionLineInsert_ItemsTaGLTransactionLineInsert myGLDetailLine = new taGLTransactionLineInsert_ItemsTaGLTransactionLineInsert();
myGLDetailLine.BACHNUMB = CurrentDatabase;
myGLDetailLine.JRNENTRY = Int32.Parse(NextJEno);
myGLDetailLine.CRDTAMNT = (decimal)0;
myGLDetailLine.DEBITAMT = (decimal)75.00;
myGLDetailLine.ACTNUMST = "1000-0000-C";
myGLDetail[0] = myGLDetailLine;
myGLDetailLine.BACHNUMB = CurrentDatabase;
myGLDetailLine.JRNENTRY = Int32.Parse(NextJEno);
myGLDetailLine.CRDTAMNT = (decimal)50;
myGLDetailLine.DEBITAMT = (decimal)0;
myGLDetailLine.ACTNUMST = "6560-0000-C";
myGLDetail[1] = myGLDetailLine;
myGLDetailLine.BACHNUMB = CurrentDatabase;
myGLDetailLine.JRNENTRY = Int32.Parse(NextJEno);
myGLDetailLine.CRDTAMNT = (decimal)25;
myGLDetailLine.DEBITAMT = (decimal)0;
myGLDetailLine.ACTNUMST = "5120-0000-C";
myGLDetail[2] = myGLDetailLine;
myGLHeader.BACHNUMB = CurrentDatabase;
myGLHeader.JRNENTRY = Int32.Parse(NextJEno);
myGLHeader.REFRENCE = "REFRENCE";
myGLHeader.TRXDATE = DTime;
myGLHeader.TRXTYPE = 0;
myGLTrxType.taGLTransactionLineInsert_Items = myGLDetail;
myGLTrxType.taGLTransactionHeaderInsert = myGLHeader;
GLTransactionType[] myGLType = { myGLTrxType };
eConnect.GLTransactionType = myGLType;
FileStream streamFile = new FileStream(filename, FileMode.Create);
XmlTextWriter Xmlwriter = new XmlTextWriter(streamFile, new UTF8Encoding());
XmlSerializer serializer = new XmlSerializer(eConnect.GetType());
serializer.Serialize(Xmlwriter, eConnect);
Xmlwriter.Close();
XML 파일
<eConnect xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GLTransactionType>
<eConnectProcessInfo xsi:nil="true" />
<taRequesterTrxDisabler_Items xsi:nil="true" />
<taGLTransactionLineInsert_Items>
<taGLTransactionLineInsert>
<BACHNUMB>OCITE</BACHNUMB>
<JRNENTRY>1750</JRNENTRY>
<CRDTAMNT>25</CRDTAMNT>
<DEBITAMT>0</DEBITAMT>
<ACTNUMST>5120-0000-C</ACTNUMST>
</taGLTransactionLineInsert>
<taGLTransactionLineInsert>
<BACHNUMB>OCITE</BACHNUMB>
<JRNENTRY>1750</JRNENTRY>
<CRDTAMNT>25</CRDTAMNT>
<DEBITAMT>0</DEBITAMT>
<ACTNUMST>5120-0000-C</ACTNUMST>
</taGLTransactionLineInsert>
<taGLTransactionLineInsert>
<BACHNUMB>OCITE</BACHNUMB>
<JRNENTRY>1750</JRNENTRY>
<CRDTAMNT>25</CRDTAMNT>
<DEBITAMT>0</DEBITAMT>
<ACTNUMST>5120-0000-C</ACTNUMST>
</taGLTransactionLineInsert>
</taGLTransactionLineInsert_Items>
<taAnalyticsDistribution_Items xsi:nil="true" />
<taGLTransactionHeaderInsert>
<BACHNUMB>OCITE</BACHNUMB>
<JRNENTRY>1750</JRNENTRY>
<REFRENCE>REFRENCE</REFRENCE>
<TRXDATE>3/21/2013 12:00:00 AM</TRXDATE>
<TRXTYPE>0</TRXTYPE>
</taGLTransactionHeaderInsert>
<taMdaUpdate_Items xsi:nil="true" />
</GLTransactionType>
</eConnect>