PageSourceSearch

https://supista.com/_next/static/chunks/pages/documentation/supistaerp/samples/scheduler-4d163d8f7dcca03d.js

js supista.com collected 2026-10-02 00:58:24 UTC 39,701 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6186],{75934:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/documentation/supistaerp/samples/scheduler",function(){return a(16405)}])},79391:function(e,t,a){"use strict";a.r(t),a.d(t,{DocsSchema:function(){return o}});var s=a(85893);a(2972);var i=a(41664),n=a.n(i);let o={AI:{heroText:(0,s.jsxs)("span",{children:["Supista Documentation ",(0,s.jsx)("br",{})," Fully Customizable Solution"]}),heading:"Unlock the Power of Data with Supista's AI Features",footer:"Transform Data into Decisions with Supista – Your Intelligent Data Partner",footerDesc:"Supista isn't just another BI tool, it's a gateway to a smarter, data-driven future. With user-friendly AI interactions, dynamic visual storytelling, and customized data insights, Supista empowers you to harness the full potential of your data. Make strategic decisions with confidence and stay ahead in the competitive landscape. Choose Supista, where data meets intuition."}},r=()=>(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"container",children:(0,s.jsx)("div",{className:"ebook-section-title",children:(0,s.jsx)("div",{className:"row justify-content-center",children:(0,s.jsxs)("div",{className:"text-center mt-5",children:[(0,s.jsx)("h5",{className:"dark:text-white text-black fw-normal fs-2",children:o.AI.footer}),(0,s.jsx)("p",{className:"mt-3 mb-3 fs-5 trending-description",children:o.AI.footerDesc}),(0,s.jsx)("div",{className:"action-btns mt-5 pb-5",children:(0,s.jsx)(n(),{href:"https://analytics.supista.com/auth/registration",className:"contact-us-btn ms-0 fw-bold",target:"blank",children:"Get Started Now"})})]})})})})});t.default=r},2972:function(e,t,a){"use strict";a.r(t);var s=a(85893),i=a(25675),n=a.n(i);let o=e=>{let{heroText:t,heroImage:a,heroVisualCallouts:i=[],children:o}=e;return(0,s.jsxs)("section",{id:"usecases-section",children:[(0,s.jsxs)("div",{className:"feature-hero-shell",children:[(0,s.jsx)("div",{className:"container",children:(0,s.jsxs)("div",{className:"row align-items-center justify-content-center g-4 g-lg-5 useCases-header",children:[(0,s.jsx)("div",{className:"col-12 col-lg-6",children:(0,s.jsx)("div",{className:"feature-hero-copy",children:t})}),(0,s.jsx)("div",{className:"col-12 col-lg-6",children:(0,s.jsxs)("div",{className:"feature-hero-visual",children:[(0,s.jsx)(n(),{alt:"Supista hero visual",src:a,width:560,height:560,layout:"responsive",objectFit:"contain",objectPosition:"center",className:"img-fluid"}),i.length>0&&(0,s.jsx)("div",{className:"feature-hero-visual-callouts",role:"list",children:i.map(e=>(0,s.jsxs)("div",{className:"feature-hero-visual-callout",role:"listitem",children:[(0,s.jsx)("span",{className:"feature-hero-visual-callout-icon","aria-hidden":"true",children:e.icon}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"feature-hero-visual-callout-title",children:e.title}),(0,s.jsx)("p",{className:"feature-hero-visual-callout-text",children:e.description})]})]},e.id))})]})})]})}),(0,s.jsx)("div",{className:"feature-hero-glow feature-hero-glow-one","aria-hidden":"true"}),(0,s.jsx)("div",{className:"feature-hero-glow feature-hero-glow-two","aria-hidden":"true"})]}),o]})};t.default=o},68177:function(e,t,a){"use strict";var s=a(85893),i=a(25675),n=a.n(i),o=a(79391);t.Z={useNextSeoProps:()=>({titleTemplate:"%s | Supista Docs"}),logo:(0,s.jsx)("span",{style:{fontWeight:"bold"},children:"Supista Documentation"}),project:{link:"https://supista.com",icon:(0,s.jsx)(n(),{alt:"Supista",src:"/favicon.png",width:"28",height:"28"})},darkMode:!1,nextThemes:{defaultTheme:"light"},editLink:{component:null},feedback:{content:null},footer:{component:(0,s.jsx)(o.default,{})}}},16405:function(e,t,a){"use strict";a.r(t),a.d(t,{__toc:function(){return l}});var s=a(85893),i=a(92673),n=a(57763),o=a(68177);a(15513);var r=a(39530);let l=[{depth:2,value:"Actions Supported by Schedulers",id:"actions-supported-by-schedulers"},{depth:3,value:"Modifying Database Data:",id:"modifying-database-data"},{depth:3,value:"Sending Emails:",id:"sending-emails"},{depth:2,value:"Important Behavior – No Direct Input",id:"important-behavior--no-direct-input"},{depth:2,value:"How It Works",id:"how-it-works"},{depth:3,value:"Setting the Schedule:",id:"setting-the-schedule"},{depth:3,value:"Defining the Action:",id:"defining-the-action"},{depth:2,value:"Example Code",id:"example-code"}];function c(e){let t=Object.assign({h1:"h1",p:"p",h2:"h2",h3:"h3",hr:"hr",pre:"pre",code:"code",span:"span"},(0,r.a)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{children:"Schedulers"}),"\n",(0,s.jsx)(t.p,{children:"Schedulers enable you to automate actions at defined intervals using cron expressions. They're ideal for tasks such as automatic data updates, periodic notifications, and report generation."}),"\n",(0,s.jsx)(t.h2,{id:"actions-supported-by-schedulers",children:"Actions Supported by Schedulers"}),"\n",(0,s.jsx)(t.h3,{id:"modifying-database-data",children:"Modifying Database Data:"}),"\n",(0,s.jsx)(t.p,{children:"Automatically update records or perform periodic data transformations."}),"\n",(0,s.jsx)(t.h3,{id:"sending-emails",children:"Sending Emails:"}),"\n",(0,s.jsx)(t.p,{children:"Dispatch notifications, reports, or alerts to designated recipients at scheduled intervals."}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"important-behavior--no-direct-input",children:"Important Behavior – No Direct Input"}),"\n",(0,s.jsx)(t.p,{children:"Schedulers do not receive runtime input parameters like normal API operations. Instead, when configuring a scheduler, you must explicitly perform a read operation on the target table within the scheduler logic itself. The code written inside the scheduler is executed against the data retrieved from the table at the scheduled time."}),"\n",(0,s.jsx)(t.p,{children:"This means:"}),"\n",(0,s.jsxs)(t.p,{children:["If you want the scheduler to process or modify records from a particular table, you must first call a readOp('tableName', ",") (or equivalent) inside the scheduler code."]}),"\n",(0,s.jsx)(t.p,{children:"All actions are performed based on the data returned by this read operation."}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"how-it-works",children:"How It Works"}),"\n",(0,s.jsx)(t.h3,{id:"setting-the-schedule",children:"Setting the Schedule:"}),"\n",(0,s.jsx)(t.p,{children:"Users define the desired schedule using cron expressions to specify exact timing (e.g., daily, weekly, monthly)."}),"\n",(0,s.jsx)(t.h3,{id:"defining-the-action",children:"Defining the Action:"}),"\n",(0,s.jsx)(t.p,{children:"The scheduler executes the predefined action—such as invoking an API operation, triggering a script, sending emails, or running database updates—when the scheduled time is reached. All processing is driven by the records fetched dynamically from the table through read operations."}),"\n",(0,s.jsx)(t.p,{children:"Schedulers are a powerful mechanism for automating internal workflows and ensuring consistent, timely execution of critical system tasks without requiring any external input."}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"example-code",children:"Example Code"}),"\n",(0,s.jsx)(t.pre,{"data-language":"js","data-theme":"default",children:(0,s.jsxs)(t.code,{"data-language":"js","data-theme":"default",children:[(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"function"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"customizeERP"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"(userData"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" apiOperations) {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"tableName"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"tableName"'}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:";"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:" "}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"payload"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    __d3__filterdata"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      where"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:'// "columnName": "columnValue"'})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  };"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:" "}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"resultRes"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:"readOp"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"(tableName"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" payload);"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"resultData"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"resultRes"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"?.count "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"resultRes"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"?.rows "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" [];"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:" "}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" (resultData "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"resultData"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"length"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"returnData"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"Promise"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:".all"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"("})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"userData"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-function)"},children:".map"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" (row) "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:" "}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"// your code goes here"})]}),"\n",(0,s.jsx)(t.span,{className:"line",c
1hildren:" "}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"// write your code for that you want to run on the certain times"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"// and set the scheduler time to run this code when you want"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:" "}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      })"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    );"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,s.jsx)(t.pre,{"data-language":"text","data-theme":"default",children:(0,s.jsx)(t.code,{"data-language":"text","data-theme":"default",children:(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"}})})})})]})}let d={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,r.a)(),e.components);return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)},pageOpts:{filePath:"pages/documentation/supistaerp/samples/scheduler.mdx",route:"/documentation/supistaerp/samples/scheduler",frontMatter:{title:"Automated Schedulers",description:"Configure Supista ERP schedulers with cron expressions to automate recurring data updates, notifications, reports, and workflow actions."},timestamp:1786728386e3,pageMap:[{kind:"Folder",name:"documentation",route:"/documentation",children:[{kind:"Meta",data:{supistabi:"Supista BI",supistaerp:"Supista ERP",supistaplatform:"Supista Platform"}},{kind:"Folder",name:"supistabi",route:"/documentation/supistabi",children:[{kind:"Meta",data:{introduction:"Introduction",datalake:"Data Lake",sheets:"Sheets",chartsettings:"Chart Settings",dashboard:"Dashboard",customizablereports:"Customizable Reports",customizablecolumns:"Customizable Columns & Tables",connect:"Connect with Us",supistatutorial:"Supista Tutorial"}},{kind:"MdxPage",name:"chartsettings",route:"/documentation/supistabi/chartsettings",frontMatter:{title:"Supista BI Chart Settings",description:"Learn how to edit Supista BI chart types, labels, colors, axes, legends, filters, and display settings to create clear, decision-ready visualizations."}},{kind:"MdxPage",name:"connect",route:"/documentation/supistabi/connect",frontMatter:{title:"Contact Supista BI Support",description:"Contact the Supista BI team for product questions, setup guidance, troubleshooting, feature requests, and help with dashboards or data connections."}},{kind:"MdxPage",name:"customizablecolumns",route:"/documentation/supistabi/customizablecolumns",frontMatter:{title:"Customizable Columns and Tables",description:"Configure columns and tables in Supista BI to organize business data, control visible fields, and create clearer views for analysis and reporting."}},{kind:"MdxPage",name:"customizablereports",route:"/documentation/supistabi/customizablereports",frontMatter:{title:"Automated Reports in Supista BI",description:"Create, customize, schedule, and share Supista BI reports so teams receive consistent performance insights without repetitive manual reporting."}},{kind:"MdxPage",name:"dashboard",route:"/documentation/supistabi/dashboard",frontMatter:{title:"Supista BI Dashboard Guide",description:"Build Supista BI dashboards that combine charts, KPIs, filters, and operational data into clear views for teams, managers, and stakeholders."}},{kind:"MdxPage",name:"datalake",route:"/documentation/supistabi/datalake",frontMatter:{title:"Supista BI Data Lake Guide",description:"Learn how the Supista BI data lake stores connected business data and prepares reliable records for dashboards, analytics, reports, and operational insights."}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistabi/introduction",frontMatter:{title:"Introduction to Supista BI",description:"Get started with Supista BI and learn how to connect data, build dashboards, analyze KPIs, create reports, and share decision-ready insights."}},{kind:"MdxPage",name:"sheets",route:"/documentation/supistabi/sheets",frontMatter:{title:"Sheets in Supista BI",description:"Learn how Supista BI sheets organize charts and analysis, helping teams build focused views from connected operational and business data."}},{kind:"MdxPage",name:"supistatutorial",route:"/documentation/supistabi/supistatutorial",frontMatter:{title:"Supista BI Tutorial",description:"Follow the Supista BI tutorial to connect data, create sheets, configure charts, assemble dashboards, and share automated business reports."}}]},{kind:"Folder",name:"supistaerp",route:"/documentation/supistaerp",children:[{kind:"Meta",data:{introduction:"Introduction",parameters:"Parameters",samples:"Samples","performance-and-efficiency-guidelines":"Performance & Efficiency Guidelines"}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistaerp/introduction",frontMatter:{title:"Supista ERP Customization Guide",description:"Learn how Supista ERP customization extends standard CRUD operations with business rules, validations, workflows, notifications, and connected actions."}},{kind:"Folder",name:"parameters",route:"/documentation/supistaerp/parameters",children:[{kind:"Meta",data:{userdata:"Customize ERP Function – Parameters Explanation",apioperations:"API Operations",relationalapioperations:"Relational API Operations","entity-relationships":"Entity Relationships",popupmessage:"Popup Message"}},{kind:"Folder",name:"apioperations",route:"/documentation/supistaerp/parameters/apioperations",children:[{kind:"Meta",data:{index:"Introduction","create-op":"Create Operation","read-op":"Read Operation","update-op":"Update Operation","remove-op":"Remove Operation","bulk-create":"Bulk Create","bulk-update":"Bulk Update","bulk-upsert":"Bulk Upsert","csv-upload":"CSV Upload","fetch-users":"Fetch Users","generate-pdf":"Generate PDF","generate-csv":"Generate CSV","send-mail":"Send Mail"}},{kind:"MdxPage",name:"bulk-create",route:"/documentation/supistaerp/parameters/apioperations/bulk-create",frontMatter:{title:"Bulk Create API Operation",description:"Use bulkCreateOp in Supista ERP to insert multiple database records efficie
1ntly, validate input data, and return consistent operation results."}},{kind:"MdxPage",name:"bulk-update",route:"/documentation/supistaerp/parameters/apioperations/bulk-update",frontMatter:{title:"Bulk Update API Operation",description:"Use bulkUpdateOp in Supista ERP to update multiple database records in one operation with structured filters, values, and response handling."}},{kind:"MdxPage",name:"bulk-upsert",route:"/documentation/supistaerp/parameters/apioperations/bulk-upsert",frontMatter:{title:"Bulk Upsert API Operation",description:"Use bulk upsert in Supista ERP to insert multiple records and update existing rows when configured unique-field conflicts are detected."}},{kind:"MdxPage",name:"create-op",route:"/documentation/supistaerp/parameters/apioperations/create-op",frontMatter:{title:"Create API Operation",description:"Use createOp in Supista ERP to validate input and insert a new PostgreSQL record through a structured, reusable API operation."}},{kind:"MdxPage",name:"csv-upload",route:"/documentation/supistaerp/parameters/apioperations/csv-upload",frontMatter:{title:"CSV Upload Operation",description:"Upload CSV or Excel data into Supista ERP, map columns, validate records, handle errors, and process structured bulk data from the user interface."}},{kind:"MdxPage",name:"fetch-users",route:"/documentation/supistaerp/parameters/apioperations/fetch-users",frontMatter:{title:"Fetch Users API Operation",description:"Use the Supista ERP fetch-users operation to retrieve user records from a list of IDs for assignments, approvals, notifications, and workflow logic."}},{kind:"MdxPage",name:"generate-csv",route:"/documentation/supistaerp/parameters/apioperations/generate-csv",frontMatter:{title:"Generate CSV Operation",description:"Export structured Supista ERP data into a CSV file by defining columns, values, formatting, and the downloadable output returned to users."}},{kind:"MdxPage",name:"generate-pdf",route:"/documentation/supistaerp/parameters/apioperations/generate-pdf",frontMatter:{title:"Generate PDF Operation",description:"Generate PDFs from Supista ERP data with predefined templates for invoices, purchase orders, reports, certificates, and operational documents."}},{kind:"MdxPage",name:"index",route:"/documentation/supistaerp/parameters/apioperations",frontMatter:{title:"Supista ERP API Operations",description:"Explore Supista ERP API helpers for creating, reading, updating, deleting, importing, exporting, and communicating with operational data."}},{kind:"MdxPage",name:"read-op",route:"/documentation/supistaerp/parameters/apioperations/read-op",frontMatter:{title:"Read API Operation",description:"Use readOp in Supista ERP to query PostgreSQL records with selected fields, filters, sorting, pagination, and structured response handling."}},{kind:"MdxPage",name:"remove-op",route:"/documentation/supistaerp/parameters/apioperations/remove-op",frontMatter:{title:"Remove API Operation",description:"Use removeOp in Supista ERP to delete selected PostgreSQL records safely with filters, validation, and clear success or error responses."}},{kind:"MdxPage",name:"send-mail",route:"/documentation/supistaerp/parameters/apioperations/send-mail",frontMatter:{title:"Send Mail Operation",description:"Send transactional emails from Supista ERP with configured recipients, subjects, templates, attachments, and workflow-triggered content."}},{kind:"MdxPage",name:"update-op",route:"/documentation/supistaerp/parameters/apioperations/update-op",frontMatter:{title:"Update API Operation",description:"Use updateOp in Supista ERP to validate changes and update an existing PostgreSQL record through a structured API operation."}}]},{kind:"Folder",name:"entity-relationships",route:"/documentation/supistaerp/parameters/entity-relationships",children:[{kind:"Meta",data:{introduction:"Introduction",belongstorelation:"Belongs To Relation",hasmanyrelation:"Has Many Relation",hasonerelation:"Has One Relation",belongstomanyrelation:"Belongs To Many Relation"}},{kind:"MdxPage",name:"belongstomanyrelation",route:"/documentation/supistaerp/parameters/entity-relationships/belongstomanyrelation",frontMatter:{title:"Belongs-to-Many Relationships",description:"Configure belongs-to-many relationships in Supista ERP and use relational CRUD helpers to manage records across many-to-many data models."}},{kind:"MdxPage",name:"belongstorelation",route:"/documentation/supistaerp/parameters/entity-relationships/belongstorelation",frontMatter:{title:"Belongs-To Relationships",description:"Configure belongs-to relationships in Supista ERP to connect child records with one parent and manage related data through CRUD operations."}},{kind:"MdxPage",name:"hasmanyrelation",route:"/documentation/supistaerp/parameters/entity-relationships/hasmanyrelation",frontMatter:{title:"Has-Many Relationships",description:"Configure has-many relationships in Supista ERP to connect one parent with multiple child records and manage related CRUD operations."}},{kind:"MdxPage",name:"hasonerelation",route:"/documentation/supistaerp/parameters/entity-relationships/hasonerelation",frontMatter:{title:"Has-One Relationships",description:"Configure has-one relationships in Supista ERP to connect one parent record with one child and manage related data through CRUD operations."}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistaerp/parameters/entity-relationships/introduction",frontMatter:{title:"Entity Relationships in Supista ERP",description:"Learn how belongs-to, has-one, has-many, and belongs-to-many relationships connect Supista ERP components into scalable data models."}}]},{kind:"MdxPage",name:"popupmessage",route:"/documentation/supistaerp/parameters/popupmessage",frontMatter:{title:"Popup Messages in Supista ERP",description:"Configure Supista ERP popup messages to give users clear success, warning, and error feedback after workflow and database operations."}},{kind:"MdxPage",name:"relationalapioperations",route:"/documentation/supistaerp/parameters/relationalapioperations",frontMatter:{title:"Relational API Operations",description:"Use Supista ERP relational API helpers to create, read, update, and remove records connected to parent components and related tables."}},{kind:"MdxPage",name:"userdata",route:"/documentation/supistaerp/parameters/userdata",frontMatter:{title:"CustomizeERP Parameters",description:"Understand the userData and operation parameters passed into customizeERP functions for validation, workflow logic, and custom API behavior."}}]},{kind:"MdxPage",name:"performance-and-efficiency-guidelines",route:"/documentation/supistaerp/performance-and-efficiency-guidelines",frontMatter:{title:"ERP Performance Guidelines",description:"Follow Supista ERP development practices for faster queries, scalable operations, maintainable custom logic, efficient APIs, and reliable workflows."}},{kind:"Folder",name:"samples",route:"/documentation/supistaerp/samples",children:[{kind:"Meta",data:{crud:"CRUD",formcustomization:"Custom Form",actionbutton:"Action Button",scheduler:"Scheduler",notifications:"Notifications","pdf-template":"PDF Template","email-template":"Email Template","ai-operations":"AI Operations","appactivity-operation":"App Activity Operation"}},{kind:"MdxPage",name:"actionbutton",route:"/documentation/supistaerp/samples/actionbutton",frontMatter:{title:"Custom Action Buttons",description:"Create Supista ERP action buttons that run custom logic on selected records, trigger workflows, and return clear results to users."}},{kind:"MdxPage",name:"ai-operations",route:"/documentation/supistaerp/samples/ai-operations",frontMatter:{title:"AI Operations in Supista ERP",description:"Use askAI in Supista ERP to send prompts, structured data, and files to an AI model for extraction, analysis, generation, and workflow decisions."}},{kind:"MdxPage",name:"appactivity-operation",route:"/documentation/supistaerp/samples/appactivity-operation",frontMatter:{title:"Ap
1pActivity Operations",description:"Use Supista ERP AppActivity operations to record application events, support workflow tracking, and improve execution visibility and auditing."}},{kind:"MdxPage",name:"crud",route:"/documentation/supistaerp/samples/crud",frontMatter:{title:"Custom CRUD API Examples",description:"Review Supista ERP examples for customized create, read, update, and delete APIs with validation, business logic, and structured responses."}},{kind:"MdxPage",name:"email-template",route:"/documentation/supistaerp/samples/email-template",frontMatter:{title:"Custom Email Templates",description:"Customize Supista ERP email templates and transform recipient, subject, body, and operational data before workflow messages are sent."}},{kind:"MdxPage",name:"formcustomization",route:"/documentation/supistaerp/samples/formcustomization",frontMatter:{title:"Form Customization",description:"Customize Supista ERP forms with validation, conditional behavior, enriched field data, and context-aware logic during rendering or submission."}},{kind:"MdxPage",name:"notifications",route:"/documentation/supistaerp/samples/notifications",frontMatter:{title:"In-App Notification Operations",description:"Use appNotification in Supista ERP to send real-time alerts for approvals, system events, workflow updates, exceptions, and custom triggers."}},{kind:"MdxPage",name:"pdf-template",route:"/documentation/supistaerp/samples/pdf-template",frontMatter:{title:"Custom PDF Templates",description:"Build Supista ERP PDF templates that combine operational data with reusable layouts for invoices, orders, reports, and downloadable documents."}},{kind:"MdxPage",name:"scheduler",route:"/documentation/supistaerp/samples/scheduler",frontMatter:{title:"Automated Schedulers",description:"Configure Supista ERP schedulers with cron expressions to automate recurring data updates, notifications, reports, and workflow actions."}}]}]},{kind:"Folder",name:"supistaplatform",route:"/documentation/supistaplatform",children:[{kind:"Meta",data:{introduction:"Introduction",generalsettings:"General Settings",assetsettings:"Asset Settings",apiplugin:"API Plugin",modules:"Modules",datatables:"Data Tables",components:"Components",teamsandusers:"Teams and Users"}},{kind:"MdxPage",name:"apiplugin",route:"/documentation/supistaplatform/apiplugin",frontMatter:{title:"Supista API Plugin Guide",description:"Set up Supista API plugins and webhooks for secure integrations, faster data sync, stronger compliance monitoring, and clear workflow visibility."}},{kind:"MdxPage",name:"assetsettings",route:"/documentation/supistaplatform/assetsettings",frontMatter:{title:"Supista Asset Settings",description:"Manage files and branding in Supista Asset Settings to speed deployment, maintain compliance controls, reduce rework, and improve workspace visibility."}},{kind:"Folder",name:"components",route:"/documentation/supistaplatform/components",children:[{kind:"Meta",data:{introduction:"Introduction",createcomponent:"Component Details",componentaicustomization:"Component AI Customization",agenticai:"Agentic AI",templates:"Templates",roleaccess:"Role Access",additionalsettings:"Additional Settings",filters:"Filters"}},{kind:"MdxPage",name:"additionalsettings",route:"/documentation/supistaplatform/components/additionalsettings",frontMatter:{title:"Component Additional Settings",description:"Configure component additional settings in Supista to control field behavior, strengthen governance, and improve workflow speed and visibility."}},{kind:"MdxPage",name:"agenticai",route:"/documentation/supistaplatform/components/agenticai",frontMatter:{title:"Agentic AI Configuration",description:"Use Agentic AI in Supista components to automate extraction and analysis with faster execution, stronger controls, and better operational visibility."}},{kind:"MdxPage",name:"componentaicustomization",route:"/documentation/supistaplatform/components/componentaicustomization",frontMatter:{title:"Component AI Customization",description:"Customize Supista component AI logic for validations and automation to increase speed, strengthen compliance checks, and improve insight visibility."}},{kind:"MdxPage",name:"createcomponent",route:"/documentation/supistaplatform/components/createcomponent",frontMatter:{title:"Create a Supista Component",description:"Create Supista components with structured fields and data bindings to speed rollout, enforce compliance checks, and improve operational visibility."}},{kind:"MdxPage",name:"filters",route:"/documentation/supistaplatform/components/filters",frontMatter:{title:"Component Filters",description:"Set up Supista component filters to 
1show the right records, accelerate decisions, maintain policy compliance, and improve day-to-day visibility."}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistaplatform/components/introduction",frontMatter:{title:"Supista Components Overview",description:"Understand Supista components to turn data tables into usable apps with faster execution, compliant access controls, and better process visibility."}},{kind:"MdxPage",name:"roleaccess",route:"/documentation/supistaplatform/components/roleaccess",frontMatter:{title:"Component Role Access",description:"Configure role-based access in Supista components to protect data, enforce compliance guardrails, and give teams clear workflow visibility."}},{kind:"MdxPage",name:"templates",route:"/documentation/supistaplatform/components/templates",frontMatter:{title:"Component Templates",description:"Build reusable templates in Supista for emails and documents to save time, standardize compliant communication, and improve process visibility."}}]},{kind:"MdxPage",name:"datatables",route:"/documentation/supistaplatform/datatables",frontMatter:{title:"Supista Data Tables",description:"Design Supista data tables for reliable records, faster operations, policy-ready controls, and end-to-end visibility across procure-to-pay workflows."}},{kind:"MdxPage",name:"generalsettings",route:"/documentation/supistaplatform/generalsettings",frontMatter:{title:"Supista General Settings",description:"Configure workspace identity, authentication, and defaults in Supista General Settings to improve setup speed, policy compliance, and operational visibility."}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistaplatform/introduction",frontMatter:{title:"Supista Platform Introduction",description:"Learn Supista Platform basics to configure workflows, data structure, and governance with faster setup, better compliance, and full operational visibility."}},{kind:"Folder",name:"modules",route:"/documentation/supistaplatform/modules",children:[{kind:"Meta",data:{introduction:"Introduction",createnewmodule:"Create New Module",aierpmodule:"AI ERP Module"}},{kind:"MdxPage",name:"aierpmodule",route:"/documentation/supistaplatform/modules/aierpmodule",frontMatter:{title:"AI ERP Module Guide",description:"Generate ERP modules with Supista AI to launch workflows faster, maintain policy compliance, and gain clear visibility across operations."}},{kind:"MdxPage",name:"createnewmodule",route:"/documentation/supistaplatform/modules/createnewmodule",frontMatter:{title:"Create a Supista Module",description:"Create new Supista modules step by step to map business processes, improve execution speed, enforce controls, and increase operational visibility."}},{kind:"MdxPage",name:"introduction",route:"/documentation/supistaplatform/modules/introduction",frontMatter:{title:"Supista Modules Overview",description:"Learn how Supista modules organize workflows and data so teams can execute faster, stay compliant, capture savings, and improve visibility."}}]},{kind:"MdxPage",name:"teamsandusers",route:"/documentation/supistaplatform/teamsandusers",frontMatter:{title:"Teams and Users",description:"Manage teams, user access, and role permissions in Supista to improve response speed, enforce compliance guardrails, and increase governance visibility."}}]}]},{kind:"Folder",name:"products",route:"/products",children:[{kind:"Folder",name:"supista-projects",route:"/products/supista-projects",children:[{kind:"Folder",name:"blogs",route:"/products/supista-projects/blogs",children:[{kind:"MdxPage",name:"AGENTS",route:"/products/supista-projects/blogs/AGENTS"},{kind:"Meta",data:{AGENTS:"Agents"}}]}]}]}],flexsearch:{codeblocks:!0},title:"Automated Schedulers",headings:l},pageNextRoute:"/documentation/supistaerp/samples/scheduler",nextraLayout:n.ZP,themeConfig:o.Z};t.default=(0,i.j)(d)},15789:function(){}},function(e){e.O(0,[8999,3424,9774,2888,179],function(){return e(e.s=75934)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.