Пример #1
0
        private void BindOpportunityToForm()
        {
            try
            {
                _opportunity.GetByKey(_opportunityNumber);
                EditText0.Value  = _opportunityNumber.ToString();
                EditText3.Value  = _opportunity.OpportunityName;
                EditText1.Value  = _opportunity.CardCode;
                EditText4.Value  = _opportunity.CustomerName;
                EditText12.Value = (_opportunity.WeightedSumLC - (double)InternalConverters.ConvertStringToDecimal(OpportunityRepository.GetOpportunityUsedAmount(_opportunityNumber).ToString())).ToString();
                EditText6.Value  = SalesPersonRepository.GetNameById(_opportunity.SalesPerson);
                EditText8.Value  = _opportunity.ClosingPercentage + "%";

                //  var businessPartners =
                //      (BusinessPartners) SapDiConnection.Instance.GetBusinessObject(BoObjectTypes
                //          .oBusinessPartners);
                //  businessPartners.GetByKey(_opportunity.CardCode);
                // // businessPartners.ContactEmployees.SetCurrentLine(_opportunity.ContactPerson - 1);
                ////  EditText5.Value = businessPartners.ContactEmployees.Name;

                EditText7.Value = _opportunity.StartDate.ToString("dd.MM.yy");


                //add items
                var items = OpportunityRepository.GetOpportunityItemsById(_opportunityNumber);
                var count = 1;
                foreach (var item in items)
                {
                    Matrix0.AddRow();
                    ((EditText)Matrix0.Columns.Item("#").Cells.Item(count).Specific).Value     = count.ToString();
                    ((EditText)Matrix0.Columns.Item("Col_0").Cells.Item(count).Specific).Value = item.Id;
                    ((EditText)Matrix0.Columns.Item("Col_1").Cells.Item(count).Specific).Value = item.Name;
                    count++;
                }

                //dates
                EditText9.Value  = DateTime.Today.ToString("yyyyMMdd");
                EditText10.Value = DateTime.Today.ToString("yyyyMMdd");
                EditText11.Value = DateTime.Today.ToString("yyyyMMdd");

                EditText16.Value = InternalConverters.StringToDateTypeEdittext(_opportunity.UserFields.Fields.Item("U_ctrctdateto").Value.ToString());
                EditText17.Value = InternalConverters.StringToDateTypeEdittext(_opportunity.UserFields.Fields.Item("U_cntrctdateFrom").Value.ToString());
                _distrule        = _opportunity.UserFields.Fields.Item("U_DistRule").Value.ToString();
                _contractMonths  = InternalConverters.EditTextToDateTime(EditText17.Value).Subtract(InternalConverters.EditTextToDateTime(EditText16.Value)).Days /
                                   (365.25 / 12);
                _contractMonths      = Math.Round(_contractMonths);
                StaticText25.Caption = _contractMonths + " months";
            }
            catch (Exception exception)
            {
                Application.SBO_Application.SetStatusBarMessage(exception.Message);
                UIAPIRawForm.Close();
            }
        }
Пример #2
0
        private Result CreateJESchedule()
        {
            int    errCode;
            string errMSG;
            var    newCode        = OpportunityRepository.GetNewCodeForPlanningJE();
            var    accountActions = CreateListOfActionsForAccounts();

            foreach (var accountAction in accountActions)
            {
                switch (accountAction.Type)
                {
                case 1:
                    AddJournalEntry(accountAction);
                    break;

                case 2:
                    AddPlanningJournalEntry(accountAction, newCode);
                    newCode++;
                    break;
                }

                SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
                if (errCode != 0)
                {
                    return new Result {
                               Code = errCode, Message = errMSG
                    }
                }
                ;
            }

            SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
            return(new Result {
                Code = errCode, Message = errMSG
            });
        }
Пример #3
0
        private Result CreateType2()
        {
            int    errCode;
            string errMSG;
            var    newObjectCode = "";
            var    percent       = OpportunityRepository.GetCompanyRevenuePercent(_opportunityNumber);
            var    partners      = OpportunityRepository.GetPartnerList(_opportunityNumber);

            if (partners.Count == 0)
            {
                return new Result {
                           Code = 10, Message = "Check Partners"
                }
            }
            ;

            var ARInvoice = (Documents)SapDiConnection.Instance.GetBusinessObject(BoObjectTypes.oInvoices);

            ARInvoice.CardCode        = EditText19.Value;
            ARInvoice.DocDate         = InternalConverters.EditTextToDateTime(EditText9.Value);
            ARInvoice.DocDueDate      = InternalConverters.EditTextToDateTime(EditText10.Value);
            ARInvoice.TaxDate         = InternalConverters.EditTextToDateTime(EditText11.Value);
            ARInvoice.SalesPersonCode = _opportunity.SalesPerson;
            ARInvoice.DocCurrency     = _opportunity.UserFields.Fields.Item("U_CURRENCY").Value.ToString();
            ARInvoice.UserFields.Fields.Item("U_OppId").Value = _opportunityNumber;

            for (var i = 1; i <= Matrix0.RowCount; i++)
            {
                ARInvoice.Lines.ItemCode = ((EditText)Matrix0.Columns.Item(1).Cells.Item(i).Specific).Value;
                ARInvoice.Lines.Quantity = 1;

                if (_opportunityType == 1 && CheckBox0.Checked)
                {
                    ARInvoice.Lines.AccountCode = ((int)AccountCodes.insuranceBrokerage).ToString();
                }
                else if (_opportunityType == 2 && CheckBox0.Checked)
                {
                    ARInvoice.Lines.AccountCode = ((int)AccountCodes.reInsuranceBrokerage).ToString();
                }
                else if (!CheckBox0.Checked)
                {
                    ARInvoice.Lines.AccountCode = ((int)AccountCodes.clearingFirst).ToString();
                }

                ARInvoice.Lines.Price        = (double)InternalConverters.ConvertStringToDecimal(EditText12.Value);
                ARInvoice.Lines.CostingCode  = "B2B";
                ARInvoice.Lines.CostingCode2 = _distrule;
                ARInvoice.Lines.Add();
            }

            ARInvoice.Add();

            SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
            if (errCode != 0)
            {
                return new Result {
                           Code = errCode, Message = errMSG
                }
            }
            ;
            SapDiConnection.Instance.GetNewObjectCode(out newObjectCode);
            AddStageToOpportunity(newObjectCode, BoAPARDocumentTypes.bodt_Invoice);

            SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
            if (errCode != 0)
            {
                return new Result {
                           Code = errCode, Message = errMSG
                }
            }
            ;

            //partners
            foreach (var partner in partners)
            {
                //ap for partner
                var APInvoiceForPartner = (Documents)SapDiConnection.Instance.GetBusinessObject(BoObjectTypes.oPurchaseInvoices);

                APInvoiceForPartner.CardCode        = partner.Vendor;
                APInvoiceForPartner.DocDate         = InternalConverters.EditTextToDateTime(EditText9.Value);
                APInvoiceForPartner.DocDueDate      = InternalConverters.EditTextToDateTime(EditText10.Value);
                APInvoiceForPartner.TaxDate         = InternalConverters.EditTextToDateTime(EditText11.Value);
                APInvoiceForPartner.SalesPersonCode = _opportunity.SalesPerson;
                APInvoiceForPartner.DocCurrency     = _opportunity.UserFields.Fields.Item("U_CURRENCY").Value.ToString();
                APInvoiceForPartner.UserFields.Fields.Item("U_OppId").Value = _opportunityNumber;

                for (var i = 1; i <= Matrix0.RowCount; i++)
                {
                    APInvoiceForPartner.Lines.ItemCode = ((EditText)Matrix0.Columns.Item(1).Cells.Item(i).Specific).Value;
                    APInvoiceForPartner.Lines.Quantity = 1;

                    if (_opportunityType == 1 && CheckBox0.Checked)
                    {
                        APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.insuranceBrokerage).ToString();
                    }
                    else if (_opportunityType == 2 && CheckBox0.Checked)
                    {
                        APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.reInsuranceBrokerage).ToString();
                    }
                    else if (!CheckBox0.Checked)
                    {
                        APInvoiceForPartner.Lines.AccountCode = ((int)AccountCodes.clearingFirst).ToString();
                    }

                    APInvoiceForPartner.Lines.Price        = (double)((InternalConverters.ConvertStringToDecimal(EditText12.Value) / 100) * partner.Rate);
                    APInvoiceForPartner.Lines.CostingCode  = "B2B";
                    APInvoiceForPartner.Lines.CostingCode2 = _distrule;
                    APInvoiceForPartner.Lines.Add();
                }


                APInvoiceForPartner.Add();
                SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
                if (errCode != 0)
                {
                    return new Result {
                               Code = errCode, Message = errMSG
                    }
                }
                ;
                SapDiConnection.Instance.GetNewObjectCode(out newObjectCode);

                AddStageToOpportunity(newObjectCode, BoAPARDocumentTypes.bodt_PurchaseInvoice);

                SapDiConnection.Instance.GetLastError(out errCode, out errMSG);
                if (errCode != 0)
                {
                    return new Result {
                               Code = errCode, Message = errMSG
                    }
                }
                ;
            }
            return(new Result {
                Code = errCode, Message = errMSG
            });
        }