** จะปิด Periods ใน Axapta สำคัญ **
1. ต้องสอบถาม งบง. ว่าทำฝั่งบัญชีเสร็จแล้วหรือยัง เพราะถ้าปิดไปแล้ว งบง. จะไม่สามารถปรับยอดหรือ Adjust ฝั่งบัญชีได้
2. วันที่ใน InventJournalTrans ต้องไม่มีค้าง ที่ยังไม่ได้ Post ต้องไม่มีในเดือนที่จะปิด
2.1. ค้างเปลี่ยนวันที่ใน Line และใส่ Remark นอกเล่มว่า งทส. เปลี่ยนวันที่
2.2. บางรายการมีการลบเล่มทิ้งแต่รายการใน Line ยังไม่อยู่ ต้องลบออก ไม่ได้ใช้งาน
1. Run Check ไม่มีการ Update แค่ดูเฉย ๆ
1.1. InventJournalTrans มีวันที่ที่จะ Close อยู่หรือไม่
1.2. InventJournalTrans มี แต่ InventJournalTable ไม่มี ถูกลบไป แต่ยังไม่ได้ Post
1.3. InventJournalTrans มี แต่ InventJournalTable ไปหาต่อที่ InventTrans ว่าถูก Post หรือไม่
Info ได้ Jouranl ออกมา ไปตรวจสอบ
- static void CheckCloseAC(Args _args)
- {
- InventJournalTable myInventJournalTable;
- InventJournalTrans myInventJournalTrans;
- InventTrans myInventTrans;
- LedgerJournalTrans myLedgerJournalTrans;
- LedgerJournalTable myLegerJournalTable;
- ;
- ///// ###### Not Post. ####### ///////
- WHILE
- SELECT JournalId, TransDate FROM myInventJournalTrans
- GROUP BY JournalId, TransDate
- JOIN myInventJournalTable
- WHERE myInventJournalTable.JournalId == myInventJournalTrans.JournalId
- && myInventJournalTable.Posted == NoYes::No
- && myInventJournalTrans.TransDate >= str2date("1/6/2015",123)
- && myInventJournalTrans.TransDate <= str2date("31/6/2015",123)
- {
- info(strfmt("%1 : %2", myInventJournalTrans.JournalId, myInventJournalTrans.TransDate));
- }
- ///// ###### Delete Journal But InventJournalTrans remain data. ########## /////
- WHILE
- SELECT JournalId, TransDate FROM myInventJournalTrans
- GROUP BY JournalId, TransDate
- WHERE myInventJournalTrans.TransDate >= str2date("1/6/2015",123)
- && myInventJournalTrans.TransDate <= str2date("31/6/2015",123)
- {
- SELECT JournalId FROM myInventJournalTable
- WHERE myInventJournalTable.JournalId == myInventJournalTrans.JournalId;
- if(!myInventJournalTable.JournalId){
- info(strfmt("%1 : %2", myInventJournalTrans.JournalId, myInventJournalTrans.TransDate));
- //Check Post.
- SELECT firstOnly myInventTrans
- WHERE myInventTrans.TransRefId == myInventJournalTrans.JournalId;
- if(!myInventTrans.TransRefId){
- info(myInventJournalTrans.JournalId);
- }
- }
- }
- }
2. เปลี่ยนวันที่ใน InventJournalTrans ให้เป็นวันที่ 1/1/2019 และแก้ Remark ( Update ข้อมูล เปลี่ยนวันที่ไปทีละเดือน Run ครั้งเดียว ถ้า Run ซ้ำ Remark จะเบิ้น)
- static void TWO_UpdateCloseAC(Args _args)
- {
- InventJournalTable myInventJournalTable;
- InventJournalTrans myInventJournalTransUpdate;
- InventJournalTable myInventJournalTableUpdate;
- InventJournalTrans myInventJournalTrans;
- ;
- /* WHILE
- SELECT * FROM myInventJournalTable
- WHERE myInventJournalTable.Posted == NoYes::No
- //&& myInventJournalTable.JournalId == "15-0003320"
- && myInventJournalTable.TransDate >= str2date("1/3/2015",123)
- && myInventJournalTable.TransDate <= str2date("31/3/2015",123)*/
- WHILE
- SELECT JournalId, TransDate FROM myInventJournalTrans
- GROUP BY JournalId, TransDate
- JOIN myInventJournalTable
- WHERE myInventJournalTable.JournalId == myInventJournalTrans.JournalId
- && myInventJournalTable.Posted == NoYes::No
- && myInventJournalTrans.TransDate >= str2date("1/11/2018",123)
- && myInventJournalTrans.TransDate <= str2date("31/11/2018",123)
- {
- myInventJournalTable = InventJournalTable::find(myInventJournalTrans.JournalId);
- info(strfmt("%1", myInventJournalTable.JournalId));
- ttsbegin;
- WHILE
- SELECT FORUPDATE myInventJournalTransUpdate
- WHERE myInventJournalTransUpdate.JournalId == myInventJournalTable.JournalId
- { //### Update All Line To 1/1/2019 ####//
- myInventJournalTransUpdate.TransDate = str2date("1/1/2019", 123);
- myInventJournalTransUpdate.update();
- }
- ttscommit;
- //### Update InventTable ###//
- ttsbegin;
- SELECT FORUPDATE myInventJournalTableUpdate
- WHERE myInventJournalTableUpdate.JournalId == myInventJournalTable.JournalId;
- //myInventJournalTableUpdate.TransDate = str2date("1/1/2019", 123);
- if(myInventJournalTable.Cause == ""){
- myInventJournalTableUpdate.Cause = strfmt("(งทส. เปลี่ยนวันที่ เดิม %1)", myInventJournalTable.TransDate);
- } else {
- myInventJournalTableUpdate.Cause = strfmt("%1 (งทส. เปลี่ยนวันที่ เดิม %2)", myInventJournalTable.Cause, myInventJournalTable.TransDate);
- }//Close If.
- myInventJournalTableUpdate.update();
- ttscommit;
- }//Close While.
- info("Update Finish.");
- }
3. ทดลอง Close Periods ดู
ไม่มีความคิดเห็น:
แสดงความคิดเห็น