{"id":2704,"date":"2021-10-20T14:14:45","date_gmt":"2021-10-20T05:14:45","guid":{"rendered":"https:\/\/www.connected.co.jp\/?page_id=2704"},"modified":"2023-02-10T16:25:36","modified_gmt":"2023-02-10T07:25:36","slug":"10%ef%bd%9e12%e6%9c%88-sdk%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%93%e3%81%a8%e3%80%80%ef%bd%9e%e4%b8%ad%e7%b4%9a%e7%b7%a8%ef%bd%9e","status":"publish","type":"page","link":"https:\/\/www.connected.co.jp\/?page_id=2704","title":{"rendered":"SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e2d\u7d1a\u7de8\uff5e"},"content":{"rendered":"<h3 class=\"cninvisible\">SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e2d\u7d1a\u7de8\uff5e<\/h3>\n<p class=\"cnhline01\">SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e2d\u7d1a\u7de8\uff5e<\/p>\n<p id=\"top\">\u3053\u308c\u304b\u3089SDK\u3067\u958b\u767a\u3059\u308b\u4eba\u3084\u65e2\u306b\u958b\u767a\u3057\u3066\u3044\u308b\u4eba\u306e\u305f\u3081\u306b\u3001SDK\u3067\u3069\u3093\u306a\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u304b\u3001\u30b5\u30f3\u30d7\u30eb\u3092\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>ASP.NET\u306e\u77e5\u8b58\u304c\u3042\u308c\u3070\u3001FullWEB SDK\u306e\u77e5\u8b58\u30bc\u30ed\u3067\u3082\u8aad\u307f\u9032\u3081\u3089\u308c\u307e\u3059\u3002<br>\n\uff08\u4ee5\u4e0b\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306fVisual Basic\u3067\u66f8\u3044\u3066\u3044\u307e\u3059)<\/p>\n<div class=\"cnindex01\">\n<ul>\n<li><a href=\"#1\">\u7b2c5\u56de\u3000\u627f\u8a8d\u5f8c\u306e\u81ea\u52d5\u914d\u4fe1<\/a><br><a href=\"#2\"><\/a><\/li>\n<li><a href=\"#2\">\u7b2c6\u56de\u3000\u4ed6\u30b7\u30b9\u30c6\u30e0\u9023\u643a\uff08WEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff09<\/a><\/li>\n<li><a href=\"#3\">\u7b2c7\u56de\u3000\u5c5e\u6027\u66f4\u65b0\u6642\u306e\u72ec\u81ea\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5<\/a><\/li>\n<li><a title=\"SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u521d\u7d1a\u7de8\uff5e\" href=\"https:\/\/www.connected.co.jp\/?page_id=2531\">SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u521d\u7d1a\u7de8\uff5e<\/a><\/li>\n<li><a href=\"https:\/\/www.connected.co.jp\/?page_id=4997\">SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e0a\u7d1a\u7de8\uff5e<\/a><\/li>\n<\/ul>\n<\/div>\n<h5 id=\"1\" style=\"padding: 20px 10px; color: white; background-color: #3f6d91; border-left: solid 20px #3f6d91;\">\u7b2c5\u56de\u3000\u627f\u8a8d\u5f8c\u306e\u81ea\u52d5\u914d\u4fe1<\/h5>\n<div style=\"padding: 15px 20px;\">\n<p>FullWEB\u306b\u306f\u627f\u8a8d\u30d5\u30ed\u30fc\u6a5f\u80fd\u304c\u6a19\u6e96\u3067\u642d\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br>FullWEB\u3067\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u76f4\u5f8c\u306b\u3001\u95a2\u9023\u3059\u308b\u3044\u304f\u3064\u304b\u306e\u51e6\u7406\u3092\u7d9a\u3051\u3066\u884c\u3044\u305f\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u696d\u52d9\u9023\u7d61\u66f8\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u627f\u8a8d\u30d5\u30ed\u30fc\u306b\u56de\u3057\u3066\u6700\u7d42\u627f\u8a8d\u8005\u306e\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u3089\u95a2\u4fc2\u8005\u306b\u81ea\u52d5\u914d\u4fe1\u3059\u308b\u3068\u3044\u3046\u306e\u306f\u3088\u304f\u3042\u308b\u696d\u52d9\u30b7\u30ca\u30ea\u30aa\u306e\uff11\u3064\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070WORD\u3067\u696d\u52d9\u9023\u7d61\u66f8\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3001\u5206\u985e\u30d5\u30a9\u30eb\u30c0\u300c\u696d\u52d9\u9023\u7d61\u66f8\u300d\u306b\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2707 size-full\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_013.jpg\" alt=\"\" width=\"533\" height=\"185\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_013.jpg 533w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_013-300x104.jpg 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/p>\n<p>FullWEB\u306e\u5c5e\u6027\u7de8\u96c6\u753b\u9762\u3092\u8d77\u52d5\u3057\u3066\u8868\u984c\u3068\u914d\u4fe1\u5148\u3092\u8a2d\u5b9a\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2709 size-full\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_014.jpg\" alt=\"\" width=\"441\" height=\"129\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_014.jpg 441w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_014-300x88.jpg 300w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_014-438x129.jpg 438w\" sizes=\"(max-width: 441px) 100vw, 441px\" \/><\/p>\n<p>\u627f\u8a8d\u4f9d\u983c\u3092\u51fa\u3057\u3066\u4e0a\u9577\u306e\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001\u914d\u4fe1\u5148\u306b\u8a2d\u5b9a\u3057\u305f\u90e8\u7f72\u306e\u5404\u30e6\u30fc\u30b6\u306b\u30e1\u30fc\u30eb\u9001\u4fe1\u3055\u308c\u3066\u3044\u304f\u3068\u3044\u3046\u6d41\u308c\u3067\u3059\u3002<br>\u4ee5\u4e0b\u306f\u9001\u4fe1\u3055\u308c\u305f\u30e1\u30fc\u30eb\u672c\u6587\u306e\u4f8b\u3067\u3059\u3002<\/p>\n<p><a href=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_015.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2710 alignnone\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_015.jpg\" alt=\"\" width=\"421\" height=\"261\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_015.jpg 421w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_015-300x186.jpg 300w\" sizes=\"(max-width: 421px) 100vw, 421px\" \/><\/a><\/p>\n<p style=\"padding: 10px; background-color: yellow;\"><strong>\u4eca\u56de\u306fSDK\u3092\u7528\u3044\u3066\u3001\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u5f8c\u306b\u96fb\u5b50\u30e1\u30fc\u30eb\u3067\u95a2\u4fc2\u8005\u306b\u914d\u4fe1\u3059\u308b\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/strong><\/p>\n<\/div>\n<hr style=\"margin: 40px auto 60px;\" width=\"80%\">\n<p style=\"font-size: 20px; border-left: solid 10px #049dbf; padding-left: 13px; margin-top: 60px;\">FullWEB\u3067\u306e\u8a2d\u5b9a<\/p>\n<p style=\"max-width: 650px; padding-left: 16px;\">\u307e\u305a\u696d\u52d9\u9023\u7d61\u66f8\u306e\u5206\u985e\u30e9\u30d9\u30eb\u3092\u5b9a\u7fa9\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u8868\u984c\u3068\u914d\u4fe1\u5148\u306e\uff12\u3064\u5c5e\u6027\u9805\u76ee\u3092\u4f5c\u3063\u3066\u304a\u304d\u307e\u3059\u3002\u8868\u984c\u306f\u914d\u4fe1\u30e1\u30fc\u30eb\u306eSubject\u3001\u914d\u4fe1\u5148\u306f\u7dcf\u52d9\u90e8\u3084\u751f\u7523\u90e8\u306a\u3069\u914d\u4fe1\u5148\u306e\u90e8\u7f72\u3092\u60f3\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u90e8\u7f72\u306fFullWEB\u306e\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3068\u3057\u3066\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b\u3068\u3057\u307e\u3059\u3002<br>\u8907\u6570\u914d\u4fe1\u5148\u304c\u3042\u308b\u306e\u3092\u60f3\u5b9a\u3057\u3066\u591a\u5024\u5165\u529b\u306e\u8a2d\u5b9a\u3092\u30c1\u30a7\u30c3\u30afON\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u3053\u3046\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u30011\u3064\u306e\u5c5e\u6027\u9805\u76ee\u306b\u30b9\u30da\u30fc\u30b9\u533a\u5207\u308a\u3067\u8907\u6570\u306e\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_016.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2711 alignnone\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_016.jpg\" alt=\"\" width=\"567\" height=\"190\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_016.jpg 567w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_016-300x101.jpg 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><\/p>\n<p style=\"font-size: 20px; border-left: solid 10px #049dbf; padding-left: 13px; margin-top: 60px;\">SDK\u3067\u958b\u767a\u3059\u308b\u5185\u5bb9<\/p>\n<p>\u627f\u8a8d\u5b8c\u4e86\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u5f85\u3061\u53d7\u3051\u3066\u3001\u627f\u8a8d\u6e08\u306b\u306a\u3063\u305f\u696d\u52d9\u9023\u7d61\u66f8\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8868\u984c\u3068\u914d\u4fe1\u5148\u306e\u5c5e\u6027\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u305d\u308c\u304b\u3089\u914d\u4fe1\u5148\u306e\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3059\u308b\u30e6\u30fc\u30b6\u306b\u5bfe\u3057\u3066\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u6b21\u3005\u3068\u9001\u4ed8\u3057\u307e\u3059\u3002<\/p>\n<p>\u6700\u521d\u306bVisual Studio \u3067\u958b\u767a\u74b0\u5883\u3092\u6574\u3048\u307e\u3059\u3002<br>\uff08FullWEB SDK\u30de\u30cb\u30e5\u30a2\u30eb\u306b\u63b2\u8f09\u3057\u3066\u3044\u307e\u3059\uff09<\/p>\n<p>\u4eca\u56de\u306fVisual Studio\u3067CnEventHandler\u3068\u3044\u3046\u30af\u30e9\u30b9\u3092\u8ffd\u52a0\u3057\u3066\u305d\u3053\u306b\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_017.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2706 alignnone\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_017.jpg\" alt=\"\" width=\"567\" height=\"175\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_017.jpg 567w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/10\/sdk_img_017-300x93.jpg 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><\/p>\n<p>\u3053\u306e\u30af\u30e9\u30b9\u306bcnWebCoreTest.IWebCoreHandler\u3068\u3044\u3046\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092Implements\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre style=\"border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #0000ff;\">Public Class<\/span> <span style=\"color: #5b9bd5;\">CnEventHandler<\/span>\n    <span style=\"color: #0000ff;\">Implements<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">IWebCoreEvent<\/span>\n\n    <span style=\"color: #0000ff;\">Public ReadOnly Property<\/span> <span style=\"color: #000000;\">IsSupported(command<\/span> <span style=\"color: #0000ff;\">As String<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As Boolean<\/span>\n<span style=\"color: #0000ff;\">        Implements<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">IFileFilter<\/span><span style=\"color: #000000;\">.IsSupported<\/span>\n        <span style=\"color: #0000ff;\">Get\n        End Get\n    End Property\n    Public Function<\/span> <span style=\"color: #000000;\">Filter(f<\/span> <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">File<\/span>, <span style=\"color: #000000;\">xParam<\/span> <span style=\"color: #0000ff;\">As String<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As String<\/span>\n<span style=\"color: #0000ff;\">        Implements<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">IFileFilter<\/span><span style=\"color: #000000;\">.Filter<\/span>\n\n    <span style=\"color: #0000ff;\">End Function\n    Public Function<\/span> <span style=\"color: #000000;\">InitInstance(db<\/span> <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">Database<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As Boolean<\/span>\n<span style=\"color: #0000ff;\">        Implements<\/span> cnWebCoreTest.<span style=\"color: #5b9bd5;\">IFileFilter<\/span>.InitInstance\n\n    <span style=\"color: #0000ff;\">End Function\n    Public Sub<\/span> <span style=\"color: #000000;\">TerminateInstance()<\/span> <span style=\"color: #0000ff;\">Implements<\/span> <span style=\"color: #000000;\">cnWebCoreTest.<\/span><span style=\"color: #5b9bd5;\">IFileFilter<\/span><span style=\"color: #000000;\">.TerminateInstance<\/span>\n  <span style=\"color: #0000ff;\">  End Sub\nEnd Class<\/span><\/code><\/pre>\n<p>IsSupported()\u304c\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u304b\u3092\u6c7a\u3081\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u3059\u3002\u5404\u30a4\u30d9\u30f3\u30c8\u767a\u751f\u6642\u306b\u547c\u3073\u51fa\u3055\u308c\u3001True\u3092\u8fd4\u3057\u305f\u5834\u5408\u306b\u5f8c\u8ff0\u306eFilter()\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>Filter()\u304c\u5404\u7a2e\u30a4\u30d9\u30f3\u30c8\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002<\/p>\n<p>InitInstance()\u304c\u3053\u306e\u30af\u30e9\u30b9\u304c\u521d\u671f\u5316\u3055\u308c\u305f\u6642\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\uff08\u901a\u5e38\u30ed\u30b0\u30a4\u30f3\u3057\u305f\u6642\u3067\u3059\uff09<br>Database\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6e21\u3063\u3066\u304d\u307e\u3059\u3002<br>\u203bDatabase\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306fFullWEB\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u306e\u306b\u5fc5\u8981\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/p>\n<p>TerminateInstance()\u304c\u89e3\u653e\u6642\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\uff08\u901a\u5e38\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u305f\u6642\u3067\u3059\uff09<br>\u7279\u5225\u306a\u51e6\u7406\u304c\u306a\u3051\u308c\u3070\u3001\u4e2d\u8eab\u306f\u7a7a\u306e\u307e\u307e\u3067\u3082\u69cb\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u6e96\u5099\u3057\u305fCnEventHandler\u30af\u30e9\u30b9\u3092FullWEB\u306eweb.config\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066FullWEB\u306b\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br>name\u306fdll\u30d5\u30a1\u30a4\u30eb\u540d\u3001type\u306f\u30af\u30e9\u30b9\u540d\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre style=\"margin: 60px auto; padding: 5px 20px; line-height: 1.6; color: blue;\"><code>    &lt;<span style=\"color: #a31500;\">webCoreEvent<\/span>&gt;\n      &lt;<span style=\"color: #a31500;\">add<\/span> <span style=\"color: #ff0000;\">name<\/span>=\"WebApplication1.dll\" <span style=\"color: #ff0000;\">type<\/span>=\"CnWebApplication1.CnEventHandler\" \/&gt;\n    &lt;\/<span style=\"color: #a31500;\">webCoreEvent<\/span>&gt;<\/code><\/pre>\n<p>\u3053\u3046\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u30e6\u30fc\u30b6\u304cFullWEB\u3067\u627f\u8a8d\u4f5c\u696d\u3092\u884c\u3063\u305f\u3068\u304d\u306bCnEventHandler\u30af\u30e9\u30b9\u306e\u5404\u30e1\u30bd\u30c3\u30c9\u304c\u81ea\u52d5\u7684\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3067\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\u307e\u305aInitInsntance()\u3092\u5b9f\u88c5\u3057\u3066\u3001\u521d\u671f\u5316\u3055\u308c\u305f\u6642\u306bDatabase\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4fdd\u6301\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre style=\"margin-bottom: 80px; border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #0000ff;\">    Private<\/span> m_db <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.<span style=\"color: #5b9bd5;\">Database<\/span>\n\n   <span style=\"color: #008000;\"> '''<\/span> <span style=\"color: #808080;\">&lt;summary&gt;<\/span>\n    <span style=\"color: #008000;\">''' \u521d\u671f\u5316\u51e6\u7406<\/span>\n    <span style=\"color: #008000;\">'''<\/span> <span style=\"color: #808080;\">&lt;\/summary&gt;<\/span>\n   <span style=\"color: #0000ff;\"> Public Function<\/span> InitInstance(db <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">Database<\/span>) <span style=\"color: #0000ff;\">As Boolean Implements<\/span> <span style=\"color: #5b9bd5;\">IFileFilter<\/span>.InitInstance\n \n        m_db = db\n        <span style=\"color: #0000ff;\">Return True\n    End Function<\/span><\/code><\/pre>\n<p>IsSupported()\u3092\u5b9f\u88c5\u3057\u3066\u627f\u8a8d\u5b8c\u4e86\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<br>\u5f15\u6570\u306b\u306f\u30a4\u30d9\u30f3\u30c8\u540d\u304c\u6e21\u3063\u3066\u304d\u307e\u3059\u3002\u201dAfterApprove\u201d\u304c\u627f\u8a8d\u5b8c\u4e86\u6642\u306e\u30a4\u30d9\u30f3\u30c8\u540d\u3067\u3059\u3002<\/p>\n<pre style=\"margin-bottom: 80px; border: 2px solid black; padding: 5px 20px; line-height: 1.6;\">    ''' <span style=\"color: #808080;\">&lt;summary&gt;<\/span>\n    <span style=\"color: #008000;\">''' \u5404\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u304b\u3069\u3046\u304b\u3092\u8fd4\u3059\n    '''<\/span> <span style=\"color: #808080;\">&lt;\/summary&gt;<\/span>\n    <span style=\"color: #008000;\">'''<\/span> <span style=\"color: #808080;\">&lt;param name=\"command\"&gt;<\/span><span style=\"color: #008000;\">\u5404\u7a2e\u30a4\u30d9\u30f3\u30c8\u540d<\/span><span style=\"color: #808080;\">&lt;\/param&gt;<\/span>\n    <span style=\"color: #008000;\">'''<\/span> <span style=\"color: #808080;\">&lt;returns&gt;&lt;\/returns&gt;<\/span>\n   <span style=\"color: #0000ff;\"> Public ReadOnly Property<\/span> <span style=\"color: #000000;\">IsSupported(<\/span>command <span style=\"color: #0000ff;\">As String<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As Boolean Implements<\/span> <span style=\"color: #5b9bd5;\">IFileFilter<\/span><span style=\"color: #000000;\">.IsSupported<\/span>\n       <span style=\"color: #0000ff;\"> Get\n            Select Case<\/span> <span style=\"color: #000000;\">command.ToLower<\/span>\n                <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31500;\">\"afterapprove\"<\/span>\n                   <span style=\"color: #008000;\"> '   \u627f\u8a8d\u5b8c\u4e86\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b<\/span>\n                    <span style=\"color: #0000ff;\">Return True\n                Case Else<\/span>\n                   <span style=\"color: #008000;\"> '   \u305d\u308c\u4ee5\u5916\u306f\u53d7\u3051\u53d6\u3089\u306a\u3044<\/span>\n                    <span style=\"color: #0000ff;\">Return False\n            End Select\n        End Get\n    End Property\n<\/span><\/pre>\n<p>Filter()\u3092\u5b9f\u88c5\u3057\u3066\u3001\u627f\u8a8d\u5b8c\u4e86\u6642\u306e\u51e6\u7406\u3092\u66f8\u304d\u307e\u3059\u3002<br>AfterApprove\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u6642\u306b\u5f8c\u8ff0\u306eAfterApprove()\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u6642\u6e21\u3055\u308c\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u5404\u7a2e\u627f\u8a8d\u60c5\u5831\u304c\u5165\u3063\u3066\u3044\u308bXML\u3067\u3059\u3002<\/p>\n<pre style=\"margin-bottom: 80px; border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #0000ff;\">    Public Function<\/span> <span style=\"color: #000000;\">Filter(f<\/span> <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">File<\/span>, xParam <span style=\"color: #0000ff;\">As String<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As String Implements<\/span> <span style=\"color: #5b9bd5;\">IFileFilter<\/span><span style=\"color: #000000;\">.Filter<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> <span style=\"color: #000000;\">xp<\/span> <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span> <span style=\"color: #000000;\">=<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span><span style=\"color: #000000;\">.Parse(xParam)<\/span>\n        <span style=\"color: #0000ff;\">Select Case<\/span> <span style=\"color: #000000;\">xp.@command.ToLower<\/span>\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31500;\">\"afterapprove\"<\/span>\n                <span style=\"color: #0000ff;\">Return<\/span> <span style=\"color: #000000;\">AfterApprove(xp)<\/span>\n            <span style=\"color: #0000ff;\">Case Else\n                Return False\n        End Select\n    End Function\n\n    Private Function<\/span> <span style=\"color: #000000;\">AfterApprove(<\/span><span style=\"color: #0000ff;\">ByVal<\/span> xp <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As String<\/span>\n\t<span style=\"color: #000000;\">\u30fb\u30fb\u30fb<\/span>\n    <span style=\"color: #0000ff;\">End Function<\/span><\/code><\/pre>\n<p>XML\u306e\u4e2d\u306b\u306f1\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3059\u308b\u627f\u8a8d\u4f9d\u983c\u3092\u30e6\u30cb\u30fc\u30af\u306b\u533a\u5225\u3059\u308bsdid\u3068\u3044\u3046\u5024\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u627f\u8a8d\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30e6\u30cb\u30fc\u30af\u306b\u533a\u5225\u3059\u308bfid\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<br>AfterApprove\u30a4\u30d9\u30f3\u30c8\u3067\u306f\u6700\u7d42\u627f\u8a8d\u5b8c\u4e86\u3060\u3051\u3067\u306a\u304f\u3001\u5dee\u3057\u623b\u3057\u3001\u627f\u8a8d\u5b8c\u4e86\uff08\u6b21\u306e\u627f\u8a8d\u8005\u3078\uff09\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u3082\u767a\u751f\u3057\u307e\u3059\u3002XML\u306e\u4e2d\u306b\u306f\u305d\u306e\u7a2e\u985e\u304c\u5206\u304b\u308b\u6587\u5b57\u5217\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u6700\u7d42\u627f\u8a8d\u5b8c\u4e86\u306e\u6642\u3060\u3051\u5f8c\u8ff0\u306eDistributeFile()\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre style=\"border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #0000ff;\">   Private Function<\/span> AfterApprove(<span style=\"color: #0000ff;\">ByVal<\/span> xp <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span>) <span style=\"color: #0000ff;\">As String<\/span>\n        <span style=\"color: #0000ff;\">For Each<\/span> xt <span style=\"color: #0000ff;\">In<\/span> xp.&lt;ApprovalParam&gt;.&lt;Target&gt;\n            <span style=\"color: #008000;\">'   \u5bfe\u8c61\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97<\/span>\n            <span style=\"color: #0000ff;\">Dim<\/span> sdid <span style=\"color: #0000ff;\">As Integer<\/span> = <span style=\"color: #0000ff;\">CInt<\/span>(xt.@sdid)\n            <span style=\"color: #0000ff;\">Dim<\/span> fid <span style=\"color: #0000ff;\">As Integer<\/span> = m_db.DbHelper.GetFidBySdid(sdid)\n           <span style=\"color: #008000;\"> '-- \u627f\u8a8d\u51e6\u7406<\/span>\n            <span style=\"color: #0000ff;\">Select Case<\/span> (xt.@result)\n                <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31500;\">\"done\"<\/span>\n                   <span style=\"color: #008000;\"> '   \u627f\u8a8d\u5b8c\u4e86\u3002\u914d\u4fe1\u51e6\u7406\u3078<\/span>\n                    DistributeFile(fid)\n                <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31500;\">\"continue\"<\/span>\n                   <span style=\"color: #008000;\"> '   \u627f\u8a8d\uff08\u6b21\u306e\u4eba\u3078\uff09<\/span>\n                <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31500;\">\"rejected\"<\/span>\n                   <span style=\"color: #008000;\"> '   \u5dee\u3057\u623b\u3057<\/span>\n                <span style=\"color: #0000ff;\">Case Else<\/span>\n                   <span style=\"color: #008000;\"> '  <\/span> \n            <span style=\"color: #0000ff;\">End Select\n        Next\n        Return<\/span> xp.&lt;ApprovalParam&gt;(0).ToString\n    <span style=\"color: #0000ff;\">End Function<\/span>\n\n    <span style=\"color: #0000ff;\">Private Sub<\/span> DistributeFile(<span style=\"color: #0000ff;\">ByVal<\/span> fid <span style=\"color: #0000ff;\">As Integer<\/span>)\n\t\u30fb\u30fb\u30fb\n    <span style=\"color: #0000ff;\">End Sub\n<\/span><\/code><\/pre>\n<p style=\"margin-bottom: 60px;\">DistributeFile()\u30e1\u30bd\u30c3\u30c9\u306e\u4e2d\u3067\u306f\u3001\u627f\u8a8d\u5b8c\u4e86\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8868\u984c\u3068\u914d\u4fe1\u5148\u306e\u5c5e\u6027\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<br>\u914d\u4fe1\u5148\u306f\u90e8\u7f72\u3067\u3001FullWEB\u3067\u306f\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3068\u3057\u3066\u6271\u3046\u524d\u63d0\u3067\u3059\u306e\u3067\u3001\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u4e00\u89a7\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3057\u3066\u3001\u6240\u5c5e\u30e6\u30fc\u30b6\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u4e00\u89a7\u3092\u5f97\u307e\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b.NET\u306e\u6a19\u6e96\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u30e1\u30fc\u30eb\u9001\u4fe1\u3057\u3066\u3044\u3051\u3070\u51e6\u7406\u5b8c\u4e86\u3067\u3059\u3002<\/p>\n<pre style=\"margin-bottom: 80px; border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #0000ff;\">     Private Sub<\/span> DistributeFile(<span style=\"color: #0000ff;\">ByVal<\/span> fid <span style=\"color: #0000ff;\">As Integer<\/span>)\n       <span style=\"color: #008000;\"> '   File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u53d6\u5f97<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> f <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.<span style=\"color: #5b9bd5;\">File<\/span> = m_db.GetFile(fid)\n        <span style=\"color: #0000ff;\">If<\/span> f.ContainsAttr(<span style=\"color: #a31500;\">\"\u696d\u52d9\u9023\u7d61\u66f8\"<\/span>) <span style=\"color: #0000ff;\">Then<\/span>\n           <span style=\"color: #008000;\"> '   \u696d\u52d9\u9023\u7d61\u66f8\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u306a\u3044\u306e\u3067\u4f55\u3082\u3057\u306a\u3044<\/span>\n            <span style=\"color: #0000ff;\">Return\n        End If<\/span>\n       <span style=\"color: #008000;\"> '   \u8868\u984c\u5c5e\u6027\u53d6\u5f97<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> alidTitle <span style=\"color: #0000ff;\">As Integer<\/span> = m_db.GetALID(<span style=\"color: #a31500;\">\"\u696d\u52d9\u9023\u7d61\u66f8\"<\/span>, <span style=\"color: #a31500;\">\"\u8868\u984c\"<\/span>)\n        <span style=\"color: #0000ff;\">Dim<\/span> title <span style=\"color: #0000ff;\">As String<\/span> = f.Attrs(<span style=\"color: #a31500;\">\"\u696d\u52d9\u9023\u7d61\u66f8\"<\/span>).Item(<span style=\"color: #a31500;\">\"k\"<\/span> &amp; alidTitle.ToString).Value\n       <span style=\"color: #008000;\"> '   \u914d\u4fe1\u5148\u5c5e\u6027\u53d6\u5f97<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> alidDist <span style=\"color: #0000ff;\">As Integer<\/span> = m_db.GetALID(<span style=\"color: #a31500;\">\"\u696d\u52d9\u9023\u7d61\u66f8\"<\/span>, <span style=\"color: #a31500;\">\"\u914d\u4fe1\u5148\"<\/span>)\n        <span style=\"color: #0000ff;\">Dim<\/span> distVal <span style=\"color: #0000ff;\">As String<\/span> = f.Attrs(<span style=\"color: #a31500;\">\"\u696d\u52d9\u9023\u7d61\u66f8\"<\/span>).Item(<span style=\"color: #a31500;\">\"k\"<\/span> &amp; alidDist.ToString).Value\n      <span style=\"color: #008000;\">  '   \u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> dicUg <span style=\"color: #0000ff;\">As New<\/span> <span style=\"color: #5b9bd5;\">Dictionary<\/span>(<span style=\"color: #0000ff;\">Of String<span style=\"color: #000000;\">,<\/span> Integer<\/span>)\n        <span style=\"color: #0000ff;\">Dim<\/span> uglistXml <span style=\"color: #0000ff;\">As String<\/span> = m_db.DbHelper.GetUserGroupsAll()\n        <span style=\"color: #0000ff;\">Dim<\/span> xUgList <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span> = <span style=\"color: #5b9bd5;\">XElement<\/span>.Parse(uglistXml)\n        <span style=\"color: #0000ff;\">For Each<\/span> xUg <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">XElement<\/span> <span style=\"color: #0000ff;\">In<\/span> xUgList.&lt;ug&gt;\n            <span style=\"color: #0000ff;\">If<\/span> dicUg.ContainsKey(xUg.&lt;value&gt;.Value) = <span style=\"color: #0000ff;\">False Then<\/span>\n                dicUg.Add(xUg.&lt;value&gt;.Value, <span style=\"color: #0000ff;\">CInt<\/span>(xUg.&lt;id&gt;.Value))\n            <span style=\"color: #0000ff;\">End If\n        Next<\/span>\n        <span style=\"color: #008000;\">'   \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u4e00\u89a7\u3092\u53d6\u5f97\u3059\u308b<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> emailAddressList<span style=\"color: #0000ff;\"> As New<\/span> <span style=\"color: #5b9bd5;\">List<\/span>(<span style=\"color: #0000ff;\">Of String<\/span>)\n        <span style=\"color: #0000ff;\">For Each<\/span> dist <span style=\"color: #0000ff;\">As String<\/span> In distVal.Split(<span style=\"color: #a31500;\">\" \"c<\/span>) \n            <span style=\"color: #0000ff;\">If<\/span> dicUg.ContainsKey(dist) = <span style=\"color: #0000ff;\">False Then<\/span>\n               <span style=\"color: #008000;\"> '   \u914d\u4fe1\u5148\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u5024\u304c\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3067\u306a\u3044<\/span>\n                <span style=\"color: #0000ff;\">Continue For<\/span>\n            <span style=\"color: #0000ff;\">End If\n            Dim<\/span> emlist <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">List<\/span>(<span style=\"color: #0000ff;\">Of String<\/span>) = GetMailAddressList(dicUg.Item(dist))\n            emailAddressList.AddRange(emlist.ToArray)\n        <span style=\"color: #0000ff;\">Next<\/span>\n        SendMail(f, title, emailAddressList) '   <span style=\"color: #008000;\">.NET\u6a19\u6e96\u6a5f\u80fd\u3067\u30e1\u30fc\u30eb\u9001\u4fe1<\/span>\n    <span style=\"color: #0000ff;\">End Sub<\/span><\/code><\/pre>\n<p>\u4ee5\u4e0b\u306f\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\uff08\u90e8\u7f72\uff09\u306b\u6240\u5c5e\u3059\u308b\u30e6\u30fc\u30b6\u2015\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u4e00\u89a7\u3092\u53d6\u5f97\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002<br>DistributeFile()\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u547c\u3073\u51fa\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre style=\"border: 2px solid black; padding: 5px 20px; line-height: 1.6;\"><code><span style=\"color: #008000;\">    '''<\/span> <span style=\"color: #808080;\">&lt;param name=\"ugid\"&gt;<\/span><span style=\"color: #008000;\">\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3092\u7279\u5b9a\u3059\u308bugid<\/span><span style=\"color: #808080;\">&lt;\/param&gt;<\/span>\n    <span style=\"color: #0000ff;\">Private Function<\/span> <span style=\"color: #000000;\">GetMailAddressList(<\/span><span style=\"color: #0000ff;\">ByVal<\/span> ugid As <span style=\"color: #0000ff;\">Integer<\/span><span style=\"color: #000000;\">)<\/span> <span style=\"color: #0000ff;\">As<\/span> <span style=\"color: #5b9bd5;\">List<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #0000ff;\">Of String<\/span><span style=\"color: #000000;\">)<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> <span style=\"color: #000000;\">ret<\/span> <span style=\"color: #0000ff;\">As New<\/span> <span style=\"color: #5b9bd5;\">List<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #0000ff;\">Of String<\/span><span style=\"color: #000000;\">)<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> users <span style=\"color: #0000ff;\">As New<\/span> <span style=\"color: #5b9bd5;\">Users<\/span><span style=\"color: #000000;\">(ugid, m_db)<\/span>\n        <span style=\"color: #0000ff;\">For<\/span> i <span style=\"color: #0000ff;\">As Integer<\/span> <span style=\"color: #000000;\">=<\/span> 1 <span style=\"color: #0000ff;\">To<\/span> <span style=\"color: #000000;\">users.Count<\/span>\n            <span style=\"color: #0000ff;\">Dim<\/span> <span style=\"color: #000000;\">email<\/span> <span style=\"color: #0000ff;\">As String<\/span> <span style=\"color: #000000;\">= users.Item(i).eMail(0)<\/span>\n            <span style=\"color: #0000ff;\">If String<\/span><span style=\"color: #000000;\">.IsNullOrEmpty(email) =<\/span> <span style=\"color: #0000ff;\">False Then<\/span> <span style=\"color: #000000;\">ret.Add(email)<\/span>\n        <span style=\"color: #0000ff;\">Next\n        Return<\/span> <span style=\"color: #000000;\">ret<\/span>\n    <span style=\"color: #0000ff;\">End Function<\/span><\/code><\/pre>\n<p>DistributeFile()\u30e1\u30bd\u30c3\u30c9\u306e\u6700\u5f8c\u306bSendMail()\u3068\u3044\u3046\u95a2\u6570\u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u307e\u3059\u304c\u3001.NET\u6a19\u6e96\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u30e1\u30fc\u30eb\u9001\u4fe1\u51e6\u7406\u3092\u5b9f\u88c5\u3057\u3066\u3044\u3051\u3070\u826f\u3044\u305f\u3081\u3001\u8a73\u7d30\u306f\u8a18\u8ff0\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u203b\u30e1\u30fc\u30eb\u672c\u6587\u306b<br>https:\/\/hostname\/FullWEB\/File.aspx?fid=\u3007\u3007<br>\u3068\u3044\u3046URL\u3092\u5165\u308c\u3066\u304a\u3051\u3070\u3001\u30e1\u30fc\u30eb\u3092\u53d7\u3051\u53d6\u3063\u305f\u30e6\u30fc\u30b6\u306f\u3053\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3060\u3051\u3067\u914d\u4fe1\u3055\u308c\u305f\u696d\u52d9\u9023\u7d61\u66f8\u306e\u5c5e\u6027\u753b\u9762\u3092\u76f4\u63a5\u8d77\u52d5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u4fbf\u5229\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u3067\u5b9f\u88c5\u306f\u5b8c\u4e86\u3067\u3059\u3002<br>\u3053\u306e\u3088\u3046\u306bFullWEB\u306e\u6a5f\u80fd\u3068SDK\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u5b9f\u73fe\u3057\u305f\u3044\u30b7\u30ca\u30ea\u30aa\u3092\u67d4\u8edf\u306b\u5bfe\u51e6\u3067\u304d\u307e\u3059\u3002<\/p>\n<h5 id=\"2\" style=\"padding: 20px 10px; color: white; background-color: #3f6d91; border-left: solid 20px #3f6d91;\">\u7b2c6\u56de\u3000\u4ed6\u30b7\u30b9\u30c6\u30e0\u9023\u643a\uff08WEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff09<\/h5>\n<div style=\"padding: 15px 20px;\">\n<p>\u7b2c2, 3\u56de\u3067EXE\u5f62\u5f0f\u306e\u81ea\u52d5\u767b\u9332\u30c4\u30fc\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<br>\u3053\u306e\u81ea\u52d5\u767b\u9332\u30c4\u30fc\u30eb\u3092\u4f7f\u3046\u3068\u3001\u4ed6\u30b7\u30b9\u30c6\u30e0\u304b\u3089\u306f\u6307\u5b9a\u30d5\u30a9\u30eb\u30c0\u3078\u30d5\u30a1\u30a4\u30eb\u3092\u914d\u7f6e\u3059\u308b\u3060\u3051\u3067\u81ea\u52d5\u3067\u30d5\u30a1\u30a4\u30eb\u304c\u767b\u9332\u3055\u308c\u307e\u3059\u3002<br>\u4eca\u56de\u306f\u4ed6\u30b7\u30b9\u30c6\u30e0\u3068\u9023\u643a\u3059\u308bWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<br>\u3053\u308c\u306fFullWEB WEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u306f\u5225\u306eWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002<br>\u4e0b\u56f3\u306e\u300c\u72ec\u81eaWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u300d\u306e\u4f4d\u7f6e\u3065\u3051\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4115 size-full\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/11\/sdk_img_018-2.jpg\" alt=\"\u753b\u50cf\uff1a\u72ec\u81eaWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f4d\u7f6e\u3065\u3051\u8aac\u660e\" width=\"851\" height=\"390\" srcset=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/11\/sdk_img_018-2.jpg 851w, https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/11\/sdk_img_018-2-768x352.jpg 768w\" sizes=\"(max-width: 851px) 100vw, 851px\" \/><\/p>\n<p class=\"cnsdkp01\">Visual Studio\u3067ASP.NET Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u65b0\u898f\u4f5c\u6210\u3057\u3001FullWEB SDK\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u53c2\u7167\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\uff08\u8a73\u7d30\u306fFullWEB SDK\u30de\u30cb\u30e5\u30a2\u30eb\u306b\u63b2\u8f09\u3057\u3066\u3044\u307e\u3059\uff09<br>\u4eca\u56de\u4f5c\u6210\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u3092\u53d7\u3051\u4ed8\u3051\u305f\u3089\u3001\u8a72\u5f53\u3059\u308b\u5b9f\u30d5\u30a1\u30a4\u30eb\u30c7\u30fc\u30bf\u3092BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u305f\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001[\u516c\u958b\u8a2d\u5b9a]\u30e9\u30d9\u30eb\u306e[\u516c\u958b]\u5c5e\u6027\u9805\u76ee\uff08\u30c1\u30a7\u30c3\u30af\u578b\uff09\u304cON\u306b\u306a\u3063\u3066\u3044\u308b\u3082\u306e\u3092\u5bfe\u8c61\u3068\u3057\u307e\u3059\u3002<br>\u30ec\u30b9\u30dd\u30f3\u30b9\u30c7\u30fc\u30bf\u306f\u3001BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u305f\u5b9f\u30d5\u30a1\u30a4\u30eb\u30c7\u30fc\u30bf\u3092\u542b\u3080JSON\u6587\u5b57\u5217\u3068\u3057\u307e\u3059\u3002<br>\u3053\u306e\u6a5f\u80fd\u3092\u62c5\u5f53\u3059\u308baspx\u30da\u30fc\u30b8\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<br>GetPublicFile.aspx \u3068\u3044\u3046\u540d\u524d\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p class=\"cnsdkp01\">GetPublicFile.aspx\u306f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u4ed8\u3051\u305f\u3089\u3001\u6307\u5b9a\u306e\u30e6\u30fc\u30b6\uff0f\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3059\u3002<br>\u305d\u3057\u3066\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u304b\u3089File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97\u3057\u3001[\u516c\u958b\u8a2d\u5b9a]\u30e9\u30d9\u30eb\u306e[\u516c\u958b]\u5c5e\u6027\u9805\u76ee\u306e\u5024\u3092\u8abf\u3079\u307e\u3059\u3002<br>\u3053\u3053\u307e\u3067\u306e\u6d41\u308c\u306f<a href=\"https:\/\/www.connected.co.jp\/?page_id=2531#1\">\u7b2c1\u56de<\/a>\u304b\u3089<a href=\"https:\/\/www.connected.co.jp\/?page_id=2531#3\">\u7b2c3\u56de<\/a>\u3067\u8aac\u660e\u6e08\u307f\u3067\u3059\u3002<br>\u30b3\u30fc\u30c9\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code>Const server As String = \"localhost\"                  ' \u63a5\u7d9a\u5148\nConst user As String = \"admin\"                        ' \u30e6\u30fc\u30b6\u540d\nConst password As String = \"\"                         ' \u30d1\u30b9\u30ef\u30fc\u30c9\n\nDim lm As cnWebCoreTest.LoginManager = Nothing\n\nTry\n    ' \u30ea\u30af\u30a8\u30b9\u30c8\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u3092\u53d6\u5f97\n    Dim fid = CInt(Request.Params(\"fid\"))\n\n    ' \u30ed\u30b0\u30a4\u30f3\u60c5\u5831\n    Dim xParam As XElement = &lt;param\n                                    mode=\"new\"\n                                    lcuser=&lt;%= user %&gt;\n                                    lctime=&lt;%= Now.ToString(\"yyyyMMddHHmmss\") %&gt;\n                                    atime=&lt;%= Now.ToString(\"yyyyMMddHHmmss\") %&gt;\n                                    pc=\"\"\n                                    ipaddr=\"\"\n                                    datakey=\"\"\/&gt;\n    lm = cnWebCoreTest.LoginManager.CreateInstance(server, xParam)\n    ' \u30ed\u30b0\u30a4\u30f3\n    Dim err As String = lm.Connect(lm.UserName, password, True)\n\n    If err &lt;&gt; \"\" Then\n        ' \u30ed\u30b0\u30a4\u30f3\u30a8\u30e9\u30fc\u306a\u3089\u7d42\u4e86\n    End If\n\n    Dim db As cnWebCoreTest.Database = lm.Database\n\n    ' File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53d6\u5f97\n    Dim f As cnWebCoreTest.File = db.SafeGetFile(resData.fid)\n    If f Is Nothing Then\n        ' File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u53d6\u5f97\u3067\u304d\u306a\u3051\u308c\u3070\u7d42\u4e86\n    End If\n\n    ' \u5c5e\u6027\u5024\u306e\u78ba\u8a8d\n    If f.ContainsAttr(\"\u516c\u958b\u8a2d\u5b9a\") = False Then\n        ' \u516c\u958b\u8a2d\u5b9a\u30e9\u30d9\u30eb\u304c\u4ed8\u4e0e\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u7d42\u4e86\n    End If\n\n    Dim alid As Integer = db.GetALID(\"\u516c\u958b\u8a2d\u5b9a\", \"\u516c\u958b\")\n    Dim alVal As String = f.Attrs(\"\u516c\u958b\u8a2d\u5b9a\").Item(\"k\" &amp; alid.ToString).Value\n\n    If alVal &lt;&gt; \"1\" Then\n        ' \u516c\u958b\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u306e\u5024\u304cON\u3067\u306a\u3051\u308c\u3070\u7d42\u4e86\n    End If\n\nCatch ex As Exception\n    ' \u30a8\u30e9\u30fc\nFinally\n    ' \u5fc5\u305a\u30ed\u30b0\u30a2\u30a6\u30c8\n    If lm IsNot Nothing Then\n        lm.Disconnect()\n    End If\nEnd Try<\/code><\/pre>\n<p class=\"cnsdkp01\">\u6b21\u306f\u5b9f\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3059\u308b\u51e6\u7406\u3067\u3059\u3002<br>File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306eCopy()\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3044\u307e\u3059\u3002<br>\u7b2c\u4e00\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001\u53d6\u308a\u51fa\u3057\u5148\u30d5\u30a9\u30eb\u30c0\u306e\u30d1\u30b9\u3001\u7b2c\u4e8c\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u53d6\u308a\u51fa\u3057\u5148\u306b\u4fdd\u5b58\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u3067\u3059\u3002<br>\u3053\u306e\u53d6\u308a\u51fa\u3057\u5148\u306f\u72ec\u81eaWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u52d5\u3044\u3066\u3044\u308b\u30b5\u30fc\u30d0\u306e\u30d5\u30a9\u30eb\u30c0\u3067\u3059\u3002<br>\u30de\u30eb\u30c1\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u306fGUID\u306a\u3069\u306e\u91cd\u8907\u3057\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code>' \u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u6642\u30d5\u30a9\u30eb\u30c0\u306b\u53d6\u308a\u51fa\u3059\nDim serverPath As String = \"C:\u00a5DAV\"\nDim fileName As String = Guid.NewGuid.ToString &amp; f.Extension\nf.Copy(serverPath, fileName)<\/code><\/pre>\n<p class=\"cnsdkp01\">\u6b8b\u308a\u306e\u4f5c\u696d\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u30c7\u30fc\u30bf\u3092BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u3059\u308b\u3053\u3068\u3068JSON\u5f62\u5f0f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u3059\u3053\u3068\u3067\u3059\u3002<br>\u3053\u308c\u3089\u306f.NET\u306eAPI\u3067\u306e\u5b9f\u88c5\u306b\u306a\u308a\u307e\u3059\u3002<br>BASE64\u30a8\u30f3\u30b3\u30fc\u30c9\u6587\u5b57\u5217\u3060\u3051\u3067\u306f\u306a\u304f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u3067\u53d7\u3051\u4ed8\u3051\u305f\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u3001\u30a8\u30e9\u30fc\u304c\u3042\u3063\u305f\u5834\u5408\u306f\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u3068\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3082\u8fd4\u3059\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\u3002<br>\u30b3\u30fc\u30c9\u5168\u4f53\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<br>\u203bserver\u3001user\u3001password \u5909\u6570\u306e\u5024\u306fWeb.config\u304b\u3089\u53d6\u5f97\u3057\u3066\u3044\u307e\u3059\u3002<br>password\u306f\u6697\u53f7\u5316\u3057\u3066\u3044\u307e\u3059\u3002Decryption() \u30e1\u30bd\u30c3\u30c9\u306f\u9069\u5b9c\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p style=\"margin-bottom: 0;\">\u25a0Web.config<\/p>\n<pre class=\"cnpre01\"><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;configuration&gt;\n  &lt;appSettings&gt;\n    &lt;add key=\"server\" value=\"localhost\"\/&gt;\n    &lt;add key=\"user\" value=\"admin\"\/&gt;\n    &lt;add key=\"password\" value=\"aG9nZSANCg0K\"\/&gt;\n  &lt;\/appSettings&gt;\n  &lt;system.web&gt;\n    &lt;compilation debug=\"true\" strict=\"false\" explicit=\"true\" targetFramework=\"4.7.2\" \/&gt;\n    &lt;httpRuntime targetFramework=\"4.7.2\" \/&gt;\n  &lt;\/system.web&gt;\n  &lt;system.codedom&gt;\n    &lt;compilers&gt;\n      &lt;compiler language=\"c#;cs;csharp\"  \/&gt;\n      &lt;compiler language=\"vb;vbs;visualbasic;vbscript\" \/&gt;\n    &lt;\/compilers&gt;\n  &lt;\/system.codedom&gt;\n&lt;\/configuration&gt;<\/code><\/pre>\n<p style=\"margin-bottom: 0;\">\u25a0GetPublicFile.aspx.vb<\/p>\n<pre class=\"cnpre01\"><code>Private Structure ResponseData\n    Property fid As Integer\n    Property errorCode As Integer\n    Property errorMessage As String\n    Property fileName As String\n    Property fileData As String\nEnd Structure\n\t\t\t\nProtected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n    Dim resData As New ResponseData()\n    Dim lm As cnWebCoreTest.LoginManager = Nothing\n    Dim server As String = ConfigurationManager.AppSettings(\"server\")    ' \u63a5\u7d9a\u5148\n    Dim user As String = ConfigurationManager.AppSettings(\"user\")         ' \u30e6\u30fc\u30b6\u540d\n    Dim password As String = Decryption(ConfigurationManager.AppSettings(\"password\"))    ' \u30d1\u30b9\u30ef\u30fc\u30c9\n\t\t\t\n    Try\t\t\t\n        ' \u30ea\u30af\u30a8\u30b9\u30c8\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u3092\u53d6\u5f97\n        resData.fid = CInt(Request.Params(\"fid\"))\n\t\t\t\n        ' \u30ed\u30b0\u30a4\u30f3\u60c5\u5831\n        Dim xParam As XElement = &lt;param\n                                        mode=\"new\"\n                                        lcuser=&lt;%= user %&gt;\n                                        lctime=&lt;%= Now.ToString(\"yyyyMMddHHmmss\") %&gt;\n                                        atime=&lt;%= Now.ToString(\"yyyyMMddHHmmss\") %&gt;\n                                        pc=\"\"\n                                        ipaddr=\"\"\n                                        datakey=\"\"\/&gt;\n        lm = cnWebCoreTest.LoginManager.CreateInstance(server, xParam)\n        ' \u30ed\u30b0\u30a4\u30f3\n        Dim err As String = lm.Connect(lm.UserName, password, True)\n\t\n        If err &lt;&gt; \"\" Then\n            ' \u30ed\u30b0\u30a4\u30f3\u30a8\u30e9\u30fc\u306a\u3089\u7d42\u4e86\n            With resData\n                .errorCode = 1\n                .errorMessage = err\n            End With\n            Exit Try\n        End If\n\t\n        Dim db As cnWebCoreTest.Database = lm.Database\n\t\n        ' File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53d6\u5f97\n        Dim f As cnWebCoreTest.File = db.SafeGetFile(resData.fid)\n        If f Is Nothing Then\n            With resData\n                .errorCode = 1\n                .errorMessage = \"\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u3089\u306a\u3044\"\n            End With\n            Exit Try\n        End If\n\t\n        ' \u5c5e\u6027\u5024\u306e\u78ba\u8a8d\n        If f.ContainsAttr(\"\u516c\u958b\u8a2d\u5b9a\") = False Then\n            With resData\n                .errorCode = 1\n                .errorMessage = \"\u975e\u516c\u958b\u30d5\u30a1\u30a4\u30eb\"\n            End With\n            Exit Try\n        End If\n\t\n        Dim alid As Integer = db.GetALID(\"\u516c\u958b\u8a2d\u5b9a\", \"\u516c\u958b\")\n        Dim alVal As String = f.Attrs(\"\u516c\u958b\u8a2d\u5b9a\").Item(\"k\" &amp; alid.ToString).Value\n\n        If alVal &lt;&gt; \"1\" Then\n            With resData\n                .errorCode = 1\n                .errorMessage = \"\u975e\u516c\u958b\u30d5\u30a1\u30a4\u30eb\"\n            End With\n            Exit Try\n        End If\n\n        ' \u30d5\u30a1\u30a4\u30eb\u3092\u4e00\u6642\u30d5\u30a9\u30eb\u30c0\u306b\u53d6\u308a\u51fa\u3059\n        Dim serverPath As String = \"C:\u00a5DAV\"\n        Dim fileName As String = Guid.NewGuid.ToString &amp; f.Extension\n        f.Copy(serverPath, fileName)\n\n        Dim workPath As String = IO.Path.Combine(serverPath, fileName)\n\t\t\t\n        ' Base64\u6587\u5b57\u5217\u306b\u5909\u63db\n        Dim byteStream() As Byte = Nothing\n        Dim base64str As String = \"\"\n        Try\n            Using fs As New IO.FileStream(workPath, IO.FileMode.Open, IO.FileAccess.Read)\n                ReDim byteStream(fs.Length - 1)\n                Dim readBytes As Long = fs.Read(byteStream, 0, fs.Length)\n                fs.Close()\n            End Using\n            base64str = Convert.ToBase64String(byteStream)\n        Finally\n            ' \u4e00\u6642\u30d5\u30a9\u30eb\u30c0\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\n            If IO.File.Exists(workPath) Then\n                IO.File.Delete(workPath)\n            End If\n        End Try\n\t\t\t\n        resData.fileData = base64str\n        resData.fileName = f.Name\n    Catch ex As Exception\n        With resData\n            .errorCode = ex.HResult\n            .errorMessage = ex.Message\n        End With\t\n    Finally\n        ' \u5fc5\u305a\u30ed\u30b0\u30a2\u30a6\u30c8\n        If lm IsNot Nothing Then\n            lm.Disconnect()\n        End If\n    End Try\n\t\t\t\n    ' JSON\u6587\u5b57\u5217\u3092\u8fd4\u3059\n    Response.ContentType = \"application\/json\"\n    Response.AddHeader(\"Access-Control-Allow-Origin\", \"*\")    ' CORS\u3092\u8a31\u53ef\n    Response.AddHeader(\"Access-Control-Allow-Headers\", \"Origin, X - Requested -With, Content - Type, Accept\")    ' CORS\u3092\u8a31\u53ef\n    Response.Clear()\n    Response.Write(New JavaScriptSerializer().Serialize(resData))\n    Response.Flush()\n    Response.End()\nEnd Sub\n\t\t\t\nPrivate Function Decryption(s As String) As String\n    ' \u9069\u5b9c\u3001\u5fa9\u53f7\u5316\u3092\u5b9f\u65bd\u3057\u307e\u3059\u3002\t\n    Return s\nEnd Function\n\n<\/code><\/pre>\n<p>\u5b8c\u6210\u3057\u305fWEB\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092IIS\u306b\u767b\u9332\u3057\u305f\u3089\u3001\u5b9f\u969b\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p style=\"margin-bottom: 0;\">\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30c6\u30b9\u30c8\u30da\u30fc\u30b8\u3092\u4f5c\u3063\u3066\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;meta charset=\"utf-8\" \/&gt;\n    &lt;title&gt;\u30c6\u30b9\u30c8\u30da\u30fc\u30b8&lt;\/title&gt;\n    &lt;script type=\"text\/javascript\"&gt;\n        function cnsdkExec() {\n            var fid = document.getElementById('fid').value;\n            var httpRequest = new XMLHttpRequest();\n            if (!httpRequest) {\n                return;\n            }\n            httpRequest.onreadystatechange = function () {\n                if (httpRequest.readyState === XMLHttpRequest.DONE) {\n                    if (httpRequest.status === 200) {\n                        if (httpRequest.response.errorCode == 0) {\n                            var a = document.createElement(\"a\");\n                            a.href = \"data:application\/octet-stream;base64,\" + httpRequest.response.fileData;\n                            a.download = httpRequest.response.fileName;\n                            a.click();\n                        }\n                    } else {\n                        alert('\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f');\n                    }\n                }\n            }\n            httpRequest.responseType = \"json\";\n            httpRequest.open('Get', 'http:\/\/piglet\/cmd211102\/GetPublicFile.aspx\/?fid=' + fid);\n            httpRequest.send();\n        }\n    &lt;\/script&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;form action=\"GetPublicFile.aspx\" method=\"post\"&gt;\n        &lt;input id=\"fid\" type=\"text\" value=\"51393394\" \/&gt;\n        &lt;input type=\"button\" value=\"Get File\" onclick=\"cnsdkExec();\" \/&gt;\n    &lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u30d5\u30a1\u30a4\u30eb\u304c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4112 alignnone cnmbottom30\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/11\/sdk_img_019.jpg\" alt=\"\u753b\u50cf\uff1a\u30d5\u30a1\u30a4\u30eb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\" width=\"609\" height=\"382\"><\/p>\n<h5 id=\"3\" style=\"padding: 20px 10px; color: white; background-color: #3f6d91; border-left: solid 20px #3f6d91;\">\u7b2c7\u56de\u3000\u5c5e\u6027\u66f4\u65b0\u6642\u306e\u72ec\u81ea\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5<\/h5>\n<div style=\"padding: 15px 20px;\">\n<p>\u5c5e\u6027\u753b\u9762\u3067\u7de8\u96c6\u5185\u5bb9\u3092\u4fdd\u5b58\u3059\u308b\u969b\u306b\u3001\u9805\u76ee\u9593\u306e\u30c1\u30a7\u30c3\u30af\u3084\u5909\u66f4\u524d\u3068\u306e\u6bd4\u8f03\u30c1\u30a7\u30c3\u30af\u3092\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br>\u4eca\u56de\u306f\u3001\u5c5e\u6027\u66f4\u65b0\u6642\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u30cf\u30f3\u30c9\u30eb\u3059\u308b\u51e6\u7406\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p style=\"margin-bottom: 0;\">\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b7\u30ca\u30ea\u30aa\u3067\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u5de5\u7a0b\u7ba1\u7406\u7528\u306e\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u3063\u3066\u3001\u5de5\u7a0b\u3068\u9032\u6357\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002<\/li>\n<li>\u5404\u5de5\u7a0b\u306e\u62c5\u5f53\u8005\u306f\u9032\u6357\u3092\u66f4\u65b0\u3057\u307e\u3059\u3002<\/li>\n<li>\u9032\u6357\u306f\u5897\u3048\u308b\u3053\u3068\u306f\u3042\u3063\u3066\u3082\u6e1b\u308b\u3053\u3068\u306f\u306a\u3044\u3082\u306e\u3068\u3057\u3066\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<\/li>\n<li>\u9032\u6357\u304c100%\u306b\u9054\u3059\u308b\u3068\u3001\u6b21\u306e\u5de5\u7a0b\u306e\u62c5\u5f53\u8005\u304c\u9032\u6357\u3092\u66f4\u65b0\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/li>\n<\/ul>\n<\/div>\n<p class=\"cnsubhead01\">FullWEB\u3067\u306e\u8a2d\u5b9a<\/p>\n<p class=\"cnmbottom30\">\u300c\u5de5\u7a0b\u7ba1\u7406\u300d\u3068\u3044\u3046\u5206\u985e\u30e9\u30d9\u30eb\u3092\u4f5c\u6210\u3057\u3066\u4ee5\u4e0b\u306e\u5c5e\u6027\u9805\u76ee\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4564 alignnone cnmbottom30\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/12\/sdk_img_020.jpg\" alt=\"\u753b\u50cf\uff1a\u5c5e\u6027\u9805\u76ee-\u7ba1\u7406\u753b\u9762\" width=\"503\" height=\"320\"><\/p>\n<p class=\"cnsubhead01\">SDK\u3067\u958b\u767a\u3059\u308b\u5185\u5bb9<\/p>\n<p>\u6700\u521d\u306bVisual Studio \u3067\u958b\u767a\u74b0\u5883\u3092\u6574\u3048\u307e\u3059\u3002<br>\uff08FullWEB SDK\u30de\u30cb\u30e5\u30a2\u30eb\u306b\u63b2\u8f09\u3057\u3066\u3044\u307e\u3059\uff09<\/p>\n<p>\u4eca\u56de\u306fVisual Studio\u3067CnEventHandler\u3068\u3044\u3046\u30af\u30e9\u30b9\u3092\u8ffd\u52a0\u3057\u3066\u305d\u3053\u306b\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4565 alignnone\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/12\/sdk_img_021.jpg\" alt=\"\u753b\u50cf\uff1aVisual Stuido\u753b\u9762\" width=\"595\" height=\"215\"><\/p>\n<p>\u3053\u306e\u30af\u30e9\u30b9\u306bFullWEB.ICustomEvent\u3068\u3044\u3046\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092Implements\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #0000ff;\">Public Class<\/span> <span style=\"color: #2b91af;\">CnEventHandler<\/span>\n    <span style=\"color: #0000ff;\">Implements<\/span> FullWEB.ICustomEvent\n\n    <span style=\"color: #0000ff;\">Public ReadOnly Property<\/span> IsSupported(command <span style=\"color: #0000ff;\">As String<\/span>) <span style=\"color: #0000ff;\">As Boolean Implements<\/span> ICustomEvent.IsSupported\n        <span style=\"color: #0000ff;\">Get\n            Throw New<\/span> NotImplementedException()\n       <span style=\"color: #0000ff;\"> End Get\n    End Property\n\n    Public Sub<\/span> TerminateInstance() <span style=\"color: #0000ff;\">Implements<\/span> ICustomEvent.TerminateInstance\n        <span style=\"color: #0000ff;\">Throw New<\/span> NotImplementedException()\n    <span style=\"color: #0000ff;\">End Sub<\/span>\n\n    <span style=\"color: #0000ff;\">Public Function<\/span> InitInstance(db <span style=\"color: #0000ff;\">As<\/span> Database) <span style=\"color: #0000ff;\">As Boolean Implements<\/span> ICustomEvent.InitInstance\n        <span style=\"color: #0000ff;\">Throw New<\/span> NotImplementedException()\n   <span style=\"color: #0000ff;\"> End Function<\/span>\n\n    <span style=\"color: #0000ff;\">Public Function<\/span> PageEvent(srcPage <span style=\"color: #0000ff;\">As<\/span> Page, xParam <span style=\"color: #0000ff;\">As<\/span> XElement) <span style=\"color: #0000ff;\">As<\/span> XElement <span style=\"color: #0000ff;\">Implements<\/span> ICustomEvent.PageEvent\n        <span style=\"color: #0000ff;\">Throw New <\/span>NotImplementedException()\n    <span style=\"color: #0000ff;\">End Function\nEnd Class<\/span><\/code><\/pre>\n<p>IsSupported()\u304c\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u304b\u3092\u6c7a\u3081\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u3059\u3002<br>\u5404\u30a4\u30d9\u30f3\u30c8\u767a\u751f\u6642\u306b\u547c\u3073\u51fa\u3055\u308c\u3001True\u3092\u8fd4\u3057\u305f\u5834\u5408\u306b\u5f8c\u8ff0\u306e PageEvent()\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>PageEvent()\u304c\u5404\u7a2e\u30a4\u30d9\u30f3\u30c8\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002<\/p>\n<p>InitInstance()\u304c\u3053\u306e\u30af\u30e9\u30b9\u304c\u521d\u671f\u5316\u3055\u308c\u305f\u6642\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\uff08\u901a\u5e38\u30ed\u30b0\u30a4\u30f3\u3057\u305f\u6642\u3067\u3059\uff09<br><a href=\"#1\">\u7b2c5\u56de\u3000\u627f\u8a8d\u5f8c\u306e\u81ea\u52d5\u914d\u4fe1<\/a>\u3068\u7570\u306a\u308a\u5f15\u6570\u30d1\u30e9\u30e1\u30fc\u30bf\u306eDatabase\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306fNULL\u306e\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>TerminateInstance()\u304c\u89e3\u653e\u6642\u306b\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\uff08\u901a\u5e38\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u305f\u6642\u3067\u3059\uff09<br>\u7279\u5225\u306a\u51e6\u7406\u304c\u306a\u3051\u308c\u3070\u3001\u4e2d\u8eab\u306f\u7a7a\u306e\u307e\u307e\u3067\u3082\u69cb\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u6e96\u5099\u3057\u305fCnEventHandler\u30af\u30e9\u30b9\u3092FullWEB\u306eweb.config\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066FullWEB\u306b\u767b\u9332\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br>name\u306fdll\u30d5\u30a1\u30a4\u30eb\u540d\u3001type\u306f\u30af\u30e9\u30b9\u540d\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre02\"><span style=\"color: #0000ff;\"><code><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #a31515;\">customEvent<\/span><span style=\"color: #0000ff;\">&gt;<\/span>\n  &lt;<span style=\"color: #a31515;\">add<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #0000ff;\">cmd2112.dll<\/span><span style=\"color: #000000;\">\"<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=<\/span><span style=\"color: #000000;\">\"<\/span><span style=\"color: #0000ff;\">cmd2112.CnEventHandler<\/span><\/code><\/span><code>\"<\/code><span style=\"color: #0000ff;\"><code> <span style=\"color: #ff0000;\">description<\/span><span style=\"color: #0000ff;\">=<\/span><span style=\"color: #000000;\">\"\"<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span>\n<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #a31515;\">customEvent<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/code><\/span><\/pre>\n<p>\u3053\u3046\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u30e6\u30fc\u30b6\u304cFullWEB\u3067\u5c5e\u6027\u7de8\u96c6\u753b\u9762\u306e\u4fdd\u5b58\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3068\u304d\u306bCnEventHandler\u30af\u30e9\u30b9\u306e\u5404\u30e1\u30bd\u30c3\u30c9\u304c\u81ea\u52d5\u7684\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3067\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u306e\u3067\u3001\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u6700\u521d\u306b\u3001\u5de5\u7a0b\u3068\u62c5\u5f53\u90e8\u7f72\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u4f5c\u3063\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #008000;\">' \u5de5\u7a0b\u3068\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8868<\/span>\n<span style=\"color: #0000ff;\">Private ReadOnly<\/span> dicPhaseUsergroup <span style=\"color: #0000ff;\">As New<\/span> Dictionary(<span style=\"color: #0000ff;\">Of String<\/span>, <span style=\"color: #0000ff;\">String<\/span>) <span style=\"color: #0000ff;\">From<\/span> {\n    {<span style=\"color: #a31515;\">\"\u8a2d\u8a08\"<\/span>, <span style=\"color: #a31515;\">\"\u8a2d\u8a08\u90e8\u9580\"<\/span>},\n    {<span style=\"color: #a31515;\">\"\u88fd\u9020\"<\/span>, <span style=\"color: #a31515;\">\"\u88fd\u9020\u90e8\u9580\"<\/span>},\n    {<span style=\"color: #a31515;\">\"\u30c6\u30b9\u30c8\"<\/span>, <span style=\"color: #a31515;\">\"\u30c6\u30b9\u30c8\u90e8\u9580\"<\/span>}\n}<\/code><\/pre>\n<p>IsSupported()\u3092\u5b9f\u88c5\u3057\u3066\u5c5e\u6027\u7de8\u96c6\u753b\u9762\u3067\u306e\u4fdd\u5b58\u524d\u30a4\u30d9\u30f3\u30c8\u304a\u3088\u3073\u4fdd\u5b58\u5f8c\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<br>\u5f15\u6570\u306b\u306f\u30a4\u30d9\u30f3\u30c8\u540d\u304c\u6e21\u3063\u3066\u304d\u307e\u3059\u3002\u201dAttrBeforeUpdateAll\u201d\u304c\u4fdd\u5b58\u524d\u306e\u30a4\u30d9\u30f3\u30c8\u540d\u3001&#8221;AttrAfterUpdateAll&#8221;\u304c\u4fdd\u5b58\u5f8c\u306e\u30a4\u30d9\u30f3\u30c8\u540d\u3067\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #808080;\">''' &lt;summary&gt;\n'''<\/span> <span style=\"color: #008000;\">\u5404\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b\u304b\u3069\u3046\u304b\u3092\u8fd4\u3059<\/span>\n<span style=\"color: #808080;\">''' &lt;\/summary&gt;\n''' &lt;param name=\"<\/span>command<span style=\"color: #808080;\">\"&gt;<\/span><span style=\"color: #008000;\">\u5404\u7a2e\u30a4\u30d9\u30f3\u30c8\u540d<\/span><span style=\"color: #808080;\">&lt;\/param&gt;<\/span>\n<span style=\"color: #808080;\">''' &lt;returns&gt;&lt;\/returns&gt;<\/span>\n<span style=\"color: #0000ff;\">Public ReadOnly Property<\/span> IsSupported(command <span style=\"color: #0000ff;\">As String<\/span>) <span style=\"color: #0000ff;\">As Boolean Implements<\/span> ICustomEvent.IsSupported\n    <span style=\"color: #0000ff;\">Get\n        Select Case<\/span> command.ToLower\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"attrbeforeupdateall\"<\/span>\n               <span style=\"color: #008000;\"> ' \u5c5e\u6027\u7de8\u96c6\u753b\u9762\u3067\u306e\u4fdd\u5b58\u524d\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b<\/span>\n                <span style=\"color: #0000ff;\">Return True\n            Case<\/span> <span style=\"color: #a31515;\">\"attrafterupdateall\"<\/span>\n                <span style=\"color: #008000;\">' \u5c5e\u6027\u7de8\u96c6\u753b\u9762\u3067\u306e\u4fdd\u5b58\u5f8c\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u3051\u53d6\u308b<\/span>\n                <span style=\"color: #0000ff;\">Return True\n            Case Else<\/span>\n                <span style=\"color: #008000;\">' \u305d\u308c\u4ee5\u5916\u306f\u53d7\u3051\u53d6\u3089\u306a\u3044<\/span>\n               <span style=\"color: #0000ff;\"> Return False\n        End Select\n    End Get\nEnd Property<\/span><\/code><\/pre>\n<p>PageEvent()\u3092\u5b9f\u88c5\u3057\u3066\u3001\u5404\u30a4\u30d9\u30f3\u30c8\u767a\u751f\u6642\u306e\u51e6\u7406\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>Database\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #0000ff;\">Dim<\/span> db <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.Database = <span style=\"color: #0000ff;\">TryCast<\/span>(srcPage.Session(<span style=\"color: #a31515;\">\"objdb\"<\/span>), cnWebCoreTest.Database)\n<\/code><\/pre>\n<p>\u4fdd\u5b58\u5bfe\u8c61\u3068\u306a\u308b\u30d5\u30a1\u30a4\u30eb\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<br>Files\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3044\u3046\u8907\u6570\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #0000ff;\">Dim<\/span> fls <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.Files = <span style=\"color: #0000ff;\">CType<\/span>(srcPage.Session(xParam.Value), cnWebCoreTest.Files)<\/code><\/pre>\n<p>\u500b\u3005\u306e\u30a2\u30a4\u30c6\u30e0\uff08File\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\uff09\u306fFiles\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306eItem\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #0000ff;\">Public Function<\/span> PageEvent(srcPage <span style=\"color: #0000ff;\">As<\/span> Page, xParam <span style=\"color: #0000ff;\">As<\/span> XElement) <span style=\"color: #0000ff;\">As<\/span> XElement <span style=\"color: #0000ff;\">Implements<\/span> ICustomEvent.PageEvent\n    <span style=\"color: #0000ff;\">Dim<\/span> db <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.Database = <span style=\"color: #0000ff;\">TryCast<\/span>(srcPage.Session(<span style=\"color: #a31515;\">\"objdb\"<\/span>), cnWebCoreTest.Database)\n    <span style=\"color: #0000ff;\">Dim<\/span> fls <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.Files = <span style=\"color: #0000ff;\">CType<\/span>(srcPage.Session(xParam.Value), cnWebCoreTest.Files)\n\n    <span style=\"color: #0000ff;\">For <span style=\"color: #000000;\">i<\/span> As Integer<\/span> = 1 <span style=\"color: #0000ff;\">To<\/span> fls.Count\n        <span style=\"color: #0000ff;\">Dim<\/span> f <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.File = fls.Item(i)\n\n        <span style=\"color: #0000ff;\">Select Case<\/span> xParam.<span style=\"color: #6464b9;\">@<\/span><span style=\"color: #b96400;\">command<\/span>.ToLower\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"attrbeforeupdateall\"<\/span>\n               <span style=\"color: #008000;\"> ' \u4fdd\u5b58\u524d\u51e6\u7406<\/span>\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"attrafterupdateall\"<\/span>\n               <span style=\"color: #008000;\"> ' \u4fdd\u5b58\u5f8c\u51e6\u7406<\/span>\n            <span style=\"color: #0000ff;\">Case Else<\/span>\n                <span style=\"color: #008000;\">' NOP<\/span>\n        <span style=\"color: #0000ff;\">End Select\n    Next<\/span>\n\n    <span style=\"color: #0000ff;\">Return<\/span> xParam\n<span style=\"color: #0000ff;\">End Function<\/span><\/code><\/pre>\n<p>\u307e\u305a\u3001\u4fdd\u5b58\u524d\u306e\u51e6\u7406\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u6700\u521d\u306b\u3001\u30e6\u30fc\u30b6\u304c\u73fe\u5728\u306e\u5de5\u7a0b\u3092\u62c5\u5f53\u3059\u308b\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<br>\u30e6\u30fc\u30b6\u60c5\u5831\u306f\u3001Database\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306eUser\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<br>User\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306eGroup\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306e\u60c5\u5831\u304c\u53d6\u5f97\u3067\u304d\u308b\u306e\u3067\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u540d\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p>\u3064\u3065\u3044\u3066\u3001\u9032\u6357\u3092\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<br>\u7de8\u96c6\u524d\u306e\u5024\u3068\u6bd4\u8f03\u3057\u3066\u3001\u9032\u6357\u304c\u6e1b\u7b97\u3055\u308c\u3066\u306a\u3044\u304b\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<br>Files\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304b\u3089\u53d6\u5f97\u3057\u305fFile\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u306f\u3001\u5c5e\u6027\u753b\u9762\u3067\u5909\u66f4\u3055\u308c\u305f\u5024\u306e\u307f\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002<br>\u5909\u66f4\u524d\u306e\u5024\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u306f\u3001Database\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4ecb\u3057\u3066\u3001\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #008000;\">' \u5909\u66f4\u524d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97<\/span>\n<span style=\"color: #0000ff;\">Dim<\/span> bf <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.File = db.SafeGetFile(f.Fid)<\/code><\/pre>\n<p>\u30c1\u30a7\u30c3\u30af\u306e\u7d50\u679c\u3001\u554f\u984c\u304c\u3042\u308c\u3070\u30a8\u30e9\u30fc\u3092\u8fd4\u3057\u307e\u3059\u3002<br>\u5f15\u6570\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u6e21\u3055\u308c\u308bxParam\u306e&lt;param&gt;&lt;errors&gt;\u8981\u7d20\u306e\u5b50\u306b&lt;error&gt;\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code>xParam.<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">errors<\/span><span style=\"color: #6464b9;\">&gt;<\/span>(0).Add(<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8&lt;\/<span style=\"color: #b96400;\">e<\/span><\/span><span style=\"color: #b96400;\">rror<\/span><span style=\"color: #6464b9;\">&gt;<\/span>)<\/code><\/pre>\n<p>\u4fdd\u5b58\u524d\u51e6\u7406\u5168\u4f53\u306f\u4ee5\u4e0b\u306b\u306a\u308a\u307e\u3059\u3002<br>\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\u306f\u672c\u5236\u7d04\u3092\u53d7\u3051\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<br>\u30e6\u30fc\u30b6\u304c\u5165\u529b\u3092\u8aa4\u3063\u3066\u4fdd\u5b58\u3057\u3066\u3057\u307e\u3063\u305f\u5834\u5408\u3001\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\u306b\u5143\u306b\u623b\u3057\u3066\u3082\u3089\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3067\u3059\u3002<br>\u307e\u305f\u3001\u5de5\u7a0b\u306f\u30e6\u30fc\u30b6\u304c\u5909\u66f4\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u3082\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #008000;\">' \u4fdd\u5b58\u524d\u51e6\u7406<\/span>\n<span style=\"color: #0000ff;\">If<\/span> f.ContainsAttr(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>) <span style=\"color: #0000ff;\">Then<\/span>  <span style=\"color: #008000;\">' \u5de5\u7a0b\u7ba1\u7406\u30e9\u30d9\u30eb\u304c\u4ed8\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u5834\u5408\n    ' \u30b7\u30b9\u30c6\u30e0\u7ba1\u7406\u8005\u306a\u3089\u3070\u306a\u306b\u3082\u3057\u306a\u3044<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> db.User.IsAdmin <span style=\"color: #0000ff;\">Then\n        Continue For\n    End If<\/span>\n\n    <span style=\"color: #008000;\">' \u5909\u66f4\u524d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97<\/span>\n    <span style=\"color: #0000ff;\">Dim<\/span> bf <span style=\"color: #0000ff;\">As<\/span> cnWebCoreTest.File = db.SafeGetFile(f.Fid)\n\n    <span style=\"color: #008000;\">' \u5de5\u7a0b\u306f\u5909\u66f4\u524d\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304b\u3089\u53d6\u5f97<\/span>\n    <span style=\"color: #0000ff;\">Dim<\/span> phase <span style=\"color: #0000ff;\">As String<\/span> = f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>).Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u5de5\u7a0b\"<\/span>)).Value\n    <span style=\"color: #0000ff;\">Dim<\/span> beforePhase <span style=\"color: #0000ff;\">As String<\/span> = bf.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>).Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u5de5\u7a0b\"<\/span>)).Value\n\n   <span style=\"color: #008000;\"> ' \u5de5\u7a0b\u306e\u5909\u66f4\u306f\u4e0d\u53ef<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> phase &lt;&gt; beforePhase <span style=\"color: #0000ff;\">Then<\/span>\n        xParam.<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">errors<\/span><span style=\"color: #6464b9;\">&gt;<\/span>(0).Add(<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>\u5de5\u7a0b\u306e\u5909\u66f4\u306f\u3067\u304d\u307e\u305b\u3093\u3002<span style=\"color: #6464b9;\">&lt;\/<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>)\n        <span style=\"color: #0000ff;\">Continue For<\/span>\n    <span style=\"color: #0000ff;\">End If<\/span>\n\n   <span style=\"color: #008000;\"> ' \u5b8c\u4e86\u306a\u3089\u5909\u66f4\u4e0d\u53ef<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> phase =<span style=\"color: #a31515;\"> \"\u5b8c\u4e86\"<\/span> <span style=\"color: #0000ff;\">Then<\/span>\n        xParam.<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">errors<\/span><span style=\"color: #6464b9;\">&gt;<\/span>(0).Add(<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96464;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>\u5b8c\u4e86\u3057\u3066\u3044\u308b\u305f\u3081\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002<span style=\"color: #6464b9;\">&lt;\/<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>)\n        <span style=\"color: #0000ff;\">Continue For\n    End If<\/span>\n\n    <span style=\"color: #008000;\">' \u6240\u5c5e\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306e\u30c1\u30a7\u30c3\u30af<\/span>\n    <span style=\"color: #0000ff;\">Dim<\/span> enableEdit <span style=\"color: #0000ff;\">As Boolean<\/span> = <span style=\"color: #0000ff;\">False<\/span>\n    <span style=\"color: #0000ff;\">For<\/span> j <span style=\"color: #0000ff;\">As Integer<\/span> = 1 <span style=\"color: #0000ff;\">To<\/span> db.User.GroupCount\n        <span style=\"color: #0000ff;\">If<\/span> db.User.Group(j).Name = dicPhaseUsergroup(phase) <span style=\"color: #0000ff;\">Then<\/span>\n            enableEdit = <span style=\"color: #0000ff;\">True<\/span>\n            <span style=\"color: #0000ff;\">Exit For\n        End If\n    Next<\/span>\n\n   <span style=\"color: #008000;\"> ' \u5909\u66f4\u5f8c\u306e\u9032\u6357<\/span><span style=\"color: #0000ff;\">\n    Dim progress<\/span> <span style=\"color: #0000ff;\">As Integer<\/span> = <span style=\"color: #0000ff;\">CInt<\/span>(f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>).Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp;amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u9032\u6357<\/span>\")).Value)\n    <span style=\"color: #008000;\">' \u5909\u66f4\u524d\u306e\u9032\u6357<\/span>\n    <span style=\"color: #0000ff;\">Dim<\/span> beforeProgress <span style=\"color: #0000ff;\">As Integer<\/span> = <span style=\"color: #0000ff;\">CInt<\/span>(bf.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\")<\/span>.Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp;amp; db.GetALID(\"<span style=\"color: #a31515;\">\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u9032\u6357\"<\/span>)).Value)\n\n    <span style=\"color: #008000;\">' \u7de8\u96c6\u53ef\u80fd\u306a\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u9032\u6357\u306e\u5909\u66f4\u306f\u4e0d\u53ef<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> enableEdit = <span style=\"color: #0000ff;\">False AndAlso<\/span> progress &lt;&gt; beforeProgress <span style=\"color: #0000ff;\">Then<\/span>\n        xParam.<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">errors<\/span><span style=\"color: #6464b9;\">&gt;<\/span>(0).Add(<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>&lt;%= phase %&gt;\u5de5\u7a0b\u306e\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306b\u6240\u5c5e\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002<span style=\"color: #6464b9;\">&lt;\/<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>)\n        <span style=\"color: #0000ff;\">Continue For\n    End If<\/span>\n\n    <span style=\"color: #008000;\">' \u9032\u6357\u304c\u6e1b\u3063\u3066\u3044\u305f\u3089\u30a8\u30e9\u30fc<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> progress &lt; beforeProgress <span style=\"color: #0000ff;\">Then<\/span>\n        xParam.<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96464;\">errors<\/span><span style=\"color: #6464b9;\">&gt;<\/span>(0).Add(<span style=\"color: #6464b9;\">&lt;<\/span><span style=\"color: #b96464;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>\u9032\u6357\u3092\u6e1b\u3089\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<span style=\"color: #6464b9;\">&lt;\/<\/span><span style=\"color: #b96400;\">error<\/span><span style=\"color: #6464b9;\">&gt;<\/span>)\n        <span style=\"color: #0000ff;\">Continue For\n    End If\nEnd If<\/span><\/code><\/pre>\n<p>\u6b21\u306b\u4fdd\u5b58\u5f8c\u306e\u51e6\u7406\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u3053\u3067\u306f\u3001\u9032\u6357\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066100%\u306b\u5230\u9054\u3057\u3066\u3044\u305f\u3089\u6b21\u306e\u5de5\u7a0b\u306b\u5909\u66f4\u3057\u3001\u9032\u6357\u30920\u306b\u623b\u3057\u307e\u3059\u3002<br>\u3053\u3053\u3067\u3082\u540c\u69d8\u306b\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\u306f\u5bfe\u8c61\u5916\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"cnpre01\"><code><span style=\"color: #008000;\">' \u4fdd\u5b58\u5f8c\u51e6\u7406<\/span>\n<span style=\"color: #0000ff;\">If<\/span> f.ContainsAttr(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>) <span style=\"color: #0000ff;\">Then<\/span>\n    <span style=\"color: #008000;\">' \u30b7\u30b9\u30c6\u30e0\u7ba1\u7406\u8005\u306a\u3089\u3070\u306a\u306b\u3082\u3057\u306a\u3044<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> db.User.IsAdmin <span style=\"color: #0000ff;\">Then<\/span>\n        <span style=\"color: #0000ff;\">Continue For\n    End If<\/span>\n\n    <span style=\"color: #0000ff;\">Dim<\/span> progress <span style=\"color: #0000ff;\">As Integer<\/span> = <span style=\"color: #0000ff;\">CInt<\/span>(f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406<\/span>\").Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u9032\u6357\"<\/span>)).Value)\n\n    <span style=\"color: #008000;\">' \u9032\u6357\u304c100\u306b\u9054\u3057\u305f\u3089\u6b21\u5de5\u7a0b\u306b\u79fb\u308b<\/span>\n    <span style=\"color: #0000ff;\">If<\/span> progress = 100 <span style=\"color: #0000ff;\">Then<\/span>\n        <span style=\"color: #0000ff;\">Dim<\/span> nextPhase <span style=\"color: #0000ff;\">As String<\/span> = <span style=\"color: #a31515;\">\"\"<\/span>\n        <span style=\"color: #0000ff;\">Select Case<\/span> f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>).Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u5de5\u7a0b\"<\/span>)).Value\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"\u8a2d\u8a08\"<\/span>\n                nextPhase = <span style=\"color: #a31515;\">\"\u88fd\u9020\"<\/span>\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"\u88fd\u9020\"<\/span>\n                nextPhase = <span style=\"color: #a31515;\">\"\u30c6\u30b9\u30c8\"<\/span>\n            <span style=\"color: #0000ff;\">Case<\/span> <span style=\"color: #a31515;\">\"\u30c6\u30b9\u30c8\"<\/span>\n                nextPhase = <span style=\"color: #a31515;\">\"\u5b8c\u4e86\"<\/span>\n            <span style=\"color: #0000ff;\">Case Else<\/span>\n                <span style=\"color: #008000;\">' NOP<\/span>\n                <span style=\"color: #0000ff;\">Continue For\n        End Select<\/span>\n\n        f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>).Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u5de5\u7a0b\"<\/span>)).Value = nextPhase\n        f.Attrs(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\")<\/span>.Item(<span style=\"color: #a31515;\">\"k\"<\/span> &amp; db.GetALID(<span style=\"color: #a31515;\">\"\u5de5\u7a0b\u7ba1\u7406\"<\/span>, <span style=\"color: #a31515;\">\"\u9032\u6357\"<\/span>)).Value = 0\n\n       <span style=\"color: #008000;\"> ' \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u53cd\u6620<\/span>\n        f.UpdateAttr(<span style=\"color: #0000ff;\">True<\/span>)\n    <span style=\"color: #0000ff;\">End If\nEnd If<\/span><\/code><\/pre>\n<p class=\"cnsubhead01\">\u52d5\u4f5c\u78ba\u8a8d<\/p>\n<p>\u30e6\u30fc\u30b6\u304c\u9032\u6357\u3092\u6e1b\u3089\u3057\u3066\u4fdd\u5b58\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<br><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4566 alignnone\" src=\"https:\/\/www.connected.co.jp\/wp-content\/uploads\/2021\/12\/sdk_img_022.jpg\" alt=\"\u753b\u50cf\uff1a\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\" width=\"643\" height=\"408\"><\/p>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p style=\"line-height: 2em;\"><a href=\"https:\/\/www.connected.co.jp\/?page_id=2531\">\uff1c SDK\u3067\u3067\u304d\u308b\u3053\u3068\uff5e\u521d\u7d1a\u7de8\uff5e<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p style=\"line-height: 2em; text-align: right;\"><a title=\"SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e0a\u7d1a\u7de8\uff5e\" href=\"https:\/\/www.connected.co.jp\/?page_id=4997\">&nbsp;SDK\u3067\u3067\u304d\u308b\u3053\u3068\uff5e\u4e0a\u7d1a\u7de8\uff5e&nbsp;\uff1e<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e2d\u7d1a\u7de8\uff5e SDK\u3067\u3067\u304d\u308b\u3053\u3068\u3000\uff5e\u4e2d\u7d1a\u7de8\uff5e \u3053\u308c\u304b\u3089SDK\u3067 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":7830,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/2704"}],"collection":[{"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2704"}],"version-history":[{"count":24,"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/2704\/revisions"}],"predecessor-version":[{"id":7958,"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/2704\/revisions\/7958"}],"up":[{"embeddable":true,"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/7830"}],"wp:attachment":[{"href":"https:\/\/www.connected.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}