หน้า 1 จากทั้งหมด 2
ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
อังคาร พ.ย. 27, 2018 1:19 pm
โดย lek_iowa
ต้องการให้ใบสั่งขายแสดงยอดรวม "บิลที่ค้างชำระ" ของลูกค้าแต่ละราย
"ยอดคงเหลือ" ในรายละเอียดลูกค้า ไม่ใช่ยอดที่ต้องการ
บางรายติดลบ ทั้งที่มีบิลค้างชำระอยู่
ผมเข้าใจว่า เกิดจากผมทำการประมวลผลสิ้นปีที่ไม่ถูกต้อง
ทำให้ยอดยกมา ไม่ถูกต้องตามไปด้วยหรือเปล่าครับ
ผมไม่ได้ใช้ระบบบัญชี ในโปรแกรม express
ใช้แค่เปิดบิล และรับชำระหนี้ คุมสต๊อคเท่านั้น เลยไม่เคยเห็นประเด็นนี้
ตอนนี้ฟอร์มสามารถทำให้ ใบสั่งขายแสดงรายการบิลที่ค้างชำระทุกบิล และแสดงเช็คที่ยังไม่ผ่านบัญชีแต่ละใบได้
ต้องการเพิ่มอีก 2 ตัวแปรคือ 1.รวมยอดบิล 2.รวมยอดเช็ค
ขอคำแนะนำด้วยครับ


Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
อังคาร พ.ย. 27, 2018 2:02 pm
โดย ITTI
ชุดการทำงานผลรวม IV ครับ
Ih:: ~INIT_IV ;4
Ib: ;4
If: ~SUM_IV ;4
[data spect]
~INIT_IV: 0, "", "", "SUM_IV=0"
~AMOUNT_IV: 0, "9,999,999.99", "ARTRN->AMOUNT", "SUM_IV=SUM_IV+ARTRN->AMOUNT"
~SUM_IV: 0, "9,999,999.99", "SUM_IV", ""
ส่วนผลรวมเช็ค ถ้าผู้สอบถามทำชุดนี้ได้ผมเชื่อว่าสามารถทำผลรวมของเช็คได้ครับ ใช้หลักการเดียวกันครับ
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
อังคาร พ.ย. 27, 2018 2:02 pm
โดย ITTI
ชุดการทำงานผลรวม IV ครับ
Ih:: ~INIT_IV ;4
Ib: ;4
If: ~SUM_IV ;4
[data spect]
~INIT_IV: 0, "", "", "SUM_IV=0"
~AMOUNT_IV: 0, "9,999,999.99", "ARTRN->AMOUNT", "SUM_IV=SUM_IV+ARTRN->AMOUNT"
~SUM_IV: 0, "9,999,999.99", "SUM_IV", ""
ส่วนผลรวมเช็ค ถ้าผู้สอบถามทำชุดนี้ได้ผมเชื่อว่าสามารถทำผลรวมของเช็คได้ครับ ใช้หลักการเดียวกันครับ
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 8:45 am
โดย suchai
เรื่องของระบบลูกหนี้ทั้งหมด ถูกเขียนเป็นเรื่องราว เป็นตอนๆ เอาไว้ใน แบบฟอร์ม รายละเอียดลูกค้า ข้อ 1
"ใบตรวจสอบวงเงินสินเชื่อ" เข้าไปดูใน แบบทดสอบฟอร์มที่ 1
แต่ถึงจะมีเฉลยอยู่ต่อหน้า ก็ต้องอาศัยความเข้าใจโครงสร้างการทำงานของโปรแกรม นั่นหมายถึงพื้นฐานต้องแข็งแรง
ลองเข้าไปดูตัวแปร sumivc กับ sumchq ซึ่งตัวแปรที่เป็นตัวเลข จะต้องมีการกำหนดค่าให้โปรแกรมรู้ ก่อนเริ่มคำนวณ ด้วย sumivc=0; sumchq=0 ทีนี้ก็อยู่ที่ลีลา ว่าจะกำหนดหรือเคลียร์ค่ากันตรงไหน ตรงหัว Ih: ของแต่ละอัน หรือในต้นฉบับ ปรมาจารย์เล่น ~CLRSUM ไว้ในบรรทัด Bo: เลย ถือว่ารวบได้ดี ไม่ต้องสร้างตัวแปรแบบนี้ในแต่ละ Ih: ซึ่งมีหลายอัน แต่การเข้ามาแก้ไขภายหลัง ถ้าเป็นคนอื่นจะมองยาก คือแต่ละคนจะมีวิธีเขียนที่ไม่เหมือนกัน แต่ให้ผลลัพธ์ที่เหมือนกัน
Ih: ***เช็คที่ยังไม่ผ่านบัญชี*** ;5 BKTRN->CUSCOD+BKTRN->CHQSTAT OESO->CUSCOD+'0'
Ih: วันที่เช็ค เลขที่เช็ค ¸ ธนาคาร จำนวนเงิน
Ih: -------- ---------- ------ -------------
Ib: ~CHQDAT ~CHQNUM ~BANK ~CHQAMT ;5
If: ------------- ;5
If: รวม ~SUMCHQ ;5
If: ============= ;5
[item file]
File=BKTRN
Alias=K
Tag=BKTRN8
System=DATA_PATH
ที่เหลือก็เป็นค่าตัวแปร ก็ไปเอาในใบตรวจสอบวงเงินสินเชื่อ ให้แค่นี้ ป้องกันการ Copy วาง เดี๋ยวสมองจะไม่ได้ทำงาน
ส่วนเรื่องชื่อตัวแปร จะตั้งอะไรก็ได้ เช่น ต้นฉบับใช้ SUMIVC คุณ ITTI ใช้ SUM_IV ผมอาจจะใช้ SUMIV ก็แล้วแต่จะตั้ง
---------------------------
ITTI [data spec] เกิน t ไป
---------------------------
ไปอ่านคัมภีร์ในแบบฟอร์ม "ใบตรวจสอบวงเงินเชื่อ" มองและทำความเข้าใจไปเรื่อยๆ แล้วก็ไปทำเรื่องอื่น แล้วว่างก็กลับมามอง ทำแบบนี้ไปเรื่อยๆ หลายๆ ปี จนภาษาในระบบ มันเริ่มคุ้นเคย และสะสมความรู้ รอจนกว่าจะอิ่มตัว 5 ปี 10 ปี 15 ปี บอกไม่ได้ ดูไปเรื่อยๆ เต็มเมื่อไหร่ ก็เมื่อนั้น
เมื่อเข้าใจ ระบบลูกหนี้ทั้งหมดจนทะลุปรุโปร่ง ข้อมูลจะทะลุถึงกันทั้งหมด และสามารถเข้าใจฝั่งซื้อได้ นั่นหมายถึง การสร้างความสัมพันธ์ของข้อมูลในทุกๆ เรื่องเข้าหากันได้โดยสมบูรณ์
อย่าง ;5 BKTRN->CUSCOD+BKTRN->CHQSTAT OESO->CUSCOD+'0'
เป็นการใช้ BKTRN รหัสลูกค้าบวกด้วยสถานะเช็ค (0 ยังไม่ผ่านบัญชี) เชื่อมเข้าไปที่ OESO ใบสั่งขายบวกด้วย '0' ซึ่งใน OESO ไม่มีแต่ในไฟล์ BKTRN ถ้ามีค่าเท่ากับ 0 คือเช็คยังไม่ผ่านบัญชี การเชื่อมตรงนี้ มีแค่ เข้าใจ 100% กับไม่เข้าใจ 0% ต้องหาความสัมพันธ์ให้เป็น และยังต้องเข้าใจการเรียงดัชนีอีกว่า จะเรียงด้วยอะไร
[item file]
File=BKTRN
Alias=K
Tag=BKTRN8
System=DATA_PATH
ผมลอกต้นฉบับใช้ BKTRN8 ใน Tagหมายเลข8คือ CUSCOD+CHQSTAT+DTOS(CHQDAT)+CHQNUM
มันต้องจัดการเรียงข้อมูลให้ถูกต้องก่อนทั้งสองฝั่ง แล้วค่อยเชื่อมความสัมพันธ์
กว่าจะเข้าใจ ลองผิดลองถูก ต้องเชื่อมง่ายแบบชั้นเดียว STCRD->DOCNUM ARTRN->DOCNUM ก่อน และฝึกฝนไปเรื่อยๆ ท่องไว้แบบผม ทำไป ทำไปเรื่อยๆ ในโลกนี้ไม่มีอะไรน่าสนใจมากกว่าเรื่องนี้ หากชาตินี้ไม่สำเร็จ อธิษฐานจะต่อชาติหน้าให้สำเร็จ ด้วยความพยายามจนถึงที่สุด ไม่ว่าจะ 10 ปี 20 ปี เมื่อถึงจุดๆ หนึ่ง ก็จะไม่มีคำว่า "ทำไม่ได้" แต่จะมีคำว่า "จะทำยังไง"
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 1:54 pm
โดย lek_iowa
ตอนนี้อยากได้เงื่อนไขเพิ่มเติมครับ
คืออยากได้ยอดรวมอย่างเดียว โดยไม่เอาแต่และรายการย่อย
สามารถใช้โครงสร้างไหนแทน Ih: Ib: If: โดยไม่เปลืองบันทัดในการพิมพ์หรือไม่ครับ
เพราะลูกค้าบางรายซื้อเดือนละ20-30บิล
พอพิมพ์ออกมาแล้วมันเปลืองหน้ากระดาษครับ
อยากได้แต่ค่า SUM_IV และ SUM_CHQ มาใช้งานครับ
k.ITTI
ทำยอดรวมตามที่แนะนำได้แล้วคับ รวมทั้งยอดรวมเช็คด้วย ขอบคุณมากครับ
k.suchai
ตัวอย่างที่ให้มา พอเข้าใจบางส่วนครับ
พยายามทำด้วยตัวเองก่อนทุกครั้ง บางทีครึ่งวัน-1วัน แล้วแต่เวลาจะอำนวยครับ
นานๆทำที ลืมบ้าง ไม่เข้าใจบ้าง
แต่การสร้างโครงสร้างคำสั่งใหม่เลย ยังยากสำหรับผม
โดยเฉพาะการเชื่อมข้อมูลหลายๆไฟล์ สร้างเองไม่ได้เลยครับ
แต่ผมทำแล้วสนุกครับ มันเหมือนภาษาอีกภาษานึงอย่างที่k.suchai บอกครับ
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 2:04 pm
โดย suchai
บรรทัดไหนให้โปรแกรมคำนวณอย่างเดียว ให้เพิ่ม เครื่องหมาย : อ่านว่าโคล่อน
เช่น
Ih::
Ib::
บรรทัดไหนมีโคลอนสองตัว โปรแกรมจะคำนวณเงียบๆ ไม่แสดงผล
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 2:44 pm
โดย lek_iowa
ครับ ได้แล้ว
อันนี้ไม่เคยรู้เหมือนกัน
ขอบคุณมากๆครับ
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 5:00 pm
โดย lek_iowa
เจอปัญหาครับ
ในลูกค้ารายที่ไม่มีเช็ครับ
มันจะ error แจ้งว่าไม่พบตัวแปร SUMCHQ
แต่ถ้าลุกค้ารายที่มีเช็ครับ จะไม่ error ครับ
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พุธ พ.ย. 28, 2018 9:34 pm
โดย suchai
คงไปทำอะไรผิด ของผมทุกแบบ ก็ไม่มี Error
ทีนี้ลองทำให้ผิด ไปลบ sumchq=0 ดังนั้น ในกรณีที่มี chq จะขึ้น Error ว่าไม่พบตัวแปร sumchq
การที่ไม่พบตัวแปร มีกรณีเดียว ที่ต้องสงสัยคือ คุณไม่ประกาศให้โปรแกรมรู้ว่า sumchq=0 เป็นตัวแปรแบบตัวเลข มีค่าเริ่มต้นเท่ากับ 0
อย่างแน่นอน ไม่มีเรื่องอื่น เพราะถ้าผมรีบ ไม่ประกาศตัวแปร โปรแกรมมันก็จะบ่นออกมาแบบนี่ ดูให้ชิน
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 9:30 am
โดย lek_iowa
ยังหาสาเหตุไม่เจอเลยครับ
ลองทำให้ผิด ไม่ประกาศตัวแปรของ SUMCHQ=0
ปรากฎว่า error ทั้ง 2 กรณีทั้งมีเช็คและไม่มีเช็ค
แต่ถ้าประกาศตัวแปร จะ error เฉพาะเจ้าที่ไม่มีเช็ครับครับ
รบกวนช่วยดูให้หน่อยครับ



Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 10:46 am
โดย suchai
เหมือนรายการแฟนพันธ์ เปิดแค่จมูก แล้วให้ทาย ITTI ไหวมั้ย
ขอตัวช่วยเปิดตำแหน่งด้านบน ที่โปรแกรมทำงานหน่อย
ผมนั่งสมาธิ ยังเพ่งไม่เห็น
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 11:30 am
โดย ITTI
ผมคิดว่าน่าจะตกหล่นค่าตัวแปร ที่ใช้เคลียยอด ครับ
บรรทัด Ih:: ~INIT_CQ ;5
Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 11:53 am
โดย lek_iowa
มีครับ ไม่ได้ตกหล่น
อาจมีพิมพ์ผิดหรือเปล่า ผมก็ทวนซ้ำหลายรอบแล้ว
ถึงขั้นก๊อปปี้ตัวแปรเดียวกันแล้วแปะซ้ำลงไป
คนนอกมองอาจเห็นก็ได้ครับ สงสัยเส้นผมบังภูเขา

Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 12:07 pm
โดย lek_iowa
อันนี้เวอร์ชั่นเต็มครับ


Re: ต้องการยอดค้างชำระ ที่ไม่ใช่ยอดคงเหลือ

โพสต์แล้ว:
พฤหัสฯ. พ.ย. 29, 2018 1:29 pm
โดย ITTI
จุดแรกที่อยากให้เปลี่ยนนะครับ
บรรทัด SU: เห็นมีตัวแปร ~SUMCHQ อยู่ครับ อยากให้เปลี่ยนเป็นชื่ออื่นที่ไม่ซ้ำกับ IF เช่น ~SUMCHQ_SU
และการประกาศค่าก็แยกชื่อเล่นกันออกมาครับผม
ผลรวมที่แสดผลที่บรรทัด SU: ควรประกาศค่าเคลีย 0 ที่บรรทัด Ti:: เคลียที่ตัวแปร ~INIT ครับ เพราะผมเห็นว่ามีการสร้างตัวแปรรวมด้านล่างอีก
ถ้าไม่เคลียแยกกัน ผลรวมสุดท้ายจะผิดครับ ส่วนประเด็น error ถ้าแยกชุดตัวแปรออกมาก็น่าจะไม่ error แล้วนะครับ ทดลองดูครับ