Skip to main content
Question

Error when creating IN Transfer programmatically.

  • November 27, 2024
  • 0 replies
  • 21 views

I am trying to create a Transfer but keep getting error”:

GL Error: The financial period cannot be specified because the branch has not been specified in the Branch box.'
However I am setting the branch. Below is a screenshot of my code. 

 

                INTransferEntry transferEntry = PXGraph.CreateInstance<INTransferEntry>();

                INSite fromWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "MAIN");
                INSite toWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "PROJECT");

                DateTime? docDate = DateTime.Now.ToUniversalTime();
                int? orgID = PXAccess.GetParentOrganizationID(1);
                FinPeriod fPeriod = finPeriodRepository.GetFinPeriodByDate(docDate, orgID);


                INRegister transferRegister = (INRegister)transferEntry.transfer.Cache.Insert();

                INRegister transferRegister = new INRegister();
                DateTime? docDate = DateTime.Now.ToUniversalTime();
                int? orgID = PXAccess.GetParentOrganizationID(1);
                FinPeriod fPeriod = finPeriodRepository.GetFinPeriodByDate(docDate, orgID);
                transferRegister.DocType = INDocType.Transfer;
                transferRegister.TranDate = docDate;
                transferRegister.FinPeriodID = fPeriod.FinPeriodID;
                transferRegister.TranDesc = "Entered programmatically";
                transferRegister.SiteID = fromWarehouse.SiteID;
                transferRegister.ToSiteID = toWarehouse.SiteID;
                transferRegister.TransferType = INTransferType.OneStep;
                transferRegister.Hold = false;
                transferRegister.BranchID = 1;
                transferEntry.transfer.Current = transferEntry.transfer.Insert(transferRegister);
                transferRegister = transferEntry.transfer.Current;
                transferRegister = transferEntry.transfer.Update(transferRegister);
                transferEntry.Actions.PressSave();

 

I can use the exact same detail when doing this from UI and there’s no issue saving it. 

From the UI, the Branch is readonly and only gets set when choosing the Warehouse ID. 

Trying it a different way and getting the same error and this right after setting the branch. 

 

 

                INTransferEntry transferEntry = PXGraph.CreateInstance<INTransferEntry>();

                INSite fromWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "MAIN");
                INSite toWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "PROJECT");

                DateTime? docDate = DateTime.Now.ToUniversalTime();
                int? orgID = PXAccess.GetParentOrganizationID(1);
                FinPeriod fPeriod = finPeriodRepository.GetFinPeriodByDate(docDate, orgID);


                INRegister transferRegister  = (INRegister)transferEntry.transfer.Cache.Insert();

                transferEntry.transfer.SetValueExt<INRegister.siteID>(transferRegister, fromWarehouse.SiteID);
                transferEntry.transfer.SetValueExt<INRegister.toSiteID>(transferRegister, toWarehouse.SiteID);
                transferEntry.transfer.SetValueExt<INRegister.branchID>(transferRegister, 1);
                transferEntry.transfer.SetValueExt<INRegister.finPeriodID>(transferRegister, fPeriod.FinPeriodID);
                transferRegister = transferEntry.transfer.Update(transferRegister);
                transferEntry.Actions.PressSave();

 

 

 

What am I doing wrong here?

 

 

 

 

0 replies

Be the first to reply!

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings