C# 从总额中拆分发票
我有一张发票,我把它转换成数据集,它看起来像这样: 我想把它分成不同的发票(这样我就可以有发票,它们的总数是原始发票的总和),使用数量的总和 我试图编写的程序如下所示:C# 从总额中拆分发票,c#,algorithm,C#,Algorithm,我有一张发票,我把它转换成数据集,它看起来像这样: 我想把它分成不同的发票(这样我就可以有发票,它们的总数是原始发票的总和),使用数量的总和 我试图编写的程序如下所示: 发票总数量用于计算剩余数量 如果总数量达到0,则作业完成。如果发票总额大于5000.00,则应创建新发票,生成的发票应具有可能的最大产品 结果应该是这样的: 发票001: [“Product01”,27.00,5] [“Product02”,40.00,5] 发票002: [“Product01”,27.00,5] [“P
- 发票总数量用于计算剩余数量
- 如果总数量达到0,则作业完成。如果发票总额大于5000.00,则应创建新发票,生成的发票应具有可能的最大产品
发票001:
[“Product01”,27.00,5]
[“Product02”,40.00,5] 发票002:
[“Product01”,27.00,5]
[“Product02”,40.00,5] 代码是:
class Facture
{
public int Fact_id {get;set;}
public float Total {get;set;}
public List<Facture_line> Fac_line = new List<Facture_line>();
}
class Facture_line
{
public String desc {get;set;}
public float prix_unitaire { get; set; }
public int quantite { get; set; }
}
类制作
{
public int Fact_id{get;set;}
公共浮点总数{get;set;}
公共列表Fac_line=新列表();
}
类断裂线
{
公共字符串desc{get;set;}
公共浮动大奖赛{get;set;}
公共整数量化{get;set;}
}
我还有发票清单Facture
对于演示,我将限制从5000.00更改为500.00,但这并不重要,流程应如下所示:
1)发票组织=[“产品001”,27,10][“产品002”,40,10](总数:670)
发票[0]=[“产品001”,27,0][“产品002”,40,0](总计:0) 2)
发票组织=[“产品001”,27,9][“产品002”,40,9](总计:603)
发票[0]=[“产品001”,27,1][“产品002”,40,1](总计:67) 3)
与流程2相同)
发票组织=[“产品001”,27,8][“产品002”,40,8](总计:603)
发票[0]=“Product001”,27,2][“Product002”,40,2](总计:134) 直到发票总额[0]。总额>=500.00f
然后创建另一张发票[“1”]并以相同的方式填写。我使用Excel Solver加载项解决了这个问题 它可以帮助解决90%的问题,另外10%是为您的问题配置它
我直到现在才知道它的存在,所以是的,我浪费了一个月的时间对Excel中已经存在的函数进行C#编码。对不起,但是你的问题很让人困惑。你究竟是如何从
[“Product001”,27,10][“Product002”,40,10]
中总共得到670个?你试图解决这个问题的方法是什么?此外,如果您在代码中使用英文名称也会有所帮助。您所说的“生成的发票应具有可能的最大产品”是什么意思?在本例中,每个产品的最大数量应为7项(而不是如您所示的5项)。假设我们有一张发票,我想将其拆分,我有4种不同数量的产品,当我拆分原始发票时,如果可能的话,我希望在生成的发票中总共有4个产品,但是这些数量的总和必须与原始发票的数量相同一些类似的东西[link]()我如何应用其他人的修复程序?