public string DoCalc() { StateOK = false; KlonsPDataSet.ITEMSRow dr = null; if (IdIt == int.MinValue || (dr = MyData.DataSetKlons.ITEMS.FindByID(IdIt)) == null) { return("Nav atrasts pamatlīdzeklis."); } if (!replacePartData1.fDATE.HasValue) { return("Nav norādīts datums."); } var dt = replacePartData1.fDATE.Value; var it = new ItemInfo(); it.SetFromRow(dr); if (!it.IsGoodEventDate(dt)) { return("Nekorekts datums."); } var rt = it.CheckItem(); if (rt != "OK") { return(rt); } it.Events2 = new List <EventInfo>(); var ev = new EventInfo(); it.Events2.Add(ev); ev.Dt = dt; ev.XEvent = EEvent.apr; rt = it.FullCalc(); if (rt != "OK") { return(rt); } replacePartData1.fMtUsed = ev.MtUsed; replacePartData1.fDeprec = DataTasks.Round(replacePartData1.fValue * (decimal)ev.RateD * (decimal)ev.MtUsed / 12.0M, 2); replacePartData1.fValueLeft = replacePartData1.fValue - replacePartData1.fDeprec; replacePartData1.fValueC = 0.0M; replacePartData1.fDeprecC = -replacePartData1.fDeprec; replacePartData1.fTaxValueC = replacePartData1.fDeprec; var sdoc = replacePartData1.fDoc.Nz(); replacePartData1.fDescr = $"detaļas vērtība {replacePartData1.fValue:N2}, nolietojuma periods {replacePartData1.fMtUsed} mēn., " + $"izslēgtais nolietojums {replacePartData1.fDeprec:N2}, amortizētās izmaksas {replacePartData1.fValueLeft:N2}"; replacePartData1.fDescr = replacePartData1.fDescr.LeftMax(200); StateOK = true; return("OK"); }