Foxtable(狐表)用户栏目专家坐堂 → 实现“入库单在保存时自动生成会计凭证”


  共有33587人关注过本帖树形打印复制链接

主题:实现“入库单在保存时自动生成会计凭证”

帅哥哟,离线,有人找我吗?
nths
  101楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/7/15 16:53:00 [只看该作者]

老师:你好!是否可以禁止点击隐藏窗口按钮
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  102楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107009 积分:544270 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/7/15 17:04:00 [只看该作者]

dim frm = forms("窗口1").panel.parent.parent
frm.CanAutoHide = false

 回到顶部
帅哥哟,离线,有人找我吗?
nths
  103楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/8/20 23:55:00 [只看该作者]

老师:你好!请教一下,我有“表1”,“表2”,“表3”,”表4“,"表5","表6","表7","表8","表9","表10",

用户组""A","B","C".想达到用户组"A"登录时加载“表1”,“表2”,“表3”,”表4“,"表5"

用户组"B"加载表"2”,“表3”,”表4“,"表5","表6","表7","表8"

用户组"C"加载“表4”,“表5”,”表9“,"表10"

我在项目属性BeforeLoadOuterTable写了代码:

Select Case e.DataTableName
    Case "表6","表7","表8","表9","表10"

     e.Cancel = (e.User.Group = "A")
     Case “表1”,"表9","表10"   

     e.Cancel = (e.User.Group = "B")

  Case “表1”,“表2”,“表3”,"表6","表7","表8"

     e.Cancel = (e.User.Group = "C")       
End Select

但分别以用户组"A","B","C"登录后发现只有用户组"A"按设想加载了表,而用户组"B","C"没达到我想的加载结果,请老师赐教,怎样才能实现用户组"A"登录时加载“表1”,“表2”,“表3”,”表4“,"表5"

用户组"B"加载表"2”,“表3”,”表4“,"表5","表6","表7","表8"

用户组"C"加载“表4”,“表5”,”表9“,"表10"的结果,谢谢!

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  104楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/21 8:52:00 [只看该作者]

If e.User.Group = "A" Then
   
    Select Case e.DataTableName
        Case "表1","表2","表3","表4","表5"
           
        Case Else
            e.Cancel = True
    End Select
   
ElseIf e.User.Group = "B" Then
   
    Select Case e.DataTableName
        Case "表2","表3","表4","表5","表6","表7","表8"
           
        Case Else
            e.Cancel = True
           
    End Select
   
ElseIf e.User.Group = "C" Then
   
    Select Case e.DataTableName
        Case "表1","表2","表3","表6","表7","表8"
           
        Case Else
            e.Cancel = True
           
    End Select
   
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
nths
  105楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/8/21 10:42:00 [只看该作者]

谢谢老师


 回到顶部
帅哥哟,离线,有人找我吗?
nths
  106楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/9/15 10:22:00 [只看该作者]

老师:你好!根据入库单窗口可以直接单张打印,怎样才能实现按日期区间对所有的入库单进行连续打印?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  107楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 10:32:00 [只看该作者]

以下是引用nths在2017/9/15 10:22:00的发言:
老师:你好!根据入库单窗口可以直接单张打印,怎样才能实现按日期区间对所有的入库单进行连续打印?

 

写成循环,即可

 

Dim t As Table = Tables("表A")
t.Filter = "查询条件"
For i As Integer = 0 To t.rows.count-1
    t.Position = i
    Dim doc As PrintDoc = e.Form.GernatePrintDoc()
    doc.Preview()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
nths
  108楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/9/15 14:37:00 [只看该作者]

老师:你好!我根据“编号”,“坯布编号“两个条件,按入库和出库生成一个库存流水账,代码如下:
Select Case e.DataCol.Name
    Case "编号","坯布编号","入库数量","出库数量"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [编号] = '" & mr("编号") & "' And [坯布编号] = '" & mr("坯布编号") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("库存数量") = mr("入库数量") - mr("出库数量")
            
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [编号] = '" & mr("编号") & "' And [坯布编号] = '" & mr("坯布编号") & "'",  "[_SortKey] Desc")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("库存数量") = drs(i-1)("库存数量") + drs(i)("入库数量") - drs(i)("出库数量")
            
        Next
        If e.DataCol.Name = "编号"  AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            If e.DataCol.Name = "坯布编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
                dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [编号] =  And [坯布编号] = '"  & e.OldValue & "'", "[_SortKey] ")
                If dr Is Nothing Then
                    dr = e.DataTable.Find("[编号] =  And [坯布编号] = '" & e.OldValue & "'", "[_SortKey]")
                    If dr IsNot Nothing Then
                        dr("库存数量") = dr("入数量库") - dr("出库数量")
                    End If
                End If
                If dr IsNot Nothing Then
                    drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [编号] = '" & dr("编号") & "'And [坯布编号] = '" & dr("坯布编号") & "'", "[_SortKey]")
                    For i As Integer = 1 To drs.Count - 1
                        drs(i)("库存数量") = drs(i-1)("库存数量") + drs(i)("入库数量") - drs(i)("出库数量")
                    Next
                End If
            End If
        End If
End Select
库存数量没有根据日期的顺序,是什么原因?
谢谢您的指导!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  109楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 15:00:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
nths
  110楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:306 积分:3860 威望:0 精华:0 注册:2017/3/25 15:34:00
  发帖心情 Post By:2017/9/16 13:36:00 [只看该作者]

老师:你好!请教一下,一个表中三列“数量”,“单价”,“金额”,怎样才能实现当输入“数量”,“单价”列后“金额”自动得出,同时出能在输入“数量”,“金额”列后“单价”出会自动生成

我写了代码:Select Case e.DataCol.Name
    Case "数量","金额"
        If e.DataRow.IsNull("数量") OrElse e.DataRow.IsNull("金额")
            e.DataRow("单价")= Nothing
        Else
            e.DataRow("单价") = e.DataRow("金额") / e.DataRow("数量")
        End If
Case "数量","单价"
        If e.DataRow.IsNull("数量") OrElse e.DataRow.IsNull("单价")
            e.DataRow("金额")= Nothing
        Else
            e.DataRow("金额") = e.DataRow("数量") * e.DataRow("单价")
        End If
       
End Select

但结果出现错误,当数量输入225金额输入625后单价是自动2.78,但金额不是输入的625变成625.5,请老师指导 一下,谢谢


 回到顶部