当前位置: 首页 > news >正文

NetSuite AI 图生代码

去年的ChatGPT热潮期间,我们写过一篇文章说GTP辅助编程的事。

NetSuite GPT的辅助编程实践_如何打开netsuite: html script notes的视图-CSDN博客文章浏览阅读2.2k次,点赞4次,收藏3次。作为GPT综合症的一种表现,我们今朝来探究下GPT会不会抢了我们SuiteScript的编程饭碗,以及如何与之相处。_如何打开netsuite: html script notes的视图https://nk-community.blog.csdn.net/article/details/130167144一年之后的今天,具备“图生代码”的ChatGPT 4o更加令人激动。

ChatGPT图生NetSuite代码 2024-08-29

这个场景是当我们想构建如下的Suitelet界面时,可以通过ChatGPT的“图生代码”功能来生成“粗代码”。所谓粗代码就是代码的毛坯件,里面可能存在错误、不达意之处,但是大部分是可以用的。

当我们把这个图喂给ChatGPT时,它输出的代码如下。

/*** @NApiVersion 2.x* @NScriptType Suitelet*/
define(['N/ui/serverWidget', 'N/email', 'N/runtime', 'N/redirect', 'N/task'], 
function(serverWidget, email, runtime, redirect, task) {function onRequest(context) {if (context.request.method === 'GET') {// Create the formvar form = serverWidget.createForm({title: 'Management Report'});// Add Periods field groupform.addFieldGroup({id: 'periods',label: 'Periods'});// Add Options field groupform.addFieldGroup({id: 'options',label: 'Options'});// Add Notice field groupform.addFieldGroup({id: 'notice',label: 'Notice'});// Add Start Period fieldform.addField({id: 'custpage_start_period',type: serverWidget.FieldType.SELECT,label: 'START PERIOD',container: 'periods'}).addSelectOption({ value: 'Aug 2024', text: 'Aug 2024', isSelected: true });  // Example option// Add End Period fieldform.addField({id: 'custpage_end_period',type: serverWidget.FieldType.SELECT,label: 'END PERIOD',container: 'periods'}).addSelectOption({ value: 'Aug 2024', text: 'Aug 2024', isSelected: true });  // Example option// Add checkboxes for sheets in the Options groupform.addField({id: 'custpage_sheet_start_to_end',type: serverWidget.FieldType.CHECKBOX,label: 'Sheet – Data During START PERIOD to END PERIOD',container: 'options'});form.addField({id: 'custpage_sheet_year_to_end',type: serverWidget.FieldType.CHECKBOX,label: 'Sheet – Data During Year Beginning to END PERIOD',container: 'options'});form.addField({id: 'custpage_sheet_end',type: serverWidget.FieldType.CHECKBOX,label: 'Sheet – Data in END PERIOD',container: 'options'});// Add Notice field in the Notice groupform.addField({id: 'custpage_notice',type: serverWidget.FieldType.INLINEHTML,label: ' ',container: 'notice'}).defaultValue = "<p style='color:#999;'>After you click the Generate Report & Email Button, you can close the window.<br>It would take 3-5 minutes to generate the report and Email to you.</p>";// Add Generate Report & Email Buttonform.addSubmitButton({label: 'Generate Report & Email'});// Write the form to the responsecontext.response.writePage(form);} else {// Handle POST request to generate the reportvar startPeriod = context.request.parameters.custpage_start_period;var endPeriod = context.request.parameters.custpage_end_period;var includeSheetStartToEnd = context.request.parameters.custpage_sheet_start_to_end === 'T';var includeSheetYearToEnd = context.request.parameters.custpage_sheet_year_to_end === 'T';var includeSheetEnd = context.request.parameters.custpage_sheet_end === 'T';// Logic to generate and email the report// This would involve creating a script task or similar to process the report in the backgroundvar reportTask = task.create({taskType: task.TaskType.MAP_REDUCE,scriptId: 'customscript_generate_report_mr',  // Replace with your Map/Reduce script IDdeploymentId: 'customdeploy_generate_report_mr',  // Replace with your deployment IDparams: {custscript_start_period: startPeriod,custscript_end_period: endPeriod,custscript_include_sheet_start_to_end: includeSheetStartToEnd,custscript_include_sheet_year_to_end: includeSheetYearToEnd,custscript_include_sheet_end: includeSheetEnd}});var reportTaskId = reportTask.submit();// Redirect or show confirmation pagecontext.response.write('The report is being generated and will be emailed to you shortly.');}}return {onRequest: onRequest};
});

这段代码除了有一个问题外,基本可用。

就是ChatGPT没有很好的理解"布局",所以Periods和Options这两个FieldGroup没有并列排布。即使在重复提示它进行调整后,依然没有处理好。这说明语料库中,缺乏此部分的知识。

咨询了我们的开发顾问,他们认为通过图生代码的功能,可以节省一些重复代码的编写时间,这种辅助编程的方法是可用的。

这,就是一年间的AI变化。

不过同样的提示词,在Claudy,文心上表现的很二次元。大家一试便知。

如果有任何关于NetSuite的问题,欢迎来谈。邮箱:service@truston.group

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 多目标应用:基于MOPSO的移动机器人路径规划研究(提供MATLAB代码)
  • RTX5源码全家桶集成emWin6.40, Modbus主从,含FreeRTOS版, 探讨一种移植第3方组件通用方法以及使用注意事项2024-08-30
  • 【电子数据取证】Linux软件包管理器yum和编辑器vim
  • 【最全最详细】RPC与HTTP的区别
  • kali——nmap的使用
  • Centos7的x86上构建arm镜像docker
  • 【HuggingFace Transformers】Bert Model的应用
  • Qt/C++地址转坐标/坐标转地址/逆地址解析/支持百度高德腾讯和天地图
  • 时间格式--cotroller传递时间参数
  • RESP图形化界面远程连接虚拟机Redis教程
  • RepoAgent:基于大型语言模型的开源框架,主动生成、维护和更新代码文档
  • Amazon Bedrock 实践:零基础创建贪吃蛇游戏
  • [Algorithm][综合训练][体育课测验(二)][合唱队形][宵暗的妖怪]详细讲解
  • 嵌入式:Arm v7-M指令集架构中的字节序(大小端)
  • Java 入门指南:Java 并发编程 —— Synchronized 实现悲观锁(Pessimistic Locking)
  • create-react-app项目添加less配置
  • C语言笔记(第一章:C语言编程)
  • ES学习笔记(12)--Symbol
  • flutter的key在widget list的作用以及必要性
  • JAVA 学习IO流
  • Java-详解HashMap
  • node和express搭建代理服务器(源码)
  • Redis 中的布隆过滤器
  • Theano - 导数
  • vagrant 添加本地 box 安装 laravel homestead
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • WebSocket使用
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 当SetTimeout遇到了字符串
  • 开发基于以太坊智能合约的DApp
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 力扣(LeetCode)21
  • 力扣(LeetCode)965
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何编写一个可升级的智能合约
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 王永庆:技术创新改变教育未来
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 湖北分布式智能数据采集方法有哪些?
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 选择阿里云数据库HBase版十大理由
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​数据链路层——流量控制可靠传输机制 ​
  • #宝哥教你#查看jquery绑定的事件函数
  • ()、[]、{}、(())、[[]]命令替换
  • (4.10~4.16)
  • (BFS)hdoj2377-Bus Pass
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET Core中的去虚
  • .NET中分布式服务