/** * Get Counter document for document type * @param ctx context * @param C_DocType_ID base document * @return counter document C_DocType_ID or 0 or -1 if no counter doc */ public static int GetCounterDocType_ID(Ctx ctx, int C_DocType_ID) { // Direct Relationship MDocTypeCounter dtCounter = GetCounterDocType(ctx, C_DocType_ID); if (dtCounter != null) { if (!dtCounter.IsCreateCounter() || !dtCounter.IsValid()) { return(-1); } return(dtCounter.GetCounter_C_DocType_ID()); } // Indirect Relationship int Counter_C_DocType_ID = 0; MDocType dt = MDocType.Get(ctx, C_DocType_ID); if (!dt.IsCreateCounter()) { return(-1); } String cDocBaseType = "";// = getCounterDocBaseType(dt.getDocBaseType()); if (cDocBaseType == null) { return(0); } MDocType[] counters = MDocType.GetOfDocBaseType(ctx, cDocBaseType); for (int i = 0; i < counters.Length; i++) { MDocType counter = counters[i]; if (counter.IsDefaultCounterDoc()) { Counter_C_DocType_ID = counter.GetC_DocType_ID(); break; } if (counter.IsDefault()) { Counter_C_DocType_ID = counter.GetC_DocType_ID(); } else if (i == 0) { Counter_C_DocType_ID = counter.GetC_DocType_ID(); } } return(Counter_C_DocType_ID); }
/** * Get Counter document for document type * @param ctx context * @param C_DocType_ID base document * @return counter document C_DocType_ID or 0 or -1 if no counter doc */ public static int GetCounterDocType_ID(Ctx ctx, int C_DocType_ID) { // Direct Relationship MDocTypeCounter dtCounter = GetCounterDocType(ctx, C_DocType_ID); if (dtCounter != null) { if (!dtCounter.IsCreateCounter() || !dtCounter.IsValid()) { return(-1); } return(dtCounter.GetCounter_C_DocType_ID()); } return(0); // Indirect Relationship //int Counter_C_DocType_ID = 0; //MDocType dt = MDocType.Get(ctx, C_DocType_ID); //if (!dt.IsCreateCounter()) // return -1; //String cDocBaseType = "";// = getCounterDocBaseType(dt.getDocBaseType()); //if (cDocBaseType == null) // return 0; //MDocType[] counters = MDocType.GetOfDocBaseType(ctx, cDocBaseType); //for (int i = 0; i < counters.Length; i++) //{ // MDocType counter = counters[i]; // if (counter.IsDefaultCounterDoc()) // { // Counter_C_DocType_ID = counter.GetC_DocType_ID(); // break; // } // if (counter.IsDefault()) // Counter_C_DocType_ID = counter.GetC_DocType_ID(); // else if (i == 0) // Counter_C_DocType_ID = counter.GetC_DocType_ID(); //} //return Counter_C_DocType_ID; }