Transactions 从Netsuite中删除事务记录

Transactions 从Netsuite中删除事务记录,transactions,netsuite,journal,Transactions,Netsuite,Journal,有没有人有从Netsuite中删除测试事务记录的经验。现在我能看到的是,查看每个客户记录并删除特定的销售订单/现金销售/日记账,这是一项非常痛苦的任务(数据量很大)。还有其他我不知道的方法吗?任何帮助都将不胜感激 编辑: 这里提到的场景是针对生产环境的。我们确实有一些影响财务报告的测试客户和交易记录。因此,我们希望删除所有这些测试数据(非常大) 谢谢 您可以使用内联编辑一次删除多条记录,请参阅文档(需要NetSuite登录): 要通过内联编辑删除字段数据,请执行以下操作: 在包含的数据的搜索结果

有没有人有从Netsuite中删除测试事务记录的经验。现在我能看到的是,查看每个客户记录并删除特定的销售订单/现金销售/日记账,这是一项非常痛苦的任务(数据量很大)。还有其他我不知道的方法吗?任何帮助都将不胜感激

编辑: 这里提到的场景是针对生产环境的。我们确实有一些影响财务报告的测试客户和交易记录。因此,我们希望删除所有这些测试数据(非常大)


谢谢

您可以使用内联编辑一次删除多条记录,请参阅文档(需要NetSuite登录):

要通过内联编辑删除字段数据,请执行以下操作:

在包含的数据的搜索结果上启用“编辑”按钮 要删除的字段

在第一行中选择一个可编辑的元素,然后按住Shift键并在最后一行中选择相同的元素

当列中的所有字段高亮显示时,从左侧菜单中选择“删除”。您还可以在“主页>设置首选项”中设置更大的片段大小,一次执行50个以上的操作

另一个选项是编写脚本,下面是一个非常基本的示例:

function perform_update(rec_type, rec_id) {
    try {
        nlapiDeleteRecord(rec_type, rec_id);
    } catch(err) {
        nlapiLogExecution('DEBUG', 'Error deleting record', 'type = ' + rec_type + ", id = " + rec_id);
    }
}

我建议编写一个计划脚本,在删除主事务之前先拉取依赖记录,然后先删除最依赖的事务

例如:要删除销售订单,您希望先删除发票、现金销售、客户付款和应用的信用备忘录/日记账分录。您应该首先删除日记账/信用备忘录/客户付款,然后删除发票,然后删除销售订单本身


如果搜索结果没有给出任何相关记录,那么您可以直接删除主事务。

我想批量更新不是一个合适的选择,因为如果记录有一些相关记录,它可能会失败。内联删除是一个更好的选择,但同样的规则也适用于此。您可以在批量更新脚本中添加一些复杂的内容,以首先识别和删除从属记录。或者,您可以通过在所有记录类型上分别运行它来“暴力”您的方式,直到您不再得到任何结果:-),因为我们没有任何参数来判断测试数据。为了让我的工作更轻松,我宁愿先查看客户,因为我可以更好地跟踪他的所有机会、销售订单/现金销售/发票和日记账。同样,我必须确保这些删除不会影响任何财务报告,因为它是一个生产环境。这增加了我的负担。可惜NetSuite没有“ON DELETE CASCADE”选项(即使它运行的DBMS有)。实际上NetSuite对我们隐藏了数据库模型的复杂性,相同的记录信息可以存储在多个表中(例如:在交易中,您可以看到行项目、装运信息、交易详细信息等,这些信息可能存储在不同的表中),可能CASCADE对于他们的一些后端逻辑来说太复杂了。@prasun,@Klitos Kyriacou在我了解了一些问题后,它从来都不是生产环境中事务的删除案例,因为它可能会影响帐户条目并导致不正确的记帐。我从一位同事那里建议的另一种方法是,我们可以通过一些日记账过账使这些测试交易无效,因此即使测试交易存在,也不会影响您的财务报告。是的,这是一个更明智的决定。此外,新版本允许您编写插件来编程G/L分录。我没有尝试过,但是,如果您想将金额过账到某个虚拟寄存器,可能会很有用s