コード例 #1
0
        /**
         *  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);
        }
コード例 #2
0
        /**
         *  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;
        }