public void Write(Lib.XmlExporter xml, Data.IInvoice pool, Event evt) { xml.Writer.WriteStartElement("KSG_KPG"); xml.WriteIfValid("N_KSG", KsgNumber); xml.Writer.WriteElementString("VER_KSG", Version.ToString()); xml.WriteBool("KSG_PG", SubgroupUsed); xml.WriteIfValid("N_KPG", KpgNumber); xml.Writer.WriteElementString("KOEF_Z", QuotExpense.ToString("F5", Options.NumberFormat)); xml.Writer.WriteElementString("KOEF_UP", QuotManagement.ToString("F5", Options.NumberFormat)); xml.Writer.WriteElementString("BZTSZ", BaseRate.ToString("F2", Options.NumberFormat)); xml.Writer.WriteElementString("KOEF_D", QuotDifference.ToString("F5", Options.NumberFormat)); xml.Writer.WriteElementString("KOEF_U", QuotGroupLevel.ToString("F5", Options.NumberFormat)); // TODO: D4 Multiple xml.WriteIfValid("CRIT", AuxCriterion); // TODO: // D4: SL_K xml.WriteBool("SL_K", KslpUsed); List <ComplexityQuotient> qs = pool.LoadComplexityQuotients().ToList(); if (qs.Count() > 0) { double acc = qs.Select(q => q.Quotient).Aggregate(1.0, (a, b) => { return(a * b); }); if (acc > 0) { xml.Writer.WriteElementString("IT_SL", acc.ToString("F5", Options.NumberFormat)); foreach (ComplexityQuotient q in qs) { q.Write(xml, pool); } } } // TODO: D4 SL_KOEF УМ xml.Writer.WriteEndElement(); }