Hi everyone,
We just switched to Kinetic and noticed that the tables quote has somehow changed.
1.) Kinetic - there is no tt anymore
2.) 10.2.600- there used to be a tt
This has created an issue with our previous BPM where it is calling for ttQuoteHed instead of ds,QuoteHed. BPM is now behaving incorrectly. Has anyone encounter the same issue and how can it be fix? Please help.
I think the ttTable references have been removed in Kinetic. From what I understand they were a shortcut to the ds tables anyway. Try using ds.QuoteHed.
Might help if you explain the incorrect behavior, is there an error message?
Please see below code.
This used to only mark the person creating the quote as Primary Sales Person.
But now, it marked multiple Sales Person as Primary.
var quote = ds.QuoteHed.First();
{
var hasSalesRep = ds.QSalesRP.Where(s => s.SalesRepCode == callContextClient.CurrentUserId).Any();
if(!hasSalesRep)
{ //create the sales rep
var Name = Db.UserComp.Where(u => u.Company == Session.CompanyID && u.DcdUserID == callContextClient.CurrentUserId).First().Name;
var QSRPsvc = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.QuoteSvcContract>(Db);
QuoteTableset ds = new QuoteTableset();
//GetRecord
/*
var newDS = QSRPsvc.GetByID(quote.QuoteNum);
foreach(var line in newDS.QuoteDtl)
{
//do something to each line
line.AnalysisCdDescription = "No";
line.RowMod = IceRowState.Updated;
}
QSRPsvc.Update(ref newDS);
//Modify It
*/
QSRPsvc.GetNewQSalesRP(ref ds,quote.QuoteNum);
//ds.QSalesRP.Where(r => r.Added()).First();
ds.QSalesRP[0].Company = callContextClient.CurrentCompany;
ds.QSalesRP[0].QuoteNum = quote.QuoteNum;
ds.QSalesRP[0].SalesRepCode = callContextClient.CurrentUserId;
ds.QSalesRP[0].Name = Name;
ds.QSalesRP[0].PrimeRep = false;
//ds.QSalesRP[0].RowMod = IceRow.ROWSTATE_ADDED;
QSRPsvc.Update(ref ds);
var retDS = QSRPsvc.GetByID(quote.QuoteNum);
dsHolder.Attach(retDS);
//PublishInfoMessage(callContextClient.CurrentUserId + " and " + Name, Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, string.Empty, string.Empty);