DSW рд░рд┐рдкреЛрд░реНрдЯ - рдбреАрдкрд╕реАрд╡реЗрдм рд░рд┐рдкреЛрд░реНрдЯ рдЬреЗрдирд░реЗрдЯрд░

DSW рд░рд┐рдкреЛрд░реНрдЯ - рдбреАрдкрд╕реАрд╡реЗрдм рд░рд┐рдкреЛрд░реНрдЯ рдЬреЗрдирд░реЗрдЯрд░


рдЕрдХреНрд╕рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдбреИрд╢рдмреЛрд░реНрдб рдХреЗ рддрддреНрд╡реЛрдВ рд╕реЗ рдпреБрдХреНрдд рдкреАрдбреАрдПрдл рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред InterSystems рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдШрдЯрдирд╛рдХреНрд░рдо рдореЗрдВ, рдпрд╣ рдХрд╛рд░реНрдп DSW рд░рд┐рдкреЛрд░реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ DeepSeeWeb рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдХрд┐ рдкреАрдбреАрдПрдл рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдИрдореЗрд▓ рд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдбрдмреНрд▓реНрдпреВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред


DSW рд░рд┐рдкреЛрд░реНрдЯ рдХреНрдпрд╛ рд╣реИ?


InterSystems IRIS рдбреЗрдЯрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ InterSystems IRIS рдмрд┐рдЬрдиреЗрд╕ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ DeepSee рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рд╣реИред рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдбреАрдкрд╕реАрд╡реЗрдм , рдЬреЛ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдореНрд╕ рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдмреАрдЖрдИ рдбреИрд╢рдмреЛрд░реНрдбреНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдПрдВрдЧреБрд▓рд░рдЬреЗрдПрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреАрдкрд╕реАрд╡реЗрдм MDX2JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо IRIS BI рдХреЛ REST API рдПрдХреНрд╕реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред


DeepSeeWeb рдФрд░ MDX2JSON рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдФрд░ рджреЛ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред


DSW рд░рд┐рдкреЛрд░реНрдЯреНрд╕ , AngularJS рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ DSW рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред DSW рд░рд┐рдкреЛрд░реНрдЯреНрд╕ MDX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреЗрдЯреНрд╕ рдФрд░ MDX2JSON рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DeepSeeWeb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


  • рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЪрдпрдирд┐рдд рд╡рд┐рдЬреЗрдЯреНрд╕ рд░реЗрдВрдбрд░ рдХрд░рдирд╛ред
  • рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ MDX рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯред
  • рдкреАрдбреАрдПрдл рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдореЗрд▓ рдХрд░реЗрдВ
  • рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рдХрдЯрди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛

HTML рд░рд┐рдкреЛрд░реНрдЯ


рд░рд┐рдкреЛрд░реНрдЯ рдирд┐рд░реНрдорд╛рдг


DSW рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХрдо рд╕реЗ рдХрдо 2 рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВ:


  • index.html - рд╡рд╛рдпрд░рдлреНрд░реЗрдо рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда, рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред
  • config.js - рд░рд┐рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди, рд░рд┐рдкреЛрд░реНрдЯ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рд░рд┐рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ getConfiguration рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


//    function getConfiguration(params){...} 

GetConfiguration рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкрд░рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ URL рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ " рд╕рд░реНрд╡рд░ " рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕рд░реНрд╡рд░ рдПрдбреНрд░реЗрд╕ рд╣реЛрддрд╛ рд╣реИред " рд╕рд░реНрд╡рд░ " рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд░реВрдк рд╣реИ: protocol://host:port ред


Params рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ URL рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЗрдЪреНрдЫрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдЬреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо URL рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдлрд╝рд┐рд▓реНрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрд╛рд░реНрд╕рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред


 //<protocol://host:port>/dsw/reports/report_dir/index.html?filter=NOW function getConfiguration(params){ var filter = params["filter"]; // filter = "NOW" } 

GetConfiguration рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 3 рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ:


  • REPORT_NAME - рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдирд╛рдо
  • BLOCKS - рд░рд┐рдкреЛрд░реНрдЯ рдмреНрд▓реЙрдХ рдХреА рдПрдХ рд╕рд░рдгреА
  • NAMESPACE - рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░

рдЪрд▓реЛ рдмреНрд▓реЙрдХ рдмреНрд▓реЙрдХ рд╕рд░рдгреА рдкрд░ рдПрдХ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ ред рдмреНрд▓реЙрдХ - рд╡рд┐рдЬреЗрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдкрд░рд┐рдХрд▓рд┐рдд рдлрд╝реАрд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ


рдмреНрд▓реЙрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░:


 { "title": String, //  "note": String, //  .   HTML  "widget": { // iframe : "url": String, //URL   iframe "height": Number, // iframe "width": Number // iframe }, "totals":[{ //     MDX "mdx": String //MDX- "strings": [{ //    "title": String, // .   HTML. "value": String, //    "value_append": String, //  . //    %, $  .. //%     (x * 100). //  HTML. "row": Number //  MDX-, //   . //  0. },{...}] },{...}]} 

рд╕рднреА рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрджрд┐ рдлрд╝реАрд▓реНрдб рдХреЛ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рдмреНрд▓реЙрдХ рдЙрджрд╛рд╣рд░рдг
 { title: "Persons", note: "", widget: { url: server + "/dsw/index.html#!/d/KHAB/Khabarovsk%20Map.dashboard" + "?widget=1&height=420&ns=" + namespace, width: 700, height: 420 } } 

рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг
 { title: "Khabarovsky krai", note: "Something note (only static)", widget: { url: server + "/dsw/index.html#!/d/KHAB/Khabarovsk%20Map.dashboard" + "?widget=0&height=420&isLegend=true&ns=" + namespace, width: 495, height: 420 }, totals: [{ mdx: "SELECT NON EMPTY " + "[Region].[H1].[Region].CurrentMember.Properties(\"Population\") ON 0,"+ "NON EMPTY {[Region].[H1].[Region].&[]," + "[Region].[H1].[Region].&[--],"+ "[Region].[H1].[Region].&[ ]} ON 1 FROM [KHABCUBE]", strings: [{ title: "Khabarovsk: ", value: "None", value_append: " ." }, { title: "Komsomolsk-on-Amur: <br />", value: "None", value_append: " .", row: 1 }, { title: "Komsomolsky district: <br />", value: "None", value_append: " .", row: 2 }] }] } 

рдмреНрд▓реЙрдХ рдореЗрдВ рдХреИрд╕реЗ рднрд░реЗрдВ?


рдмреНрд▓реЙрдХ рдореЗрдВ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░ рд╡рд┐рдЬреЗрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдФрд░ рдкрд░рд┐рдХрд▓рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП mdx рд╣реИрдВред


  • MDX рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо IRIS BI / рдбреАрдкрд╕реА рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдЬрд╝реБрдЕрд▓ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

    рд╡рд┐рд╢реНрд▓реЗрд╖рдХ
  • DeepSeeWeb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ URL рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдП рдЧрдП рд╡рд┐рдЬреЗрдЯ iframes рд╣реИрдВ рдЬреЛ DeepSeeWeb рд╡рд┐рдЬреЗрдЯ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВред рд╕реНрд░реЛрдд рд╕реЗ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдЬреЗрдЯ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ "рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ" рдЖрдЗрдЯрдо рдЪреБрдиреЗрдВред

    рд╢реЗрдпрд░

рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдХреВрд▓рди


рд░рд┐рдкреЛрд░реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ style.css рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ ред рдЗрд╕рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдорд╛рдирдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╢реИрд▓реА рдХрдХреНрд╖рд╛рдПрдВ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ index.html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдИрдореЗрд▓ рдиреНрдпреВрдЬрд╝рд▓реИрдЯрд░


рдорд╛рди рд▓реЗрдВ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреАрдкрд╕реАрд╡реЗрдм рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИред рдпрд╛рдиреА рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ HTML рд░рд┐рдкреЛрд░реНрдЯ рдЕрдм рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕реЗ рдкреАрдбреАрдПрдл рдореЗрдВ рдмрджрд▓рдиреЗ рдФрд░ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? Pthantomjs рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд SMTP рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░реЗрдЧрд╛ред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдпрд╣рд╛рдВ рдлреИрдВрдЯрдордЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ( рд╡рд┐рдВрдбреЛрдЬрд╝ , ubuntu )ред рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ SMTP рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


SMTP рд╕реЗрдЯрдЕрдк


рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВред


  1. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдореЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореЗрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

     //    SMTP do ##class(DSW.Report.EmailSender).setConfig(server, port, username, password, sender, SSLConfig) 

    • рд╕рд░реНрд╡рд░ - SMTP рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ред
    • рдкреЛрд░реНрдЯ - рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯред
    • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб - рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдбреЗрдЯрд╛ред
    • рдкреНрд░реЗрд╖рдХ - рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдХрд╛ рдИрдореЗрд▓ рдкрддрд╛ред
    • SSLConfig - рд╡реИрдХрд▓реНрдкрд┐рдХ ред рдПрд╕рдПрд╕рдПрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдирд╛рдоред
  2. рдлрд┐рд░ рдЖрдкрдХреЛ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

     //     do ##class(DSW.Report.EmailSender).addRecipient(email) //     do ##class(DSW.Report.EmailSender).deleteRecipient(email) 
  3. рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

     //    do ##class(DSW.Report.Task).Run(url, reportname) 

    • url - рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд▓рд┐рдВрдХред
    • рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдирд╛рдо - рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдирд╛рдоред PDF рдЬрдирд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рд╢реБрд░реВ рдХрд░реЗрдВ


рд╡рд┐рддрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдПрдБ:


  1. рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░, рд▓реЙрдиреНрдЪ рдХреНрд╖реЗрддреНрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

    Task1
  2. рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░, рдХрд╛рд░реНрдп рд▓реЙрдиреНрдЪ рдХрд╛ рд╕рдордп рдФрд░ рдЖрд╡рдзрд┐рдХрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╣реИред

    Task2
  3. рдЕрдВрддрд┐рдо рдЪрд░рдг - "рд╕рдорд╛рдкреНрдд" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред

рд╕рдм рдХреБрдЫ, рдЗрди рд╕рднреА рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдПрдХ рдСрдЯреЛ-рдЬрдирд░реЗрдЯреЗрдб рд░рд┐рдкреЛрд░реНрдЯ рдорд┐рд▓реА, рдЬрд┐рд╕рдореЗрдВ рдбреАрдкрд╕реАрд╡реЗрдм рд╡рд┐рдЬреЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рдПрдХ рдкреАрдбреАрдПрдл рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред


тЖТ рдПрдХ рддреИрдпрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
тЖТ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВред
тЖТ рдФрд░ рдпрд╣рд╛рдБ рдЖрдк рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
тЖТ рднрдВрдбрд╛рд░ рдХрд╛ рд▓рд┐рдВрдХ

Source: https://habr.com/ru/post/hi419433/


All Articles