将CR / DR添加到会计交易中

时间:2019-07-08 05:12:56

标签: sql-server vb.net

]我有7张COA表,如下图所示。我需要的是,每当打开余额goto-(负数)时,类型必须自动显示CR符号,并且当该账户变为正数+时,它必须自动更改为DR。请记住,该帐户将根据条目更改为DR或CR。假设我正在现金支付中输入,并且如果科目表中的手头现金帐户为借方而公用事业为CR。如果我通过了一个条目,然后使公用事业借记在帐目表中,它必须在类型列中从CR更改为DR。

我的会计师也不想看到(-)负号,他需要输入的类型应根据条目进行更改

让我解释更多

假设我有2个帐户(手头现金)和(公用事业账单)

会计科目表中两个帐户的期初余额为

手头现金= 5000 DR

水电费= 2000 CR

现在我是否要输入现金付款,它将是

水电费(DR)= 8000

手头现金(CR)= 8000

现在我输入此条目后,会计科目表必须看起来像

手头现金= 3000 CR(由于我只有5000,所以它为负数)(现在这里的余额必须显示为-3000),而不是(-)它显示3000和DR更改为CR

这就是我要做的

Issue image

Error after code

1 个答案:

答案 0 :(得分:0)

我想您应该保持数据库中的值不变,否则无论您是否拥有CR / DR,都需要维护另一列以维护帐户状态,并且我确定将其保留为布尔值。

要在显示时将值转换为没有任何符号的绝对值,可以使用以下技巧。要添加CR / DR,您需要遍历单元格

   Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        If Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "YourAmountColumnName")) <0 Then
            'Below line will remove (-) sign'
            amt = amt * -1
            e.Row.Cells(n).Text = "CR"
        Else
            e.Row.Cells(n).Text = "DR"
        End If
    End If
End Sub

它将返回没有任何符号的金额,如果小于0则明显是贷方,否则是借方。

MSSQL中,您可以使用相同的大小写,您必须检查金额是否为负数

Type = CASE WHEN OpeningBalance <0 THEN Type="CR" ELSE Type="DR"
OpeningBalance = CASE WHEN OpeningBalance <0 THEN OpeningBalance= OpeningBalance*-1