How to run a NetSuite scheduled script at every month end-CarlZeng

Background Some times we need trigger a task at every month end, the last day of every month, i.e. cache business data. Run a NetSuite scheduled scrip

Background

Some times we need trigger a task at every month end, the last day of every month, i.e. cache business data.

Run a NetSuite scheduled script at every month end, can’t be achieved by setup Script Deployment > Schedule:

SINGLE EVENT

X  DAILY EVENT

X    Repeat every 1   day(s)

WEEKLY EVENT

Repeat every weekday

MONTHLY EVENT

YEARLY EVENT

START DATE 2/20/2019

START TIME6:00 pm

REPEAT

END BY

Checked NO END DATE

When you hit ‘Monthly Event’, the option can’t locate to the LAST day of every month.

Day  of every  month(s)

The

More Options

More Options

of every  month(s)

Steps:

1. Setup Script Deployment > Schedule to run for Every Day, I.e. 6PM (as above table)

2. Driven by saved search schedule can use this criteria to return result ONLY on last day of every month:

Formula (Numeric)

CASE TO_CHAR({today},’MM/DD/YYYY’) WHEN TO_CHAR(LAST_DAY({today}),’MM/DD/YYYY’) THEN 1 ELSE 0 END

Make this criteria equal to 1, will achieved results at the end of every month.

How to install NetSuite SuiteCloud plug-in to WebStorm

Install/upgrade NetSuite SuiteCloud IDE Plug-in

SuiteCloud IDE plug-in

SuiteCloud IDE plug-in for WebStorm is an integrated development environment for NetSuite platform development. It provides a user interface for SuiteCloud Development Framework (SDF), which is a development framework and deployment mechanism.

Limitation

当Record Type下的Custom Field字段在系统UI界面中被inactive后,SDF更新Record Type是无法刷新inactive字段的;也就是说Custom Field字段的inactive属性在SDF和SuiteQuery是无法访问的。详见:NetSuite: Get specific Custom Record Types and related sub Custom Fields

Install IntelliJ IDEA 2024.1.1 to Mac

Update IntelliJ IDEA

Since the latest SuiteCloud Plugin http://system.netsuite.com/download/suitecloud-sdk/ideplugin/webstorm/24.1/com.netsuite.ide.webstorm.app-2024.1.0.zip is not compatible.

image-20240506160332976

  1. 从官方网站下载最新版

  2. 插件 com.netsuite.ide.webstorm.app-2024.1.0.zip

2024年5月中旬 Notes

  1. 下载最新的IntelliJ IDEA 2024.1.1

  2. Buy the tool (or…. 下载 IDEA-jetbra.zip 存放在特定目录后, 替换原先的jetbra目录其中含ja-netfilter.jar,运行uninstall.sh,然后 sh install.sh)

  3. 重启启动Mac

  4. 填写注册码

发现重启MAC后,之前的PJ会失效。怎么办?

  1. 打开Terminal cd /Users/carlzeng/jetbra/scripts
  2. sudo sh install.sh
  3. 显示成功的命令行信息:done. the “kill Dock” command can fix the crash issue.
  4. 打开界面使用/Users/carlzeng/jetbra/scripts目录下的激活码激活:全家桶通用激活码.txt

20240615 尴尬地发现上面这招无效了! 切换方案至 IDEA 2021.2.2 历史版本

Windows端 下载可参考 IntelliJ IDEA™ Community portable

Mac端 下载可参考 。。。

切换方案到 Webstorm

切换方案到 Eclipse

20250305 切换到工具: Visual Studio Code

20251103 切换回工具: IntelliJ IDEA

​ 可支持到2025.1.4 和 以前的版本

使用https://zhuanlan.zhihu.com/p/1932770777503077742 或者 https://blog.idejihuo.com/jetbrains/intellij-idea-2025-2-latest-activation-tutorial-permanent-activation-code-cracking-tool-2099.html

PJ工具下载: jetbra-free-2099.zip 下载地址: https://pan.baidu.com/s/1jQHAJItx6YvIjOP2TxoWIg?pwd=mhjr

chmod 755 jetbra-free-darwin-arm64

./jetbra-free-darwin-arm64

Adding SuiteCloud IDE Plug-in 2024.1.0 to IDEA

  1. 下载https://system.netsuite.com/download/suitecloud-sdk/ideplugin/webstorm/latest/updatePlugins.xml,获取最新插件的下载地址,然后下载文件名比如:com.netsuite.ide.webstorm.app-2024.1.0.zip
  2. IntelliJ IDEA 》偏好设置 〉 插件 》 从磁盘安装插件
  3. 选择下载下来的的SuiteCloud IDE Plug-in by NetSuite进行安装
  4. 安装完成:SuiteCloud IDE Plug-in 2024.1.0

Install WebStorm 2020.1 to Mac

2021-11 Notes

  1. The latest version of SuiteCloud IDE plugin from NetSuite is incompatible with WebStorm 2021 or Intellij IDEA; the key to resolve this is: using the old version’s plugin. copy the plugin file(com.netsuite.ide.webstorm) to editor’s plugins folder. Steps:
  2. unzip file com.netsuite.ide.webstorm.app-2020.2.0.zip, got a file call: com.netsuite.ide.webstorm
  3. Copy this com.netsuite.ide.webstorm to plugins folder on Mac: /Users/{username}/Library/Application Support/JetBrains/WebStorm2020.1/plugins
    1. There are all other versions of WebStorm under JetBrains folder. I.e. IntelliJIdea2020.1, WebStorm2020.1 etc…
    2. Make sure copy the plugin file com.netsuite.ide.webstorm to the plugins folder, restart your IDE, the NetSuite menu and feature is available.
  4. Please note: these are only for research, don’t use for other purpose. 

1. Download the old version 2020.1 in https://www.jetbrains.com/idea/download

2. Purchase the license or Download https://www.macfz.com/a/Jetbrainscrack.html or https://www.lanzoux.com/iGI7kfzyy6j

  • Sample: 
  • Finally got a jetbrains-agent.zip

    > 本Agent仅供学习研究之用,请勿用于商业用途!  
    > 商业用途请联系Jetbrains购买正版,请支持正版!
    
    > 2. https://www.macfz.com/a/agent.html
    
    > 3. 开始激活
    
    > 1.  以下以 「IDEAIntelliJ IDEA」为例,JetBrains 系列安装激活方法都是一样的。
    > 2.  运行你的 IDE,进行基本的配置后会弹出激活窗口,选择Evaluate for free,然后点击Evaluate按钮。(如果试用过期请点击「OK」或者「Enter Key」)
    > 3.  点击后会关闭试用窗口并出现「项目创建管理窗口」(也就是「Welcome to IDEAIntelliJ IDEA」窗口),先不要动。(如果你之前创建过项目可能会直接进入项目,把项目关掉就会出现啦)
    > 4.  将安装包内的「破解补丁」文件夹下面的 jetbrains-agent.zip 拖拽到你喜欢的位置(此文件你拖到你喜欢的位置后未来不能删除!)
    > 5.  将 jetbrains-agent.zip 拖拽到「项目创建管理窗口」中,然后点击 Restart 按钮重新启动。
    > 6.  重新启动后出现「JetbrainsAgent 配置助手」窗口,在安装参数处复制粘贴下面的安装参数,然后点击为 IDEAIntelliJ IDEA 安装,最后点击 是,会重新启动。
    > 7.  重新启动后点击菜单栏的「IDEAIntelliJ IDEA」,再点击「Preferences…」打开软件的偏好设置,左上角的搜索框处输入「update」,取消勾选右侧的「Automatically check updates」,然后点击「OK」(为了不必要的麻烦,请务必操作!)
    
    > 安装参数
    
    > ```http
    > Qr7EpuKzNtnTuEmGcLg/YnYyVEcnvR4iflCYTHc6dwuB8Jbx7e6E43CPRA+KjL2O/D/C+hj/rDFrwCNgGAvLcJd3bcaJ8UTMh8FPxd2EfjDt0eopoRIRQKtw8Ua3hlm2i+GvhYnaJ5/F1XN7H/8uEtYqFQlJc9auMxAL3gdnsmY
    > ```
    
    > 写在最后
    
    > 此方法来自于:zhile.io 小麦在这里要感谢大佬们的辛苦开发。
    
    > 最后要申明的是:
    
    > *   资金允许的话建议[【购买正版】](https://store.lizhi.io/site/search_list?cid=rs038qvx&order_by=2&word=&coupon_uuid=0&category_id=35&is_pro_dis=0)
    > *   创业公司可享[【5折购买】](https://www.jetbrains.com/shop/eform/startup)
    > *   学生凭学生证可免费申请[【正版授权】](https://sales.jetbrains.com/hc/zh-cn/articles/207154369-%E5%AD%A6%E7%94%9F%E6%8E%88%E6%9D%83%E7%94%B3%E8%AF%B7%E6%96%B9%E5%BC%8F)!
    > *   破解补丁全系列通用的,也就是说可以激活 JetBrains 全系列的产品。
    

Install NetSuite SuiteCloud plug-in to WebStorm

3. Download SuiteCloud IDE http://system.netsuite.com/download/suitecloud-sdk/ideplugin/webstorm/20.2/com.netsuite.ide.webstorm.app-2020.2.0.zip

  1. This link is not available anymore, I can provide this version’s file persently, for research only.

4. Open WebStorm and create(or open) a project. Drag and Drop com.netsuite.ide.webstorm.app-2020.2.0.zip to WebStorm to manual install the plug-in.

其他方案/工具

切换方案到 Webstorm

切换方案到 Eclipse

切换到Visual Studio Code

How to extract text from PDF(Image) files, OCR-CarlZeng

本文阐述如何自建并使用OCR识别图片或PDF中文字(转化成文本等进一步处理), 以及NetSuite调用OCR API的场景雏形.
How to extract text from PDF(Image) files. 20251113 引入自建ocr服务

docker部署OCR项目

支持离线+API, 自建ocr服务

Docker compose, vi docker-compose.yml

version: "3"
services:
  trwebocr:
    image: mmmz/trwebocr:latest
    container_name: trwebocr
    restart: unless-stopped
    ports:
      - "8103:8089"
    environment:
      - LANG=zh_CN.UTF-8
    volumes:
      - ./data:/app/tr_web/data  #持久化OCR数据

运行docker后, OCR服务开启

访问方式一: (通过网页访问)

访问方式二: 文字识别API

描述: 进行文字识别与检测的接口

地址: https://ocr.carlzeng.com:3/api/tr-run/

方法: POST

请求参数:

| 参数名称 | 是否必选 | 数据类型 | 描述 |
| ——– | ————– | ——– | ———————————————————— |
| file | 和 img 二选一 | file | 通过上传的方式来发送图片的字段 |
| img | 和 file 二选一 | string | 图片的base64值,不需要前缀。 |
| compress | 否 | int | 值为空时,默认将图片最长边压缩到1600px。 值为 0 时,不压缩图片。 值为非0 时,将最长边压缩到该值的大小。 |
| is_draw | 否 | int | 值为 0 时,不返回图片。(没有data[‘img_detected’]返回) |

返回参数:

| 参数名称 | 是否必选 | 数据类型 | 描述 |
| ——————– | ——– | ——– | ——————————————— |
| code | 是 | int | 识别结果的状态码,识别成功为200,有异常为 400 |
| msg | 是 | string | 识别结果的文字信息 |
| data | 否 | dict | 识别结果,若识别异常则没有此字段 |
| data[‘img_detected’] | 是 | string | 画出文字区域的图片base64值 |
| data[‘raw_out’] | 是 | list | 识别结果的输出 |
| data[‘speed_time’] | 是 | float | 识别的耗时 |

返回示例:

{"code": 200,
 "msg": "u6210u529f", 
 "data": {
   "img_detected": "data:image/jpeg;base64,/9j/4AAQSkZJR5t...",
   "raw_out": [[[11, 13, 402, 36], "u753bu51fau6587u5b57u533au57dfu7684u56feu7247base64u503c", 0.9999545514583588], [[11, 112, 215, 36], "u8bc6u522bu7ed3u679cu7684u8f93u51fa", 0.999962397984096], [[11, 171, 158, 36], "u8bc6u522bu7684u8017u65f6", 0.999971580505371]], 
   "speed_time": 0.67}}

image-20251113205953922

本小节灵感:

https://github.com/alisen39/TrWebOCR)

https://post.smzdm.com/p/agwev0l6/

NetSuite API呼叫OCR

Background: below is SS1.0 as example since it came from NetSuite email plugin, SS2.0 is the same thing.

下面使用的第三方服务平台, 同样把地址修改为上方的自建平台也是实现ocr识别功能.

1. Registry a API key throw https://ocr.space/OCRAPI

There are limitations for Free Plan

2. Save the email attachment(PDF file) to NetSuite FileCabinet, set it to available without login, get the full url address, encode it.

var importFile = attachments[indexAtt];importFile.setIsOnline(true);
var intFileId = nlapiSubmitFile(importFile);
var strInvFileUrl = “https://” + nlapiGetContext().getCompany() + “.app.netsuite.com”+ objInvoiceFileRec.getURL();
strInvFileUrl = encodeURIComponent(strInvFileUrl);

3. Send Request to https://api.ocr.space/parse/imageurl?apikey=abcAPIKEYabc&filetype=PDF&isTable=true&url=

var response = nlapiRequestURL(strReqUrl, null, a);
There are varience of parameters for this API, in my case, it’s invoice formated as table, that’s why I send isTable=true to identify it; then it will help me to locate the expected cell and values.

4. Got and parsed the Response, we will get the Text messages on the PDF or Images.

var arrParsedLines = (objOcrRes[‘ParsedResults’] && objOcrRes[‘ParsedResults’][0]) ? objOcrRes[‘ParsedResults’][0][‘TextOverlay’][‘Lines’]: null;
var objVndBillData = parseDataFromInvPdf(arrParsedLines);

定制服务下单

image-20251110210430326

服务流程

image-20251109195518962

服务内容

image-20251109195734192

image-20251109195806782

版权所有 www.carlzeng.com

How to create a zip file in NetSuite SuiteScript 2.0 如何在现有SuiteScript中创建和下载ZIP压缩文档-CarlZeng

Background We all knows that: NetSuite filecabinet provided a feature to download a folder to a zip file. Sample URL in the link: https://system.na1.n

Background

We all knows that: NetSuite filecabinet provided a feature to download a folder to a zip file.

Sample URL in the link: https://system.na1.netsuite.com/core/media/downloadfolder.nl?id={folderid}&_xt=&_xd=T&e=T

Example: https://system.na1.netsuite.com/core/media/downloadfolder.nl?id=68&_xt=&_xd=T&e=T

Used property login access to NetSuite account, by access this url address, browser will working on downloading a zip file.

Currently I don’t think we can create a zip file through SuiteScript APIs(even the file.save available to save a zip file);  

Solution


Base on this behavior, we can do below in the server-side script:

  1. Create a folder.
  2. Create files in this/above folder.
  3. Call NetSuite URL to get the zip file. 

By doing this we got a chance to create and download zip files in SuiteScript.

Note: Step #3, Can do this action in Client Side with existing credential, or Server-Side provide credential.

(How can I use Node.js in Netsuite?) NetSuite to run Node.js packages/modules, i.e. mozilla/pdf.js-CarlZeng

NetSuite’s javascript engine is Rhino(I.e. Rhino 1.7), we can not run node-based code on NetSuite, however,

write your code as, say, an npm module, and run npm scripts from the command line. I have done this in the past for unit testing, doc generation, eslint, etc. In order to actually run code in NetSuite, though, it must be in a plain .js file that NetSuite can interpret and load as a Library on your Script record.

Node.js in SuiteCommerce

downloading Node.js to use for SuiteCommerce.

How can I use Node.js in Netsuite?

20231008 Server端没有开启解释器,没配置环境,就无法识别原生的Node.js代码

Google Sheet NetSuite Integration 设计理念-CarlZeng

Background: ERP users always using Excel/Number in daily work, and also operation peoples. So how does they easily post those changing data to NetSuit

Background:

ERP users always using Excel/Number in daily work, and also operation peoples. 

So how does they easily post those changing data to NetSuite? 

Sometime we move data from location disk to online Excel, I.e. Google Sheet, online Number.

Overview of Instruction Page

Here comes the idea, then we build an integration between NetSuite and Google Sheet.

Flow:

Data in Google Sheet -> NetSuite 

Setup back-end connector

Instruction Steps:

1. Open Google Sheet

2. Login to NetSuite account

3. Enter or modify data in Google Sheet

4. Google Sheet formula will post data to NetSuite system.

5. Google Sheet custom menu operation will post data to NetSuite system.

Data submit formula

Contact me if you wanna a demo.

ERP软件与防伪税控开票系统的接口,税控开票系统接口(财务ERP软件与防伪税控开票系统的接口)-CarlZeng

一、接口系统包含部分1、导入接口:从企业信息管理系统(财务软件、ERP/MRPII、进销存、销售管理软等系统)导入待开票销售数据,或者使用EXCEL、TXT等文件直接导入进行管理的待开票数据,经税控接口系统处理后发送到防伪税控开票系统进行处理。2、回写接口:把发票号码、开票日期、打印标志等重要数据,通过与企业约定的方式和标准回写到企业内部信息管理系统中或导出成一个中间文件。3、金税接口:完成与防伪…

ERP软件与防伪税控开票系统

一、接口系统包含部分
1、导入接口:从企业信息管理系统(财务软件、ERP/MRPII、进销存、销售管理软等系统)导入待开票销售数据,或者使用EXCEL、TXT等文件直接导入进行管理的待开票数据,经税控接口系统处理后发送到防伪税控开票系统进行处理。
2、回写接口:把发票号码、开票日期、打印标志等重要数据,通过与企业约定的方式和标
准回写到企业内部信息管理系统中或导出成一个中间文件。
3、金税接口:完成与防伪税控开票系统发票数据的交换。该接口是税控接口系统的核心部分。
4、凭证接口:税控接口系统将开出的发票,根据企业的记账需要转换成财务记账凭证。

二、主要功能
1、数据导入:将企业内部信息管理系统(进销存软件、财务软件及MRPII/ERP等)中的
待开票数据导入进行开票处理,或者使用EXCEL、TXT等文件进行管理的开
票数据。
2、数据校验:接口系统在导入待开票数据时,自动校验数据的合法性,并作出相
应提示;对已经导入过的待开票数据进行重复性检查,避免数据重
复导入。对不符合发票规范的,作出相应提示;
3、组合拆分:按客户的要求实现发票组合与拆分批量、自动处理,同时保留发票的手工组合与拆分功能;
4、发票加密:将处理过的开票数据直接发送到防伪税控开票系统进行批量加密、生成发
票;
5、发票打印:实现发票高速连续打印;
6、手工开票:当ERP系统发生故障无法导出数据时,接口系统保留了必要的手工
开票功能。
7、折扣处理:
①支持将明细中所有的折扣数据合并成一个总折扣来进行填开;
②支持将明细中的所有的折扣数据合并到发票的产品数据中,打印发票时不体现折扣数据;
③支持将总折扣数据平分到发票明细的每一行明细产品中,并且打印时打印出折扣数据;
④支持将总折扣数据平分到发票明细的第一行明细产品中,但打印时不打印折扣数据;
以上为常用的几种折扣处理,其它方式可根据企业情况而定。
8、发票回写:将发票数据主要字段(如发票号码、开票日期、打印标志等)回写到企业
信息管理系统中;
9、统计查询:可按客户、地区、时间段等多种方式,对已开、未开、暂不开、作废、冲红、是否打印等发票数据进行统计、查询。
10、数据维护:包括发票的修改、维护、折扣处理、冲红、作废、数据处理、报表定制等;商品客户基本资料维护;发票数据备份与恢复;发票数据导出等。

三、系统特点:
快速高效,降低成本:实现数据共享,避免数据重复录入;发票数据批量导入、批量导入、批量加密(生成发票)和批量打印,开票速度比原先提高50至100倍,减轻了办税人员工作负担,降低劳动成本。
发票数据准:税控接口系统开出的发票准确率达到100%,发票100%通过税局认证,100%满足电子申报系统对销项数据的采集规范;
安全性、稳定性好:每一套接口系统都经过严格的带两卡状态模拟环境测试,各项功能指标都通过后,才允许安装给用户使用;
自动化程度高:税控接口系统保留了必要的手工编辑和个性功能,真正实现高效、人性化、无误差开票流程;
操作简便,界面友好:WINDOWS标准界面操作,只须点几按钮就能自动完成整个开票流程,简单方便;
强大的统计和查询功能:对已开、未开、暂不开、作废、冲红、已打印、未打印、已回传、未回传等发票进行有效统计和查询。
报表打印:能根据发票数据打印一些企业所需的,而防伪税控机和信息管理系统中并没有提供的报表(如发标统计表、ERP单号和发票号码对照表等)。
数据处理:能够实现将打印之后的数据进行再加工,也可回传发票信息到信息管理系统中用户指定的位置,克服了原系统打印过的发票数据,只能保存在防伪税控机中不便查询、处理的难题。
日志查看:日志查看工具记录了操作员各时间段执行的所有操作,方便用户随时查阅历史操作记录。

四、接口方案实施的目的和意义
企业管理信息系统与税控机接口系统解决方案,其最终的目的在于充分利用企业的信息化资源,在整个公司内部实现数据共享,提高整个企业税务数据的安全性、准确性和快速性,为企业的办税业务提供强有力的支持。
同时,该方案的实施充分优化,整合了企业内部的信息化资源,规范了开票人员的日常业务操作,高效、自动化、一体化的开票流程和高度的数据共享要求,必将为企业蒸蒸日上的业务需求带来极大的帮助。

辅助:开发方向,市场占有率。
五、税控接口软件分类
① 税控接口 —– 用友版 适合使用用友软件的企业。
② 税控接口 —– 金蝶版 适合使用金蝶软件的企业。
③ 税控接口 —– ERP版 适合使用各类ERP软件的企业。
④ 税控接口 —– 文本文件版 适合已经申请了航天文本接口的企业。
⑤ 税控接口 —– EXCEL文件版 适合用EXCEL文件导入开票的企业。
六、税控接口软件适用企业信息化软件范围:
用友软件产品:
1、用友U8 -ERP 系列 (U8-852、U8-860、U8-861、U8-870等)
2、用友通标准版财务业务一体化系列
3、用友通工业版财务业务一体化系列
4、用友业务通(采购、销售、库存)
5、用友商贸通
金蝶软件产品:
1、金蝶EAS系列
2、金蝶K/3 ERP系列
3、金蝶KIS专业版系列
4、金蝶KIS标准版系列
5、金蝶KIS迷你版系列

浪潮ERP、新中大(ERP及财务软件)、金算盘软件、天思(ERP及进销存)、百胜服务ERP软件、SAP软件系列、ORACLE软件系列、博科软件系列、速达系列(ERP、进销存)、管家婆系列(ERP及进销存)、神州数码ERP、其它企业定制信息管理软件系列。

图案事例:http://www.sunlq.com/fwskkpjk.htm

用友U8Cloud环境搭建

大部分业务代码位于modules文件夹中,所以需要把里面的jar包全部提取出来再反编译,这样idea才能直接查找代码里的内容。

业务jar都是nc,u8c,com.yonyou开头的包名。可以写python脚本来筛选。然后再找到全部jar,从里面剔除之前找的业务jar,剩下的就是第三方jar了。

将所有业务jar压缩成一个zip,

丢进jd-gui进行反编译。

旁边显示jar包说明正常,左上角file,选择save all source即可:

https://1diot9.github.io/2025/08/16/%E7%94%A8%E5%8F%8BU8Cloud%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/

ERP与财务软件 接口方式-CarlZeng

主要是将ERP系统的应收等凭证传递到总账吧(单向)?只要将ERP生成的这些凭证,按财政部标准凭证接口格式导出,在财务系统(如用友)将这些凭证引入即可.台达电子的ERP系统是用的SAP,财务用金蝶,就是通过这种方式进行衔接的.只要通过财政部审核的财务软件都支持该功能。通过该接口引入的凭证均为机制凭证(金蝶是机制凭证,安易则为自动凭证,用友不知用何名词,但却都与普通记账,现收等等凭证有区分)。并且,用…

主要是将ERP系统的应收等凭证传递到总账吧(单向)?
只要将ERP生成的这些凭证,按财政部标准凭证接口格式导出,在财务系统(如用友)将这些凭证引入即可.

台达电子的ERP系统是用的SAP,财务用金蝶,就是通过这种方式进行衔接的.

只要通过财政部审核的财务软件都支持该功能。

通过该接口引入的凭证均为机制凭证(金蝶是机制凭证,安易则为自动凭证,用友不知用何名词,但却都与普通记账,现收等等凭证有区分)。并且,用财务软件的引入程序,其已经考虑到了数据冲突等问题.所有引入的凭证均需在总账系统中进行审核与过账.

财政部标准凭证接口本来就是财政部为了规范及方便软件间的数据传递所做的标准化工作,税务部门没有理由不接受!况且,其本身已经是财政部所规定的一种接口方式了,采取软件供应商之间协调来开发的接口反而是不能所接受的.

—————————————————————

业务系统和金蝶的接口,包括采购和应付,合同和应付,设备和固定资产,还有人员,部门,供应商,客户等等基础数据都要统一

Bar codes in NetSuite Saved Searches(transport/reprint) 活用NetSuite搜索页面显示可扫描条码-CarlZeng

THIS IS A COPY FROM BLOG THIS IS A COPY FROM BLOG Ways of incorporating Bar Codes into your Netsuite Saved Searches. Code 39: Step 1: Load web font fi

THIS IS A COPY FROM BLOG

Ways of incorporating Bar Codes into your Netsuite Saved Searches. Results.Blog.BarCode.TL

Code 39:


Step 1: Load web font file into the file cabinet and set to available without login.

You can use the font file provided or a custom bar code font. AddFontFile.Blog.BarCode.TL You can download the web font file here: Code39.woff (unzip before uploading) 

Step 2: In your saved search results add a Formula(Text) field and set the custom label as desired.  

Insert the formula below and update the file URL and the desired field id that you want to encode.

You can modify the font-size to adjust the size of your bar code.

*’||UPPER({desired field id to encode})||’*

Example: ‘

*’||UPPER({tranid})||’*

‘ AddBarCode.Blog.BarCode.TL

Step 3: Repeat step 2 for each additional field you would like converted to a bar code. 

NOTE: If you don’t have the start and stop characters ‘*’ as provided in the code, then you will get something that looks like a bar code but will not scan.   

Code 128:


Code 128 does not allow for simple encoding using only a web font file, Javascript must be used for the encoding.  

There are other solutions available to accomplish the encoding if you prefer a different method. 

Step 1: Load this Javascript file JsBarcode.code128.min.js into Netsuite’s file cabinet. 

Step 2: So that you don’t reload the Javascript code on each line of your search results, I have created the formula below that will only load it once.  This will noticeably reduce the load time for your search results.  Add a Formula (Text) column to the very top of your search results with the formula below, make sure to replace your javascript url with the one shown. decode(rownum, 1, ‘‘,”) 

Step 3: Add a Formula (Text) column that will use the script loaded. Replace the {item.name} with the field you would like to encode.

Step 4: If you would like to have more than one bar code per line you will need to make a small change for each new column added.  Repeat step 3 and add an additional Formula (Text) column but add a number before the two lower case ‘barcode’ strings. The number should be unique for each newly added column. ‘‘ Code128.Blog.BarCode.TL  

Limitations: You must use the Print button to either print the bar codes or to save them to PDF.  

The other export options will not render the HTML by default. Limitation.Blog.BarCode.TL

THIS IS A COPY FROM BLOG

SOURCE URL ADDRESS: http://blog.nxturn.com/bar-codes-in-netsuite-saved-searches