【已解决】二开单据,插件报错:“指定的转换无效”
金蝶云社区-yangyong_yy
yangyong_yy
0人赞赏了该文章 1,256次浏览 未经作者许可,禁止转载编辑于2016年01月21日 00:06:24

二开单据插件报错,见下图,很奇怪的是同意的代码在另一个帐套中就没报这个错误,如下图所示在SetValue()的时候data.Amount的值明明是decimal类型照理说不应该有错才对

这是部分代码:
[code]public void SetEntryValue(IDynamicFormView view, Dictionary> groupDict)
{
//公共的赋值
view.Model.DeleteEntryData("FDecGoodsEntry"); //报关合并分录清空
int rowNumber = 0;
foreach (string groupKey in groupDict.Keys) //共分了几组
{
view.Model.CreateNewEntryRow("FDecGoodsEntry");
bool flag = true; //只赋值第一个的字段
//下面是需要合计的字段值为源
SumValueData sumValue = new SumValueData();
foreach (int row in groupDict[groupKey]) //每组有哪几个商品-对应商品明细分录的第几行
{
if (flag)
{
SetDecFirstValue(view.Model, row, rowNumber);
flag = false;
}
sumValue.Qty = sumValue.Qty + Convert.ToDecimal(view.Model.GetValue("FQty", row));
sumValue.Amount = sumValue.Amount + Convert.ToDecimal(view.Model.GetValue("FAmt", row));
sumValue.Piece = sumValue.Piece + Convert.ToDecimal(view.Model.GetValue("FPiece", row));
//只合计总毛重,总净重,总体积M3---再通过实现服务计算报关的毛重,净重,体积M3
sumValue.GrossWeightSum = sumValue.GrossWeightSum + Convert.ToDecimal(view.Model.GetValue("FGrossWeightSum", row));
sumValue.NetWeightSum = sumValue.NetWeightSum + Convert.ToDecimal(view.Model.GetValue("FNetWeightSum", row));
sumValue.VolSum = sumValue.VolSum + Convert.ToDecimal(view.Model.GetValue("FVolM3Sum", row));
}
SetDecOtherValue(view.Model, sumValue, rowNumber);
rowNumber++;
}
view.UpdateView("FDecGoodsEntry");
}
///


/// 设置合计值,平均值
///

/// 值来源商品明细分录第几行
/// 结果赋值于报关合并分录的第几行
private void SetDecOtherValue(IDynamicFormModel model, SumValueData data, int DecRow)
{
model.SetValue("FDecQty", data.Qty, DecRow);
model.SetValue("FDecAmt", data.Amount, DecRow);
model.SetValue("FDecPiece", data.Piece, DecRow);
model.SetValue("FDecGrossWeightSum", data.GrossWeightSum, DecRow);
model.SetValue("FDecNetWeightSum", data.NetWeightSum, DecRow);
model.SetValue("FDecVolM3Sum", data.VolSum, DecRow);
if (data.Qty != decimal.Zero)
{
model.SetValue("FDecPrice", data.Amount / data.Qty, DecRow);
}
}
internal class SumValueData //合并报关的值
{
public decimal Qty = decimal.Zero;
public decimal Amount = decimal.Zero;
public decimal Piece = decimal.Zero;
public decimal GrossWeightSum = decimal.Zero;
public decimal NetWeightSum = decimal.Zero;
public decimal VolSum = decimal.Zero;
}[/code]

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0