หากท่านใดมีข้อสงสัยหรือคำถามเกี่ยวกับการใช้งานโปรแกรม Express สามารถเข้ามาสอบถามได้ที่นี่ครับ
Moderator: Sutas, CO-Admin, Global Moderator
โดย leklekrock » อาทิตย์ ธ.ค. 17, 2017 1:43 pm
จะการคำนวณค่าคอมฯให้พนักงาน (แยกตามสินค้าที่ขายได้) โดยมีเงื่อนไขคือ รายการการขายนั้นต้องได้รับการชำระเงินแล้ว
ถ้าเอารายงาน "ประวัติการขาย แยกตามพนักงาน" ซึ่งมีข้อมูล "พนักงานขาย" "ชื่อสินค้า" "วันที่" "เลขที่เอกสาร" "ยอดขายสุทธิ" มารวมกับ
"วิเคราะห์ยอดขาย แยกตามเขตการขาย, พนักงานขาย" ซึ่งมีข้อมูล "เลขที่เอกสาร" "เก็บเงิน"
คำถาม
1.รายงาน "วิเคราะห์ยอดขาย แยกตามเขตการขาย, พนักงานขาย" ซึ่งมีข้อมูล "เก็บเงิน" ถ้าเก็บได้บางส่วนเช่นลูกค้าผ่อนให้ ระบบจะขึ้น Y หรือ N ครับ
2.มีวิธีแนะนำอื่นๆไหมครับ
ขอบคุณครับ
-
leklekrock
- Jr. Member

-
- โพสต์: 68
- ลงทะเบียนเมื่อ: อาทิตย์ ม.ค. 25, 2015 6:24 pm
โดย suchai » จันทร์ ธ.ค. 18, 2017 8:27 am
คำถามที่ 1 เก็บเงินได้บางส่วน สถานะการชำระเงินเป็น N ครับ
การใช้ข้อมูลวิเคราะห์การขายหรือ ยอดขาย มาคำนวณ คอมมิชชั่น นั่นหมายถึงดูจากเอกสารขาย HS หรือ IV หากมีการรับชำระหนี้ RE โปรแกรมจะมาปรับสถานะการชำระใน IV เป็น Y
แต่วิธีนี้ ก็ยังไม่เป็นที่สบายใจของลูกค้า ที่คิดมาก คิดรอบคอบ
1.หากมีการยกเลิกหรือลบ การรับชำระหนี้ RE ตัวเลขในรายงานจะเปลี่ยนไป
2.ในสถานะ RE รับชำระหนี้ หากเป็นเช็ค ก็ยังไม่รู้ว่า เช็คจะผ่านหรือเปล่า
แต่เนื่องจากรายงานวิเคราะห์การขาย ยอดขาย เป็นเครื่องมือเบื้องต้นที่จับต้องได้ และแก้ไขเองได้ไม่ยาก เพียงแต่ต้องเข้าใจถึงจุดอ่อนไหวที่ได้กล่าวไปแล้ว
ถ้าคุณยังจะใช้รายงาน 71X หรือ 72X ผมจะให้คาถาเอาเฉพาะที่ชำระเงินแล้วเท่านั้นออกมา
ในบรรทัดรายงานที่ขึ้นด้วย Query=.AND...... คุณไปเพิ่มบรรทัดเพื่อกรองเอาเฉพาะข้อมูลที่ชำระเงินเรียบร้อยแล้ว
Query=.AND.CMPLAPP='Y'.AND.DTOS(CMPLDAT)=' '
10 ปีที่แล้ว ผมเคยทำรายงาน COMMISSION เขาไปตั้งต้นตั้งแต่แนวหลัง ใช้รายงาน 194 รายงานรับชำระหนี้ วันที่เช็คผ่าน มันจะแสดง RE แต่ละใบและเอกสารลูกคือ IV แต่ละรายการ จากนั้นก็ทำงานคำนวณต้นทุนและคิดค่าคอมกันไปเรื่อยเปื่อย ตัวนี้อาจจะดูยากหน่อย เพราะแสดงผลค่อนข้างละเอียด แต่ต้องแน่ใจว่า การคิดค่าคอมไม่น่าผิดพลาด และมีทีมตรวจสอบตัวเลข เพราะค่าคอม สมมติว่าเป็น โรงไฟฟ้า 1 โรง ค่าคอมตั้งแต่ 6 หลัก ไปถึง 7 หลัก จึงตั้งมีวิธีคิดค่าคอมที่รัดกุม ตรวจสอบได้ และจ่ายกันแบบ ไม่ต้องมาลังเล สงสัยอะไร
-

suchai
- Hero Member

-
- โพสต์: 2332
- ลงทะเบียนเมื่อ: ศุกร์ มิ.ย. 24, 2005 9:35 pm
- ที่อยู่: suchai9@yahoo.co.th จังหวัดระยอง
-
โดย leklekrock » จันทร์ ธ.ค. 18, 2017 11:00 am
ขอบคุณมากครับ
สอบถามเพิ่มเติมครับ
การรับชำระหนี้ ถ้ารับด้วย เช็คล่วงหน้า แต่ยังไม่รู้ผลผ่านหรือไม่ ข้อมูล "เก็บเงิน" ระบบจะขึ้น Y หรือ N ครับ
-
leklekrock
- Jr. Member

-
- โพสต์: 68
- ลงทะเบียนเมื่อ: อาทิตย์ ม.ค. 25, 2015 6:24 pm
โดย suchai » จันทร์ ธ.ค. 18, 2017 10:43 pm
ระบบจะขึ้น Y ครับ
-

suchai
- Hero Member

-
- โพสต์: 2332
- ลงทะเบียนเมื่อ: ศุกร์ มิ.ย. 24, 2005 9:35 pm
- ที่อยู่: suchai9@yahoo.co.th จังหวัดระยอง
-
โดย leklekrock » พุธ ธ.ค. 20, 2017 4:02 pm
1.ในรายงาน 713 ถ้าต้องการให้แสดงข้อมูล "เก็บเงิน" (Y/N) เหมือน รายงาน 721 ต้องเอาค่าไหนไปใส่ครับ (หมายเหตุ อยากให้แสดงข้อมูลทั้งหมด ทั้งที่เป็น Y และ N
2.คาถานี้ Query=.AND.CMPLAPP='Y'.AND.DTOS(CMPLDAT)=' ' รายงานจะมาเฉพาะที่ชำระแล้ว (Y) อย่างเดียว ส่วนที่เป็น N จะไม่แสดงในรายงานใช่ไหมครับ
ขอบคุณครับ
-
leklekrock
- Jr. Member

-
- โพสต์: 68
- ลงทะเบียนเมื่อ: อาทิตย์ ม.ค. 25, 2015 6:24 pm
โดย suchai » พุธ ธ.ค. 20, 2017 11:04 pm
ข้อ 1 รายงาน 713 ใช้ตัวแปร Y แสดงสถานะการเก็บเงินดังนี้
~Y: 0, "", "ARTRN->CMPLAPP", ""
ถ้าเก็บเงินแล้วเป็น Y ถ้ายังเป็น N
ข้อ 2 ใช่ครับ แต่ขอแก้ไข คาถาหน่อย ที่ใช้ได้ทั้ง 71X และ 72X เนื่องจากไฟล์โครงสร้างของทั้งสองกลุ่มไม่เหมือนกัน
Query=.AND.ARTRN->CMPLAPP='Y'.AND.DTOS(ARTRN->CMPLDAT)#' '
คำสั่งที่บอกไปที่แรก ผิดตรง DTOS(CMPLDAT)=' ' ที่ถูกต้องเป็น DTOS(CMPLDAT)#' '
-

suchai
- Hero Member

-
- โพสต์: 2332
- ลงทะเบียนเมื่อ: ศุกร์ มิ.ย. 24, 2005 9:35 pm
- ที่อยู่: suchai9@yahoo.co.th จังหวัดระยอง
-
โดย leklekrock » พฤหัสฯ. ธ.ค. 21, 2017 10:50 am
ขอบคุณมากครับ ได้แล้วครับ
ตอนนี้ ผมได้รายงาน 713 ใหม่ที่มีข้อมูล "เก็บเงิน" และ "วันครบกำหนด" แล้ว ความต้องการต่อไปคือ อยากเอาข้อมูลในรายงาน 31 เช็ครับเรียงตามวันที่เช็ค มาประกอบข้อมูลคือ
ในรายงาน 31 จะมีข้อมูลสถานะเช็ค "เช็คในมือ" "เช็คผ่าน" "เช็คไม่ผ่าน" ซึ่งในเอกสารการรับชำระเงิน 1 เอกสาร อาจมีการรับชำระด้วยเช็คมากกว่า 1 ฉบับ (สมมติว่า 3 ฉบับ)
คำถาม
1. ผมสามารถเขียนสูตรใน Express ว่า ถ้าเอกสารการรับชำระเงินมีเช็คฉบับใดฉบับหนึ่งมีสถานะไม่เท่ากับ "เช็คผ่าน" ให้ "เก็บเงิน" = "N" แต่ถ้าเช็คทั้ง 3 ฉบับ มีสถานะเป็น "เช็คผ่าน" ทั้งหมด ให้ "เก็บเงิน" = "Y" ได้หรือไม่ ถ้าได้เขียนอย่างไรครับ
ขอบคุณครับ
-
leklekrock
- Jr. Member

-
- โพสต์: 68
- ลงทะเบียนเมื่อ: อาทิตย์ ม.ค. 25, 2015 6:24 pm
โดย suchai » พฤหัสฯ. ธ.ค. 21, 2017 2:09 pm
สำหรับผม มันก็ไม่มีคำว่า ได้หรือไม่ มีแต่ จะทำออกมาอย่างไร เพราะวิธีทำมีมากกว่า 1 วิธีขึ้นไป
เวลาคุณถาม ผมก็ต้องดูว่า ถ้าแค่ขยับตัวอักษรหน่อย แล้วได้ผล ใช้เวลาสัก 10 นาที ก็ทำไป
แต่ถ้าโปรแกรมเริ่มคิดมาก และมากขึ้น มันต้องใช้เวลาเขียนรายงานเพื่อให้แสดงรายละเอียดก่อน
จากนั้นคุณต้องเชื่อมระบบเช็คเข้ามาในรายงานก่อน (เชื่อมยังไง ผมยังไม่มีเวลาแกะ)
จากนั้นเข้าเงื่อนไข เก็บเงินแล้ว Y ให้ค่าเป็น 0 ยังไม่เก็บเงินให้ค่าเป็น 1 ถ้าผลรวมมีค่าเท่ากับ 0 แสดงว่า เก็บเงินทั้งหมด อันนี้สมมติให้ฟัง
ผมต้องเคลื่อนตัวไปเรื่อยๆ หลายจังหวัด หัวหิน เพชรบุรี ราชบุรี กรุงเทพฯ สมุทรปราการ ระยอง จันทบุรี สระแก้ว
และตอนนี้ผมอยู่ สุพรรณบุรี กำลังเข้าโหมด ซับซ้อน
คุณอาจจะเอา Code รายงานมาโชว์ ให้พี่ๆ น้องๆ ใน Webboard ชมกันหน่อย เผื่อจะได้ช่วยกัน ยำๆ
อาทิตย์หน้าผมอยู่ ปราจีน บุรีรัมย์ ผมจะได้ดูอยู่ห่างๆ แล้วก็คอยช่วยสักหน่อย
-

suchai
- Hero Member

-
- โพสต์: 2332
- ลงทะเบียนเมื่อ: ศุกร์ มิ.ย. 24, 2005 9:35 pm
- ที่อยู่: suchai9@yahoo.co.th จังหวัดระยอง
-
โดย leklekrock » พฤหัสฯ. ธ.ค. 21, 2017 5:15 pm
ตอนนี้ผมลองแค่ Export รายงาน 3.1 ไปเป็น Excel แล้ว
1.กำหนดค่าใหม่ให้ "เช็คไม่ผ่าน"=1 =N "เช็คในมือ"=2 =N "เช็คผ่าน"=3 =Y แล้ว sort แบบ A>Z
2.ผลที่ได้จะได้เป็น ดังนี้
RE6011001 Chq00001 "เช็คไม่ผ่าน" 1 N
RE6011001 Chq00002 "เช็คในมือ" 2 N
RE6011001 Chq00003 "เช็คผ่าน" 3 Y
RE6011002 Chq00004 "เช็คในมือ" 2 N
RE6011002 Chq00005 "เช็คผ่าน" 3 Y
RE6011003 Chq00006 "เช็คในมือ" 2 N
RE6011004 Chq00007 "เช็คผ่าน" 3 Y
3.ใช้คำสั่ง Remove Duplicates (เอารายการซ้ำออก) ใน Excel (excel จะเอารายการซ้ำออกหมด คงเหลือแต่รายการแรกและรายการที่ไม่มีข้อมูลซ้ำ) ผลที่ได้จะเหลือแค่
RE6011001 Chq00001 "เช็คไม่ผ่าน" 1 N
RE6011002 Chq00004 "เช็คในมือ" 2 N
RE6011003 Chq00006 "เช็คในมือ" 2 N
RE6011004 Chq00007 "เช็คผ่าน" 3 Y
4.นำข้อมูลที่ได้ไป Vlookup กับ File ที่ได้จากรายงาน 713
สรุปจะได้รายงาน 713 สำหรับรายการชำระด้วยเช็ค สถานะเช็คต้องเป็น "เช็คผ่าน" ทุกฉบับ "เก็บเงิน" จึงเท่ากับ Y ถ้าไม่ใช่จะเท่ากับ N (ไม่รู้ Logic ถูกไหมนะครับ)
ปล.เผื่อท่านใดอยากลองเอาวิธีนี้ใช้ไปพลางๆก่อนนะครับ ถือว่าแชร์ๆกันไป (ถ้าใช้ได้)
ส่วนเขียนใน Express ตอนนี้ต้องบอกว่าความรู้เรื่องเขียนสูตรใน express น้อยมากครับ (อยู่ระหว่างหาข้อมูลวิธีเขียน)
ขอขอบคุณ คุณ suchai ครับ
-
leklekrock
- Jr. Member

-
- โพสต์: 68
- ลงทะเบียนเมื่อ: อาทิตย์ ม.ค. 25, 2015 6:24 pm
ย้อนกลับไปยัง ถาม-ตอบปัญหาเกี่ยวกับโปรแกรม Express
ผู้ใช้งานขณะนี้
กำลังดูบอร์ดนี้: Majestic-12 [Bot] และ บุคคลทั่วไป 27 ท่าน