protected virtual void GAFPeriod_BranchID_FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e)
        {
            List <int> branches = PXAccess.GetMasterBranchID(Accessinfo.BranchID);

            e.NewValue = branches != null ? (int?)branches[0] : null;
            e.Cancel   = branches != null;
        }
Exemple #2
0
        protected virtual IEnumerable defaultCompanyContact()
        {
            List <int> branches = PXAccess.GetMasterBranchID(Accessinfo.BranchID);

            foreach (PXResult <Branch, BAccountR, Contact> res in PXSelectJoin <Branch,
                                                                                LeftJoin <BAccountR, On <Branch.bAccountID, Equal <BAccountR.bAccountID> >,
                                                                                          LeftJoin <Contact, On <BAccountR.defContactID, Equal <Contact.contactID> > > >,
                                                                                Where <Branch.branchID, Equal <Required <Branch.branchID> > > > .Select(this, branches != null ? (int?)branches[0] : null))
            {
                yield return((Contact)res);

                break;
            }
        }
Exemple #3
0
        protected virtual void TaxTran_RevisionID_FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e)
        {
            if (Document.Current.BranchID == null)
            {
                e.NewValue = null;
            }
            else
            {
                using (new PXReadBranchRestrictedScope(PXAccess.GetMasterBranchID(Document.Current.BranchID).First()))
                {
                    TaxHistory max = PXSelect <TaxHistory,
                                               Where <TaxHistory.vendorID, Equal <Current <TaxAdjustment.vendorID> >,
                                                      And <TaxHistory.taxPeriodID, Equal <Current <TaxAdjustment.taxPeriod> > > >,
                                               OrderBy <Desc <TaxHistory.revisionID> > >
                                     .Select(this);

                    e.NewValue = max != null ? max.RevisionID : 1;
                }
            }
        }
Exemple #4
0
        private void ValidateDocDate(PXCache cache, TaxAdjustment doc)
        {
            if (doc.DocDate == null || doc.TaxPeriod == null || doc.BranchID == null)
            {
                return;
            }

            var taxPeriod = TaxYearMaint.FindTaxPeriodByKey(this,
                                                            PXAccess.GetMasterBranchID(doc.BranchID).First(),
                                                            doc.VendorID,
                                                            doc.TaxPeriod);

            if (taxPeriod == null)
            {
                return;
            }

            string errorMessage = null;

            if (vendor.Current.TaxReportFinPeriod == true)
            {
                var finPeriod = FinPeriodIDAttribute.GetByID(this, doc.FinPeriodID);

                if (finPeriod.FinDate >= taxPeriod.EndDate)
                {
                    errorMessage = Messages.SelectedDateBelongsToTheTaxPeriodThatIsGreaterThanTheSpecifiedOne;
                }
            }
            else if (doc.DocDate >= taxPeriod.EndDate)
            {
                errorMessage = Messages.SelectedDateBelongsToTheTaxPeriodThatIsGreaterThanTheSpecifiedOne;
            }

            var ex = errorMessage != null
                                ? new PXSetPropertyException(errorMessage, PXErrorLevel.Warning)
                                : null;

            cache.RaiseExceptionHandling <TaxAdjustment.docDate>(doc, doc.DocDate, ex);
        }
Exemple #5
0
        private void SetDocDateByPeriods(PXCache cache, TaxAdjustment document)
        {
            if (document.TaxPeriod == null || document.BranchID == null)
            {
                return;
            }

            int masterbranchID = PXAccess.GetMasterBranchID(document.BranchID).First();

            var taxPeriod = TaxYearMaint.FindTaxPeriodByKey(this,
                                                            masterbranchID,
                                                            document.VendorID,
                                                            document.TaxPeriod);

            if (taxPeriod == null)
            {
                return;
            }

            DateTime?docDate;

            if (vendor.Current.TaxReportFinPeriod == true)
            {
                var finPeriod = FinPeriodIDAttribute.FindMaxFinPeriodWithEndDataBelongToInterval(this, taxPeriod.StartDate,
                                                                                                 taxPeriod.EndDate);

                docDate = finPeriod != null
                                        ? finPeriod.FinDate
                                        : Accessinfo.BusinessDate;
            }
            else
            {
                docDate = taxPeriod.EndDateUI;
            }

            cache.SetValueExt <TaxAdjustment.docDate>(document, docDate);
        }