private static FmJournalOperation MakeOperationPlan0(IObjectSpace os, FmFinPlanSubject fin_plan_subject) { FmJournalOperation oper = os.CreateObject <FmJournalOperation>(); fin_plan_subject.PlanFullOperations.Add(oper); return(oper); }
protected void MakeLineMaterialOperations(FmFinPlanDocLine line, FmFinPlanDocTime time) { FmJournalOperation oper = null; switch (line.LineType) { case FmFinPlanLineType.FMFPL_MATERIAL_TOP: break; case FmFinPlanLineType.FMFPL_MATERIAL_BAY: break; case FmFinPlanLineType.FMFPL_MATERIAL_BAY_ITEM_COST: break; case FmFinPlanLineType.FMFPL_MATERIAL_BAY_ITEM_PAY: break; case FmFinPlanLineType.FMFPL_MATERIAL_BAY_PAY: break; case FmFinPlanLineType.FMFPL_MATERIAL_BUILD: break; case FmFinPlanLineType.FMFPL_MATERIAL_BUILD_ITEM: break; } }
protected FmJournalOperation MakeOperation(FmFinPlanDocLine line, FmFinPlanDocTime time) { FmJournalOperation oper = ObjectSpace.CreateObject <FmJournalOperation>(); Document.DocOperations.Add(oper); OperationFillDate(oper, time); return(oper); }
protected void OperationFillDate(FmJournalOperation oper, FmFinPlanDocTime time) { switch (time.TimeType) { case FmFinPlanTimeType.FMFPT_YEAR: oper.Date = new DateTime(time.Year, 12, 31); break; case FmFinPlanTimeType.FMFPT_QUARTER: oper.Date = new DateTime(time.Year, time.Quarter * 3, 1).AddMonths(1).AddDays(-1); break; case FmFinPlanTimeType.FMFPT_MONTH: oper.Date = new DateTime(time.Year, time.Month, 1).AddMonths(1).AddDays(-1); break; default: oper.Date = new DateTime(1899, 12, 31); break; } }
protected void MakeLineCashOperations(FmFinPlanDocLine line, FmFinPlanDocTime time) { FmJournalOperation oper = null; switch (line.LineType) { case FmFinPlanLineType.FMFPL_CASH_IN_RUB_CASH: //oper = MakeOperation(line, time); //oper.FinAccountType = FinAccountType.ACC_O_PAY_SUPPLIER; //oper.FinOperationType = FinOperationType.CREDIT; //oper.FinAccountBalanceType = FinOperationType.CREDIT; //oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); //oper.BalanceSumma = time.ValueManual; //oper.BalanceValuta = line.TopLine.Valuta; //oper.Party = line.TopLine.Party; //break; break; // oper = MakeOperation(os, doc, line, time); // oper.DepartmentStructItem = // break; } }
public static void TransactPlan0(IObjectSpace os, FmFinPlanSubject fin_plan_subject, FmFinPlanSubjectDocFull doc) { if (doc.Order == null) { throw new NullReferenceException(); } foreach (var oper in new List <FmJournalOperation>(fin_plan_subject.PlanFullOperations)) { if (oper.Order == doc.Order) { os.Delete(oper); } // os.Delete(fin_plan_subject.PlanFullOperations.Where(x => x.Order == doc.Order)); } foreach (var doc_oper in doc.DocOperations) { FmJournalOperation oper = MakeOperationPlan0(os, fin_plan_subject); oper.BalanceSumma = doc_oper.BalanceSumma; oper.BalanceValuta = doc_oper.BalanceValuta; oper.BuhAccount = doc_oper.BuhAccount; oper.CostItem = doc_oper.CostItem; oper.Date = doc_oper.Date; oper.Deal = doc_oper.Deal; oper.Department = doc_oper.Department; oper.DepartmentStructItem = doc_oper.DepartmentStructItem; oper.FinAccount = doc_oper.FinAccount; oper.FinAccountBalanceType = doc_oper.FinAccountBalanceType; oper.FinAccountType = doc_oper.FinAccountType; oper.FinIndex = doc_oper.FinIndex; oper.FinOperationType = doc_oper.FinOperationType; oper.ObligationSumma = doc_oper.ObligationSumma; oper.ObligationValuta = doc_oper.ObligationValuta; oper.Order = doc_oper.Order; oper.Party = doc_oper.Party; oper.PayType = doc_oper.PayType; // oper.Person = doc_oper.Person; } }
protected void MakeLinePartyOperations(FmFinPlanDocLine line, FmFinPlanDocTime time) { FmJournalOperation oper = null; switch (line.LineType) { case FmFinPlanLineType.FMFPL_PARTY_PARTY_RUB_COST: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_O_PAY_SUPPLIER; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.CREDIT; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.BalanceSumma = time.ValueManual; oper.BalanceValuta = line.TopLine.Valuta; oper.Party = line.TopLine.Party; break; case FmFinPlanLineType.FMFPL_PARTY_PARTY_RUB_PAY_POST: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_O_PAY_SUPPLIER; oper.FinOperationType = FinOperationType.DEBET; oper.FinAccountBalanceType = FinOperationType.CREDIT; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.BalanceSumma = time.ValueManual; oper.BalanceValuta = line.TopLine.TopLine.Valuta; oper.Party = line.TopLine.TopLine.Party; // oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_CASH; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.BalanceSumma = time.ValueManual; oper.BalanceValuta = line.TopLine.TopLine.Valuta; oper.PayType = PaymentRequest.fmPRPayType.POSTPAYMENT; oper.Party = line.TopLine.TopLine.Party; break; case FmFinPlanLineType.FMFPL_PARTY_PARTY_RUB_PAY_PRE: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_PREPAY_SUPPLIER; oper.FinOperationType = FinOperationType.DEBET; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.BalanceSumma = time.ValueManual; oper.BalanceValuta = line.TopLine.TopLine.Valuta; oper.Party = line.TopLine.TopLine.Party; // oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_CASH; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.BalanceSumma = time.ValueManual; oper.BalanceValuta = line.TopLine.TopLine.Valuta; oper.PayType = PaymentRequest.fmPRPayType.PREPAYMENT; oper.Party = line.TopLine.TopLine.Party; break; case FmFinPlanLineType.FMFPL_PARTY_PARTY_VAL_COST: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_O_PAY_SUPPLIER; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.CREDIT; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.ObligationSumma = time.ValueManual; oper.ObligationValuta = line.TopLine.Valuta; oper.Party = line.TopLine.Party; break; case FmFinPlanLineType.FMFPL_PARTY_PARTY_VAL_PAY_POST: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_O_PAY_SUPPLIER; oper.FinOperationType = FinOperationType.DEBET; oper.FinAccountBalanceType = FinOperationType.CREDIT; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.ObligationValuta = line.TopLine.TopLine.Valuta; oper.ObligationSumma = time.ValueManual; oper.Party = line.TopLine.TopLine.Party; // oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_CASH; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.ObligationValuta = line.TopLine.TopLine.Valuta; oper.ObligationSumma = time.ValueManual; oper.PayType = PaymentRequest.fmPRPayType.POSTPAYMENT; oper.Party = line.TopLine.TopLine.Party; break; case FmFinPlanLineType.FMFPL_PARTY_PARTY_VAL_PAY_PRE: oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_PREPAY_SUPPLIER; oper.FinOperationType = FinOperationType.DEBET; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.ObligationValuta = line.TopLine.TopLine.Valuta; oper.ObligationSumma = time.ValueManual; oper.Party = line.TopLine.TopLine.Party; // oper = MakeOperation(line, time); oper.FinAccountType = FinAccountType.ACC_A_CASH; oper.FinOperationType = FinOperationType.CREDIT; oper.FinAccountBalanceType = FinOperationType.DEBET; oper.CostItem = CostItems.FirstOrDefault(x => x.Code == "7001"); oper.ObligationValuta = line.TopLine.TopLine.Valuta; oper.ObligationSumma = time.ValueManual; oper.PayType = PaymentRequest.fmPRPayType.PREPAYMENT; oper.Party = line.TopLine.TopLine.Party; break; } }