NetSuite AI 图生代码

news2024/11/15 18:06:27

去年的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 form
            var form = serverWidget.createForm({
                title: 'Management Report'
            });
            
            // Add Periods field group
            form.addFieldGroup({
                id: 'periods',
                label: 'Periods'
            });

            // Add Options field group
            form.addFieldGroup({
                id: 'options',
                label: 'Options'
            });

            // Add Notice field group
            form.addFieldGroup({
                id: 'notice',
                label: 'Notice'
            });

            // Add Start Period field
            form.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 field
            form.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 group
            form.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 group
            form.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 Button
            form.addSubmitButton({
                label: 'Generate Report & Email'
            });
            
            // Write the form to the response
            context.response.writePage(form);
        } else {
            // Handle POST request to generate the report
            var 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 background
            
            var reportTask = task.create({
                taskType: task.TaskType.MAP_REDUCE,
                scriptId: 'customscript_generate_report_mr',  // Replace with your Map/Reduce script ID
                deploymentId: 'customdeploy_generate_report_mr',  // Replace with your deployment ID
                params: {
                    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 page
            context.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SOMEIP_ETS_076: Wrong_Method_ID

测试目的&#xff1a; 验证当设备&#xff08;DUT&#xff09;接收到一个包含错误方法ID的SOME/IP请求时&#xff0c;是否能够返回错误消息或忽略该请求。 描述 本测试用例旨在检查DUT在处理一个echoUINT8方法的SOME/IP消息时&#xff0c;如果消息中包含的方法ID不正确&…

NC 寻找峰值

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定一个长度…

12:以太网口模块布局

1.以太网口布局重点 ①两对差分线对应百兆网口&#xff0c;4对差分线对应千兆网口 ②以太网口重点是处理2对差分线&#xff0c;且优先走顶层 2.抽头信号要加粗&#xff1a;20mil-30mil

Unity学习路线

目录 一、Unity官方推荐路线二、AI总结的学习路线1、Unity学习路线图&#xff08;文言一心&#xff09;一、基础入门&#xff08;初级&#xff09;二、进阶提升&#xff08;中级&#xff09;三、高级深入&#xff08;高级&#xff09;四、专家级探索 注意事项 2、Unity学习路线…

【例003】利用MATLAB绘制有趣平面图形

题目&#xff1a; 用 ezplot 画出由方程 sin ⁡ ( x 2 m y 2 1000 ) cos ⁡ ( x y ) \sin(x^2\frac{my^2}{1000})\cos(xy) sin(x21000my2​)cos(xy) 确定隐函数的图形。 求解&#xff1a; 我们分别取m为100&#xff0c;1000,10000不同的值&#xff0c;绘制不同情况下的图…

计算机毕业设计选题推荐-公司考勤管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

解决银河麒麟中`netstat`命令不可用

解决银河麒麟中netstat命令不可用 1、问题2、解决方案3、 总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、问题 在银河麒麟服务器操作系统中&#xff0c;netstat命令可能不可用&#xff0c;因为它属于未安装的net-tools软件包。 2…

LabVIEW程序员的护城河是什么

LabVIEW程序员的护城河在于他们深厚的行业经验和对特定领域的深刻理解&#xff0c;这使得他们在工业自动化、测试与测量等领域中难以被轻易取代。然而&#xff0c;随着AI技术的进步&#xff0c;部分基础性和重复性的工作可能会逐渐被AI接管&#xff0c;但LabVIEW程序员的独特技…

WEB渗透Win提权篇-合集(上)

完整20w字笔记&#xff1a; 夸克网盘分享 AppLocker GPO HKLM\SOFTWARE\Policies\Microsoft\Windows\SrpV2&#xff08;keys&#xff1a;Appx、Dll、Exe、Msi 和脚本&#xff09;。 列出 AppLocker 规则 PowerView PS C:\> Get-AppLockerPolicy -Effective | select -Expa…

0901python打印异常信息

python异常处理 1.目的2.python异常处理办法2.1直接打印异常信息2.2打印异常具体位置 3.日志处理3.1代码 4.结果输出 1.目的 在java中,我们经常会有统一异常处理以及日志打印模块,同样,python也是,在yolo中很多位置就是用到了这个,比如校验图片的尺寸,后缀名,设备状态等等… …

苹果笔记本电脑能不能玩游戏?苹果电脑玩游戏咋样?

过去Mac玩不了游戏最大的问题&#xff0c;就是图形API自成一体&#xff0c;苹果既不支持微软的DirectX&#xff0c;同时为了推广自家的Metal图形API&#xff0c;又对OpenGL和Vulkan两大主流的通用API敬而远之。游戏生态、硬件瓶颈让苹果电脑不适合玩游戏。 不过说到底&#xf…

C++ 设计模式——备忘录模式

C 设计模式——备忘录模式 C 设计模式——备忘录模式1. 主要组成成分2. 逐步构建备忘录模式步骤1: 创建备忘录步骤2: 实现原发器步骤3: 创建管理者&#xff08;负责人&#xff09;类步骤4: 客户端使用 3. 备忘录模式 UML 图UML 图解析 4. 备忘录模式的优点5. 备忘录模式的缺点6…

(1)冒泡排序和其优化

一 冒泡排序 1.1 冒泡排序概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种交换排序&#xff0c;基本思想是&#xff1a;两两比较相邻记录的关键字&#xff0c;如果反序则交换&#xff0c;直到没有反序记录位置。 假设要对无序数列{2,3,4,5,6,7,8,1}排序&#xff1a;…

从一到无穷大 #34 从Columnar Storage Formats评估到时序存储格式的设计权衡

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言Parquet / ORC功能与结构对比差异Indexes and Filters压缩影响 TsFile总结 引言 …

使用 Milvus Lite、Llama3 和 LlamaIndex 搭建 RAG 应用

大语言模型&#xff08;LLM&#xff09;已经展示出与人类交互并生成文本响应的卓越能力。这些模型可以执行各种自然语言任务&#xff0c;如翻译、概括、代码生成和信息检索等。 为完成这些任务&#xff0c;LLM 需要基于海量数据进行预训练。在这个过程中&#xff0c;LLM 基于给…

捷达千里江山首发亮相,捷达品牌2024成都车展继续宠粉不停

2024年8月30日&#xff0c;捷达品牌携新车捷达千里江山惊艳亮相2024成都国际车展&#xff0c;并在五周年之际&#xff0c;发布幸福包油计划等宠粉福利&#xff0c;号召用户打卡千里江山&#xff0c;奔赴美好。与此同时&#xff0c;全新捷达VS5/VS7五周年纪念版车型进一步降低了…

基于Java+SpringBoot+Vue的汽车销售网站

基于JavaSpringBootVue的汽车销售网站 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345; 某信 gzh 搜索【智能编程小助手】获取项…

Kevin‘s notes about Qt---Episode 3 在界面中修改程序参数Demo

Demo 效果 实现一个加法器,在输入框中分别填入a和b的值,点击“calculate”按钮,在sum处显示a+b的结果。 整体结构 我自己先写了一个模板用于测试从文本框获取输入数据,整个工程的结构如下: 说明: func_myself.h和func_myself.cpp是我自己创建的头文件和源文件,用于定…

江协科技stm32————11-2 W25Q64简介

W25Q64简介 存储容量&#xff08;24位地址&#xff09;在分配地址时需要3个字节&#xff0c;最多16MByte 硬件电路 HOLD&#xff1a;相当于SPI进了一次中断&#xff0c;保持原来的数据 括号内的IO0、IO1……用于双重和四重SPI 框图 右上角首先将8Mb的存储空间以64kb的大小分为…