แก้ไขที่ไฟล์ DocumentEngine.java ที่ base\src\org\compiere\process\
บรรทัดที่ 963
/******************** * Invoice */
else if (AD_Table_ID == MInvoice.Table_ID AD_Table_ID == MInvBatch.Table_ID) {
if (docStatus.equals(DocumentEngine.STATUS_Completed)) {
options[index++] = DocumentEngine.ACTION_Void;
options[index++] = DocumentEngine.ACTION_Reverse_Correct;
}
}
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
วันศุกร์ที่ 28 สิงหาคม พ.ศ. 2552
ทำให้ข้อความที่แสดงข้างล่างของหน้า Order และ Invoice มีการแสดงค่าภาษี
To คุณเหมย เรื่อง : แก้ไข Source Code วันที่ 26/8/52
ปัญหาที่แก้ไข : ทำให้ข้อความที่แสดงข้างล่างของหน้า Order และ Invoice มีการแสดงค่าภาษี
วิธีการแก้:
1. แก้ไขไฟล์ Gridtab.java ใน org.compiere.model
2. ต้องแก้ Message ในระบบ Adempiere ด้วย เพื่อให้รับค่าไปแสดงได้ถูกต้อง โดยค้นหา Key ชื่อ "OrderSummary" แล้วแก้ MessageText เป็น{0} Line(s) - {1,number,#,##0.00} - Tax: {5,number,#,##0.00} - Total: {2,number,#,##0.00} {3} = {4,number,#,##0.00}
3. แก้ส่วนของ Tab "Translation" ภาษาไทยให้เหมือนกันด้วย{0} รายการ - {1,number,#,##0.00} - ภาษี: {5,number,#,##0.00} - ทั้งหมด: {2,number,#,##0.00} {3} = {4,number,#,##0.00}
เวท
ผู้ Contribute คือ คุณเวทค่ะ ขอขอบคุณค่ะ
ปัญหาที่แก้ไข : ทำให้ข้อความที่แสดงข้างล่างของหน้า Order และ Invoice มีการแสดงค่าภาษี
วิธีการแก้:
1. แก้ไขไฟล์ Gridtab.java ใน org.compiere.model
2. ต้องแก้ Message ในระบบ Adempiere ด้วย เพื่อให้รับค่าไปแสดงได้ถูกต้อง โดยค้นหา Key ชื่อ "OrderSummary" แล้วแก้ MessageText เป็น{0} Line(s) - {1,number,#,##0.00} - Tax: {5,number,#,##0.00} - Total: {2,number,#,##0.00} {3} = {4,number,#,##0.00}
3. แก้ส่วนของ Tab "Translation" ภาษาไทยให้เหมือนกันด้วย{0} รายการ - {1,number,#,##0.00} - ภาษี: {5,number,#,##0.00} - ทั้งหมด: {2,number,#,##0.00} {3} = {4,number,#,##0.00}
เวท
ผู้ Contribute คือ คุณเวทค่ะ ขอขอบคุณค่ะ
วันอาทิตย์ที่ 9 สิงหาคม พ.ศ. 2552
Update isDelivered in C_Oder
ขณะนี้ Adempiere 3.5.3a ไม่สนับสนุนเรื่อง isDelivered เนื่องจาก เมื่อมีการนำสินค้ามาส่งแล้ว ยังไม่มีการมาอัพเดทสถานะของ isDelivered ใน C_Order เลย เราจึงทำการแก้ไขดังนี้ โดยเพิ่มฟังกซ์ ชั่นเข้าไปเช็คค่าใน C_OrderLine ว่าถ้า QtyDelivered == QtyOdered แล้ว ให้อัพเดทสถานะ isDelivered เป็น Y
/** * Update isDelivered
* @return true if header updated
*/
private boolean updateIsDelivered() {
Boolean isDelivered = false;
try {
PreparedStatement pstmt = DB.prepareStatement(sql, null);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) { //
BigDecimal QtyDelivered = rs.getBigDecimal("QtyDelivered");
BigDecimal QtyOrdered = rs.getBigDecimal("QtyOrdered");
if (QtyDelivered.subtract(QtyOrdered) == Env.ZERO) {
isDelivered = true;
}
}
rs.close();
pstmt.close();
}
catch (SQLException e) {
log.log(Level.SEVERE, sql, e);
return false;
}
if (isDelivered) {
sql = "UPDATE C_Order SET isDelivered = 'Y' WHERE C_Order_ID = " +
getC_Order_ID();
int no = DB.executeUpdate(sql, get_TrxName());
}
return true;
}
/** * Update isDelivered
* @return true if header updated
*/
private boolean updateIsDelivered() {
String sql = "SELECT COALESCE(SUM(QtyDelivered),0) as QtyDelivered, COALESCE(SUM(QtyOrdered),0) as QtyOrdered " +
" FROM C_OrderLine il WHERE i.C_Order_ID=" + getC_Order_ID();
Boolean isDelivered = false;
try {
PreparedStatement pstmt = DB.prepareStatement(sql, null);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) { //
BigDecimal QtyDelivered = rs.getBigDecimal("QtyDelivered");
BigDecimal QtyOrdered = rs.getBigDecimal("QtyOrdered");
if (QtyDelivered.subtract(QtyOrdered) == Env.ZERO) {
isDelivered = true;
}
}
rs.close();
pstmt.close();
}
catch (SQLException e) {
log.log(Level.SEVERE, sql, e);
return false;
}
if (isDelivered) {
sql = "UPDATE C_Order SET isDelivered = 'Y' WHERE C_Order_ID = " +
getC_Order_ID();
int no = DB.executeUpdate(sql, get_TrxName());
}
return true;
}
สมัครสมาชิก:
บทความ (Atom)