[Replace(ToString(Round((ToDouble([RascroiSize])-[DetailAllWeights])/(Round(([Adobes.Width]/1000)*([Adobes.Length]/1000)*([MaterialThickness]/1000)*[MaterialDensity],2))*100,2)),",",".")] % [Replace(ToString(Round(ToDouble(ToDouble((([MaterialWidth]/1000)*([MaterialLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize]))/(Round(([Adobes.Width]/1000)*([Adobes.Length]/1000)*([MaterialThickness]/1000)*[MaterialDensity],2))*100),2)),",",".")] % [Replace(ToString(FormatNumber(ToDouble((([MaterialWidth]/1000)*([MaterialLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize])),2)),",",".")] [UnitFormater("kg")] //Вес остатка [Replace(ToString(FormatNumber(ToDouble((([MaterialWidth]/1000)*([MaterialLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize])),2)),",",".")] [UnitFormater("kg")] //Обрезь [Replace(ToString(Round((ToDouble([RascroiSize])-[DetailAllWeights])/(Round(([Adobes.Width]/1000)*([Adobes.Length]/1000)*([MaterialThickness]/1000)*[MaterialDensity],2))*100,2)),",",".")] % //Остаток [Replace(ToString(Round(ToDouble(ToDouble((([MaterialWidth]/1000)*([MaterialLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize]))/(Round(([Adobes.Width]/1000)*([Adobes.Length]/1000)*([MaterialThickness]/1000)*[MaterialDensity],2))*100),2)),",",".")] % $fields['ID'] => 422 $fields['NAME'] => Топ-5 лучших смартфонов $fields['CODE'] => top-5-luchshikh-smartfonov $fields['PROPERTY_PHOTOS_VALUE'] => $fields['PROPERTY_PHOTOS_VALUE_ID'] => $fields['DETAIL_PICTURE'] => 1074 $fields['PREVIEW_PICTURE'] => 1073 $fields['PROPERTY_BNR_TOP_IMG_VALUE'] => 108275 $fields['PROPERTY_BNR_TOP_IMG_VALUE_ID'] => 13663134 $fields['PROPERTY_BNR_TOP_BG_VALUE'] => $fields['PROPERTY_BNR_TOP_BG_VALUE_ID'] => [Replace(ToString(Round(ToDouble(ToDouble((([SheetWidth]/1000)*([SheetLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize]))/(Round(([SheetWidth]/1000)*([SheetLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity],2))*100),2)),",",".")] % [Replace(ToString(FormatNumber(ToDouble((([SheetWidth]/1000)*([SheetLength]/1000)*([MaterialThickness]/1000)*[MaterialDensity])-ToDouble([RascroiSize])),2)),",",".")] [UnitFormater("kg")] var singleResultInfo = Report.FindObject("SingleResultInfo") as TableObject; singleResultInfo[0, 0].Text = "Использовано"; singleResultInfo[2, 0].Text = "Остаток"; singleResultInfo[6, 0].Text = "Длина реза"; singleResultInfo[7, 0].Text = "Время резки"; singleResultInfo[8, 0].Text = "Кол. врезок"; singleResultInfo[9, 0].Text = "Время на врезки"; singleResultInfo[10, 0].Text = "Общее время лазера"; string formSize = getFormatsize(this.indexRascroiTwo); double rascroiValue = getRascroi(formSize);//Значение раскроя //Получение ширины и длины от листа int listID = getAdobeID(this.indexRascroiTwo); List allAdobeSize = getWLAdobes(listID); //Дополнительные параметры double materialWidth = allAdobeSize[0]; double materialLength = allAdobeSize[1]; double materialThickness = Convert.ToDouble(Report.GetParameterValue("MaterialThickness"), CultureInfo.InvariantCulture); double materialDensity = Convert.ToDouble(Report.GetParameterValue("MaterialDensity"), CultureInfo.InvariantCulture); double weight = getWeightPart(this.indexRascroiTwo); //Вес детали //Значение обрези double pruning = Math.Round((materialWidth/1000)*(materialLength/1000)*(materialThickness/1000)*materialDensity,2); pruning = Math.Round((rascroiValue - weight)/pruning*100,2); //Значение остатка double remains = Math.Round((materialWidth/1000)*(materialLength/1000)*(materialThickness/1000)*materialDensity,2); remains = Math.Round(remains-rascroiValue,2); remains = (remains / Math.Round((materialWidth/1000)*(materialLength/1000)*(materialThickness/1000)*materialDensity,2))*100; remains = Math.Round(remains,2); //Вес деталей double detailAllWeights = Math.Round(weight,2); //Вес обрезки double weightPruning = Math.Round(rascroiValue - weight,2); //Вес остатка double weightRemains = (materialWidth/1000)*(materialLength/1000)*(materialThickness/1000)*materialDensity; weightRemains = Math.Round(weightRemains - rascroiValue,2); singleResultInfo[1, 1].Text = pruning.ToString().Replace(",",".") + " %"; singleResultInfo[2, 1].Text = remains.ToString().Replace(",",".") + " %"; singleResultInfo[3, 1].Text = detailAllWeights.ToString().Replace(",",".") + " kg"; singleResultInfo[4, 1].Text = weightPruning.ToString().Replace(",",".") + " kg"; singleResultInfo[5, 1].Text = weightRemains.ToString().Replace(",",".") + " kg"; //Обновление всех значений для счётчика (умножение на количество листов) List values = getValuesCounters(this.indexRascroiTwo); singleResultInfo[6, 1].Text = values[0].ToString().Replace(",",".") + " m"; singleResultInfo[7, 1].Text = values[1].ToString(); singleResultInfo[8, 1].Text = values[2].ToString(); singleResultInfo[10, 1].Text = values[3].ToString(); //singleResultInfo[10, 1].Text = weight.ToString(); public List getWLAdobes(int idAdobes){ DataSourceBase adobes = Report.GetDataSource("Adobes"); adobes.Init(); List allWLAdobes = new List(); double val1 = 0; double val2 = 0; while (adobes.HasMoreRows) { if (Convert.ToInt32(adobes["AdobeZoneID"]) == idAdobes) { allWLAdobes.Add(Convert.ToDouble(adobes["Width"].ToString(), CultureInfo.InvariantCulture)); allWLAdobes.Add(Convert.ToDouble(adobes["Length"].ToString(), CultureInfo.InvariantCulture)); break; } adobes.Next(); } return allWLAdobes; }