/// <summary> /// Обработка клиентских команд /// </summary> /// <param name="cmd">Команды</param> /// <param name="param">Параметры</param> protected override void ProcessCommand(string cmd, NameValueCollection param) { switch (cmd) { case "SaveAndClose": SaveData(true); break; case "SaveData": SaveData(false); break; case "DeleteData": DeleteData(); break; case "CloseWindow": JS.Write("parent.resources_Records_Close();"); break; case "DialogCostRecalc_Yes": var d_kol = factUsl.Count > 0 && !factUsl.Count.Equals("0") ? factUsl.Count : 1; var _costOutNDS = factUsl.CostOutNDS; decimal _summaOutNDS = 0; decimal _summaNDS = 0; decimal _vsego = 0; var stavka = factUsl.StavkaNDS; var prst = (decimal)stavka.Величина * 100; var scale = Document != null && !Document.Unavailable ? Document.CurrencyScale : 2; _vsego = Convert.Round((decimal)(d_kol * (double)_costOutNDS), scale); _summaNDS = Convert.Round(_vsego / (100 + prst) * prst, scale); _summaOutNDS = _vsego - _summaNDS; _costOutNDS = Convert.Round((decimal)((double)_summaOutNDS / d_kol), scale * 2); var maxscale = factUsl.Resource.GetScale4Unit(efUnit.Value, 3, Document.PlatelschikField.Value.ToString()); factUsl.Count = d_kol; efCount.Value = Convert.Decimal2Str((decimal)factUsl.Count, maxscale, false); factUsl.CostOutNDS = _costOutNDS; efCostOutNDS.Value = Convert.Decimal2Str(factUsl.CostOutNDS, scale * 2, false); factUsl.SummaOutNDS = Convert.Round(_summaOutNDS, scale); efSummaOutNDS.Value = Convert.Decimal2Str(factUsl.SummaOutNDS, scale, false); factUsl.SummaNDS = Convert.Round(_summaNDS, scale); efSummaNDS.Value = Convert.Decimal2Str(factUsl.SummaNDS, scale, false); factUsl.Vsego = Convert.Round(_vsego, scale); efVsego.Value = Convert.Decimal2Str(factUsl.Vsego, scale, false); break; case "DialogCostRecalc_No": ShowCalcMessage(factUsl.Recalc(param["value"], param["ndx"], param["name"], "0", Scale)); break; case "DialogRecalc_Yes": ShowCalcMessage(factUsl.Recalc(param["value"], param["ndx"], param["name"], "0", Scale)); break; case "DialogRecalc_Recalc": ShowCalcMessage(factUsl.Recalc(param["value"], param["ndx"], param["name"], "1", Scale)); break; case "DialogRecalc_No": ShowCalcMessage(factUsl.Recalc(param["value"], param["ndx"], param["name"], "2", Scale)); break; case "DialogRecalc_Change": ShowCalcMessage(factUsl.Recalc(param["value"], param["ndx"], param["name"], "3", Scale)); break; } }
/// <summary> /// Отрисовка списка документов /// </summary> /// <param name="w"></param> /// <param name="dt"></param> /// <param name="_title"></param> /// <param name="_oneTitle"></param> /// <param name="_type"></param> /// <param name="_linkType"></param> /// <param name="fieldId"></param> /// <param name="field"></param> /// <param name="fieldEn"></param> private void RenderLinkedDocsInfoDetails(TextWriter w, DataTable dt, string _title, string _oneTitle, string _type, string _linkType, string fieldId, string field, string fieldEn) { var dvSys = new DataView(); dvSys.Table = dt; var dv = new DataView(); dv.Table = dt; dv.Sort = "КодРесурса1, ДатаДокумента"; if (dv.Count == 0) { return; } Document d = null; //Currency cur = null; var curSml = " "; var curScale = 2; decimal sum = 0; var dtp = V4Page.GetObjectById(typeof(DocType), _type) as DocType; if (!dtp.Unavailable) { w.Write("<table border=0 style='BORDER-COLLAPSE:collapse;'>"); w.Write("<tr>"); w.Write("<td {0}>", dv.Count == 0 ? "style=\"padding-bottom:15px;\"" : ""); w.Write(" \"" + (V4Page.IsRusLocal ? dtp.Name : dtp.TypeDocEn) + "\""); w.Write(" (" + Resx.GetString("LBL_ПоПолю") + " \"" + (V4Page.IsRusLocal ? field : fieldEn) + "\")"); w.Write(":</td>"); w.Write("</tr>"); w.Write("</table>"); } w.Write("<table border=0 style='BORDER-COLLAPSE:collapse;padding-bottom:15px;'>"); for (var i = 0; i < dv.Count; i++) { d = V4Page.GetObjectById(typeof(Document), dv[i]["КодДокумента"].ToString()) as Document; if (d.Unavailable) { continue; } var res = d.DocumentData.ResourceId1; if (res.HasValue && res > 0) { //todo //cur = Currency.GetCurrency(res.Value); //cur._PersonID = doc._Person1; //if (cur.Unavailable || cur.ParentOf(V2.Resources.Resource._Money)) curSml = " "; //else //{ // curSml = cur.CurrencySymbol; // curScale = int.Parse(cur._UnitScale); //} } else { curSml = " "; } w.Write("<tr>"); w.Write("<td style='PADDING-LEFT:10px;' valign='top'>"); V4Page.RenderLinkDoc(w, d.Id); w.Write("<img src='/styles/DocMain.gif' border=0>"); V4Page.RenderLinkEnd(w); w.Write("</td>"); w.Write("<td noWrap valign='top'>"); V4Page.RenderLinkDoc(w, d.Id); w.Write(d.Number.Length > 0 ? Resx.GetString("lN") + " " + d.Number + " " : ""); if (d.Date != DateTime.MinValue) { w.Write(Resx.GetString("lD") + " " + d.Date.ToString("dd.MM.yyyy")); } V4Page.RenderLinkEnd(w); w.Write("</td>"); w.Write("<td noWrap valign='top'style='PADDING-LEFT:5px;'>"); if (d.Finished) { w.Write(Resx.GetString("listComplete")); } else if (d.Signed) { w.Write(Resx.GetString("listSigned")); } else { w.Write(Resx.GetString("listNotSigned")); } w.Write("</td>"); w.Write("<td align='right' noWrap valign='top' style='PADDING-LEFT:5px;'>"); if (d.DocumentData.Money1.HasValue && d.DocumentData.Money1 > 0) { V4Page.RenderNumber(w, d.DocumentData.Money1.Value.ToString(), curScale); } else { w.Write(" "); } w.Write("</td>"); w.Write("<td valign='top'>"); w.Write(curSml); w.Write("</td>"); w.Write("<td valign='top' style='PADDING-LEFT:5px;'>"); w.Write(d.Description.Length == 0 ? " " : d.Description); w.Write("</td>"); w.Write("</tr>"); if (!dv[i]["КодРесурса1"].Equals(DBNull.Value) && (i < dv.Count - 1 && !dv[i + 1]["КодРесурса1"].Equals(dv[i]["КодРесурса1"]) || i == dv.Count - 1)) { dvSys.RowFilter = "КодРесурса1=" + dv[i]["КодРесурса1"]; if (dvSys.Count > 1) { sum = System.Convert.ToDecimal(dt.Compute("SUM(Money1)", "КодРесурса1=" + dv[i]["КодРесурса1"])); w.Write("<tr>"); w.Write("<td colspan=3 align='right'>"); w.Write(Resx.GetString("listTotal") + ":"); w.Write("</td>"); w.Write("<td align='right' noWrap style='PADDING-LEFT:5px;'>"); V4Page.RenderNumber(w, Convert.Decimal2Str(sum, curScale), curScale); w.Write("</td>"); w.Write("<td>"); w.Write(curSml); w.Write("</td>"); w.Write("<td>"); w.Write(" "); w.Write("</td>"); w.Write("</tr>"); } } curScale = 2; curSml = " "; } w.Write("</table>"); }