2023年金蝶模板导入之汇兑损益

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private DataTable op_finally_exchange_gain_loss_2023(DataTable dataTable, int startIndex)
        {
            var length = dataTable.Rows.Count;
            if (startIndex >= length) return dataTable;
 
            int a = -1, b = -1;
            for (var i = startIndex; i < length; i++)
            {
                var dataRow = dataTable.get_row_by_index(i);
                if (dataRow.get_cell_val("FEXPLANATION").StartsWith("来账") || dataRow.get_cell_val("FEXPLANATION").StartsWith("往账"))
                    if (a == -1) a = i;
                    else b = i;
                if (a != -1 && b != -1) break;
                if (i == length - 1) b = length;
            }
 
            if (a == -1 || b == -1) return dataTable;
            decimal co = 0, cp = 0;
            for (var i = a; i < b; i++)
            {
                co += Math.Abs(dataTable.get_row_by_index(i).get_cell_val("FDEBIT").to_decimal());
                cp += Math.Abs(dataTable.get_row_by_index(i).get_cell_val("FCREDIT").to_decimal());
            }
 
            b--;
 
            if (co == cp)
            {
                dataTable.Rows[b]["FAMOUNTFOR"] = "0";
                dataTable.Rows[b]["FDEBIT"] = "0";
                return op_finally_exchange_gain_loss_2023(dataTable, b);
            }
 
            dataTable.Rows[b]["FAMOUNTFOR"] = Math.Abs(Math.Abs(co) - Math.Abs(cp));
            dataTable.Rows[b]["FDEBIT"] = dataTable.Rows[b]["FAMOUNTFOR"];
 
            return op_finally_exchange_gain_loss_2023(dataTable, b + 1);
        }

  

posted @   liskov_design  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示