//
 private void TrwRefCashFlowUpdate()
 {
     if (Order == null || CostItem == null || !(PayType == fmPRPayType.PREPAYMENT || PayType == fmPRPayType.POSTPAYMENT))
     {
         return;
     }
     TrwRefCashFlow = TrwRefCashFlowLogic.AutoDetect(ObjectSpace.FindObjectSpaceByObject(this), false, Order, PayType, CostItem);
 }
            public void Import(IObjectSpace os, String file_name)
            {
                DelimitedFileEngine engine = new DelimitedFileEngine(typeof(Tr));

                engine.Options.IgnoreFirstLines = 1;
                Tr[] records = (Tr[])engine.ReadFile(file_name);
                IList <TrwRefCashFlow> obj_refs = os.GetObjects <TrwRefCashFlow>();

                foreach (Tr rec in records)
                {
                    TrwRefCashFlow obj = obj_refs.FirstOrDefault(x => x.Code == rec.Code.Trim());
                    if (obj == null)
                    {
                        obj = os.CreateObject <TrwRefCashFlow>();
                        obj_refs.Add(obj);
                        obj.Code = rec.Code.Trim();
                    }
                    obj.Name     = rec.Name.Trim();
                    obj.NameFull = rec.Name.Trim();
                }
                foreach (TrwRefCashFlow obj_ref in obj_refs)
                {
                    String [] comp = obj_ref.Code.Split('.');
                    if (comp.Length > 1)
                    {
                        String[] tops_comp = new String[comp.Length - 1];
                        for (int i = 0; i < tops_comp.Length; i++)
                        {
                            tops_comp[i] = comp[i];
                        }
                        String         top_code = String.Join(".", tops_comp);
                        TrwRefCashFlow top_obj  = obj_refs.FirstOrDefault(x => x.Code == top_code);
                        top_obj.Childs.Add(obj_ref);
                    }
                }
                foreach (TrwRefCashFlow obj_ref in obj_refs)
                {
                    if (obj_ref.Childs.Count == 0)
                    {
                        obj_ref.IsSelectabled = true;
                    }
                }
            }