Hi all,
I would like to create a new project accrual transaction programmatically. before that, I already tested the same transaction on standard Sage 200 screens. Then I try to make another transactions with my custom program, but getting the error Ex40104Exception: "You must specify a nominal code." I have specify the nominal code for BS and PL as in the code below. I don't see any other nominal code to set.
private void TestInsertProjectCodeAccrual() { try { PCAccrual accrual = PCAccrualFactory.Factory.CreateNew(); accrual.Narrative = "Accrual Nov 25"; accrual.TransactionReference = "Accrual Nov 25 TREF"; accrual.SecondReference = "Accrual Nov 25 SEc ref"; accrual.AccrualDate = DateTime.Now; accrual.ReversalDate = DateTime.Now.AddDays(2); PCProject pcproject = PCProjectFactory.Factory.Fetch("0000000001"); accrual.PCProject = pcproject; PCProjectCostItems pcprojectitems = PCProjectCostItemsFactory.Factory.CreateNew(); pcprojectitems.Query.Filters.Add(new Sage.ObjectStore.Filter(PCProjectCostItem.FIELD_CODE, "Item project Test 1")); pcprojectitems.Find(); accrual.ProjectCostItem = pcprojectitems.First; accrual.Quantity = 1; accrual.GoodsValue = 250.00M; NominalSpecification PLNominalSpecification = NominalSpecificationFactory.Factory.CreateNew("03100", "", ""); accrual.PLNominalSpecification = PLNominalSpecification; NominalSpecification BSNominalSpecification = NominalSpecificationFactory.Factory.CreateNew("04100", "", ""); accrual.PLNominalSpecification = BSNominalSpecification; accrual.ValueToBill = 0; accrual.Update(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Logger.WriteLog(ex.ToString()); } }