diff --git a/NodeJS/Care7_old/pdf/10月歩合.pdf b/NodeJS/Care7_old/pdf/10月歩合.pdf new file mode 100644 index 00000000..117e5f2d Binary files /dev/null and b/NodeJS/Care7_old/pdf/10月歩合.pdf differ diff --git a/NodeJS/Care7_old/pdf/202511.pdf b/NodeJS/Care7_old/pdf/202511.pdf new file mode 100644 index 00000000..27637200 Binary files /dev/null and b/NodeJS/Care7_old/pdf/202511.pdf differ diff --git a/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf b/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf new file mode 100644 index 00000000..e377194d Binary files /dev/null and b/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf differ diff --git a/PowerShell/result.txt b/PowerShell/result.txt new file mode 100644 index 00000000..ca7e5cf9 --- /dev/null +++ b/PowerShell/result.txt @@ -0,0 +1 @@ +{"StatusCode":200,"Response":{"Offset":0,"PageSize":200,"TotalCount":57,"Data":[{"SiteId":376872,"UpdatedTime":"2025-12-01T16:11:34","ResultId":421425,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-12-01T16:10:33","ItemTitle":"07V3CNXNK-0002■綿引 翔馬 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"407119","ClassB":"綿引 翔馬 様邸","ClassC":"07V3CNXNK","ClassI":"109101","ClassJ":"2階建て","ClassK":"~20坪","ClassL":"LVL","ClassD":"千葉","ClassX":"2","ClassZ":"07V3CNXNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/12/01","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-12-01T16:11:34","DateB":"2026-04-15T00:00:00","DateC":"2025-12-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-12-01T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-12-03T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-12-01T13:09:27","ResultId":407153,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-12-01T13:09:27","ItemTitle":"07V3CNXNK-0001■綿引 翔馬 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"407119","ClassB":"綿引 翔馬 様邸","ClassC":"07V3CNXNK","ClassI":"","ClassJ":"2階建て","ClassK":"~20坪","ClassL":"LVL","ClassD":"千葉","ClassX":"2","ClassZ":"07V3CNXNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/12/01","Class020":"","Class021":"","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2026-04-15T00:00:00","DateC":"2025-12-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-12-01T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:48:10","ResultId":405902,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:47:25","ItemTitle":"789456123-0005■××××分譲■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"789456123-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":200.0,"NumD":-100.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-25T16:48:10","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:47:12","ResultId":405901,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:46:33","ItemTitle":"789456123-0004■××××分譲■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"789456123-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":200.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:47:03","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-25T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:47:07","Date026":"2025-11-25T16:47:12"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:46:29","ResultId":405900,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:45:53","ItemTitle":"789456123-0003■××××分譲■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"789456123-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":100.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-25T16:46:21","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:46:26","Date026":"2025-11-25T16:46:29"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:45:47","ResultId":405899,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:44:54","ItemTitle":"789456123-0002■××××分譲■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"789456123-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:45:23","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-25T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:45:44","Date026":"2025-11-25T16:45:47"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:44:38","ResultId":405898,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:43:56","ItemTitle":"789456123-0001■××××分譲■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"789456123-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:44:14","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:44:35","Date026":"2025-11-25T16:44:38"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T14:27:29","ResultId":405834,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T14:16:00","ItemTitle":"123456-0011■〇×建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"123456","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"123456-0011","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T14:27:29","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-25T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T13:50:19","ResultId":405821,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T13:49:35","ItemTitle":"123456-0010■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"123456","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"123456-0010","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T13:50:11","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T13:50:14","Date026":"2025-11-25T13:50:19"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T13:34:04","ResultId":403152,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T13:33:42","ItemTitle":"987654321-0005■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"987654321","ClassI":"","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"987654321-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T13:34:04","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:06:33","ResultId":401820,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:06:02","ItemTitle":"987654321-0004■〇×〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"987654321-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-25T12:06:24","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:06:29","Date026":"2025-11-25T12:06:33"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:05:21","ResultId":401818,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:04:37","ItemTitle":"987654321-0003■〇×〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"987654321-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-25T12:05:08","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:05:14","Date026":"2025-11-25T12:05:21"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:04:24","ResultId":401817,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:01:51","ItemTitle":"987654321-0002■〇×〇×建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"987654321-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T12:04:15","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-25T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:04:20","Date026":"2025-11-25T12:04:24"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:01:32","ResultId":401816,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:01:00","ItemTitle":"987654321-0001■〇×〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"987654321-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T12:01:24","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:01:28","Date026":"2025-11-25T12:01:32"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T14:17:19","ResultId":395993,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-24T14:17:05","ItemTitle":"111111111-0010■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0010","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"","Class021":"895","Class022":"421","Class015":"[\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":4.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T14:16:50","ResultId":395705,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-24T14:14:05","ItemTitle":"111111111-0009■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0009","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"3 回","Class020":"460","Class021":"895","Class022":"421","Class015":"[\"895\",\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":3.0},"DateHash":{"DateA":"2025-11-24T14:16:50","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-26T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T12:23:30","ResultId":394563,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T12:23:30","ItemTitle":"123456-0009■〇〇××分譲住宅■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇〇××分譲住宅","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"123456-0009","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T12:20:21","ResultId":394551,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T11:44:17","ItemTitle":"123456-0008■〇〇××分譲住宅■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇〇××分譲住宅","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"123456-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T11:53:51","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"2025-11-24T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T12:20:18","Date026":"2025-11-24T12:20:21"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:56:01","ResultId":394423,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:54:23","ItemTitle":"111111111-0008■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-24T09:55:54","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:55:58","Date026":"2025-11-24T09:56:01"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:53:54","ResultId":394422,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:53:15","ItemTitle":"111111111-0007■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-24T09:53:47","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:53:51","Date026":"2025-11-24T09:53:54"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:52:30","ResultId":394420,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:51:54","ItemTitle":"111111111-0006■〇×建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"111111111-0006","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:52:22","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-24T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:52:27","Date026":"2025-11-24T09:52:30"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:51:37","ResultId":394419,"Ver":1,"Body":"TEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:51:02","ItemTitle":"111111111-0005■〇×建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"111111111-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:51:29","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-24T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:51:32","Date026":"2025-11-24T09:51:37"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:50:50","ResultId":394418,"Ver":1,"Body":"TEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:50:16","ItemTitle":"111111111-0004■〇×建売■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"111111111-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:50:41","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-24T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:50:47","Date026":"2025-11-24T09:50:50"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:41:07","ResultId":394413,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:38:00","ItemTitle":"111111111-0001■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"111111111-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:39:18","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-24T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:40:13","Date026":"2025-11-24T09:41:07"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T18:05:37","ResultId":390916,"Ver":1,"Body":"TEST","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T18:02:15","ItemTitle":"123456-0007■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"3 回","Class020":"460","Class021":"895","Class022":"421","Class015":"[\"895\",\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":3.0},"DateHash":{"DateA":"2025-11-22T18:05:37","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T18:02:07","ResultId":390914,"Ver":1,"Body":"TEST","Status":900,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:58:51","ItemTitle":"123456-0006■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0006","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2 回","Class020":"460","Class021":"1057","Class022":"421","Class015":"[]","Class025":"460","Class026":"460"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-22T18:02:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T18:02:04","Date026":"2025-11-22T18:02:07"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:57:14","ResultId":390913,"Ver":1,"Body":"","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:56:12","ItemTitle":"123456-0005■建売■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"123456-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/23","Class020":"460","Class021":"1057","Class022":"421","Class015":"[\"1057\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:57:14","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-23T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:54:55","ResultId":381381,"Ver":4,"Body":"","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-10-10T16:17:59","ItemTitle":"05C6CLCNS-0001■小林 直樹 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"379622","ClassB":"小林 直樹 様邸","ClassC":"05C6CLCNS","ClassI":"109108","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"05C6CLCNS-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"1 回","Class020":"460","Class021":"996","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-22T15:54:25","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:29:58","ResultId":390909,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:24:17","ItemTitle":"123456-0003■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"","Class021":"895","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:25:30","ResultId":390910,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:24:55","ItemTitle":"123456-0004■建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"123456-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"","Class021":"895","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:14:25","ResultId":390907,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T17:12:27","ItemTitle":"123456-0002■建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"123456-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:14:03","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-22T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T17:14:12","Date026":"2025-11-22T17:14:25"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"9F1CA8ACBFD74F689C9CDE9A613E5306","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:12:05","ResultId":390904,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T17:11:00","ItemTitle":"123456-0001■建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"123456-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/22","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:11:50","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-22T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T17:11:59","Date026":"2025-11-22T17:12:05"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"DA37C2681F8E4B17822D0F4BDEF555CA","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:39:09","ResultId":390893,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:37:44","ItemTitle":"05B3BVANK-0005■大内 雄斗 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"05B3BVANK-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":11000.0,"NumD":-100.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-22T15:38:54","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:39:02","Date026":"2025-11-22T15:39:09"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"10FB876F40AA49AFB97FEDA2D3BA5296","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:37:31","ResultId":390892,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:35:52","ItemTitle":"05B3BVANK-0004■大内 雄斗 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"05B3BVANK-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":11000.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T15:36:51","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-22T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:37:22","Date026":"2025-11-22T15:37:31"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"47CF922FA4024ED09A7886DEE97FC4E2","Name":"※クラウドDX用【原紙】ネクスト_愛知実行予算_20251121.xlsm","Size":3686326,"HashCode":"1b139DPcuEA4S0mIanqIjp8hsyYpGplP0GQdTsApILw="}],"AttachmentsB":[{"Guid":"D8530504B8D6411686CE0355A06F9F84","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"1AB0F301CF434011A9BEC8FA48A616EE","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:35:34","ResultId":390888,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:08:45","ItemTitle":"05B3BVANK-0003■大内 雄斗 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"05B3BVANK-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T15:28:39","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-22T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:35:26","Date026":"2025-11-22T15:35:34"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"6D33C01840D748CCA6C0CA4F9C38A1A5","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[{"Guid":"D8EA1FAE96964731B4CFDDF2EF10F3D2","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"21867930A2DE496498F71CA7C3532AC3","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:56:52","ResultId":390885,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T14:55:31","ItemTitle":"05B3BVANK-0002■大内 雄斗 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05B3BVANK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T14:56:29","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:56:43","Date026":"2025-11-22T14:56:52"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"FA72B3E6EB5D47729B6F0F5D990B0130","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[{"Guid":"5D8E1808C5C1407DBE9732D3C0F329F5","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:55:14","ResultId":390884,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T14:54:08","ItemTitle":"05B3BVANK-0001■大内 雄斗 様邸■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"05B3BVANK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"2025/11/22","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T14:54:46","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"2025-11-22T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:54:59","Date026":"2025-11-22T14:55:14"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"5A6F5C0415CD45F5A957532AFA5B0105","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909}],"AttachmentsB":[{"Guid":"44AAE997D3FE45889BA90A60528E34BB","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750}],"AttachmentsC":[{"Guid":"FC97DEA0B0F74C9FA23C70BDBC01E10F","Name":"【原紙】実行予算作成日程.xlsx","Size":37226}],"AttachmentsD":[{"Guid":"3E7686F0385B41C4A9C10A91EB277BB0","Name":"発注担当IDを一気に書き換える方法.pdf","Size":387662}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:05:42","ResultId":383925,"Ver":3,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-10-28T11:25:36","ItemTitle":"02V2BIWNK-0007■工藤 来 様邸■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"02V2BIWNK-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"1057","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-28T00:00:00","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:05:19","ResultId":381385,"Ver":2,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-10-10T16:23:09","ItemTitle":"95B3CCTNK-0001■石川 亮太 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"333194","ClassB":"石川 亮太 様邸","ClassC":"95B3CCTNK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"95B3CCTNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"460","Class026":"460"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"2025-10-15T00:00:00","DateC":"2025-09-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:05:05","Date026":"2025-11-22T14:05:19"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:54:08","ResultId":390878,"Ver":1,"Body":"TEST-1","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T13:54:08","ItemTitle":"03C3BWUNK-0004■蘒原 大資・里緒 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"03C3BWUNK-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:44:06","ResultId":390708,"Ver":2,"Body":"TEST\nTEST\nTEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-21T12:30:30","ItemTitle":"02V2BIWNK-0014■工藤 来 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"02V2BIWNK-0014","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:27:10","ResultId":390709,"Ver":2,"Body":"TEST-1","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-21T12:32:10","ItemTitle":"03C3BWUNK-0003■蘒原 大資・里緒 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"03C3BWUNK-0003","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:49:48","ResultId":390697,"Ver":1,"Body":"TEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:49:48","ItemTitle":"05N6BTWNA-0002■長島 義幸 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"293336","ClassB":"長島 義幸 様邸","ClassC":"05N6BTWNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"3","ClassZ":"05N6BTWNA-0002","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":100000.0,"NumB":100000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-03-17T00:00:00","DateC":"2025-03-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:49:31","ResultId":390696,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:48:21","ItemTitle":"05N6BTWNA-0001■長島 義幸 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"293336","ClassB":"長島 義幸 様邸","ClassC":"05N6BTWNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"2","ClassZ":"05N6BTWNA-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"676","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100000.0,"NumB":100000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T11:48:53","DateB":"2025-03-17T00:00:00","DateC":"2025-03-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T11:49:15","Date026":"2025-11-21T11:49:31"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"6E108C2055094E839C96599B1B07042A","Name":"BTWNA長島邸愛知実行予算20250402承認0403A工種発注完了0424構造材確定0529修正.xlsm","Size":3114010}],"AttachmentsB":[{"Guid":"FB82E956409B414592807A49407D53B2","Name":"長島義幸様邸 質疑書.xlsx","Size":15190}],"AttachmentsC":[{"Guid":"FFB00487A7C743C990ACAA34BFCDAC6C","Name":"長島義幸様邸 実行予算作成日程.pdf","Size":34649}],"AttachmentsD":[{"Guid":"C3762BCE8DB145A68D0D7F752AF08B9D","Name":"承認図 BTW長島義幸様0301.pdf","Size":12917231}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:36:21","ResultId":390691,"Ver":1,"Body":"TEST-1\nTEST-2","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:26:54","ItemTitle":"03C3BWUNK-0002■蘒原 大資・里緒 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"03C3BWUNK-0002","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"685","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-21T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"1DE89A41FCA040B996DF63E5F5179428","Name":"蘒原 大資・蘒原 里緒邸 実行予算.xlsm","Size":9078822,"HashCode":"gLvCpDecgJeOeXe3HRccxwlsd7spcopCQZpR+dinrsg="}],"AttachmentsB":[{"Guid":"0FF47342EA8B4A9AB869A162EA77D41F","Name":"蘒原 大資・蘒原 里緒様邸 質疑書(IC、設計返信).xlsx","Size":51556,"HashCode":"yBSY5NHQCf7z2DuWNTWJQW2aAZlZPi16unpibKBz11A="}],"AttachmentsC":[{"Guid":"20D4E6A92E254803A362060E4733A69B","Name":"蘒原 大資・蘒原 里緒邸 実行予算作成日程.xlsx","Size":37338,"HashCode":"Sfm2PO2ZWyDJchwFOu8UlW4DWBFAYXoGuWAnqEkc9s0="}],"AttachmentsD":[{"Guid":"1D26208AC528404DB1AB0C99524FF446","Name":"承認図 03C3BWUNK■蘒原 大資・蘒原 里緒1028.pdf","Size":16000869,"HashCode":"ZbO978kzwikBdiVXXk6DOXAiGxiKL/863EOzuFfuExo="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:26:20","ResultId":390688,"Ver":1,"Body":"TEST-1","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:21:38","ItemTitle":"03C3BWUNK-0001■蘒原 大資・里緒 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"03C3BWUNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"892","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T11:22:08","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T11:25:28","Date026":"2025-11-21T11:26:20"},"DescriptionHash":{"Description025":"一次承認コメント:TEST-TEST","Description026":"最終決裁コメント:TEST-TEST-TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"898393152DC64CD8B887C60D375778B3","Name":"蘒原 大資・蘒原 里緒邸 実行予算.xlsm","Size":9078822}],"AttachmentsB":[{"Guid":"45C6C55DA957460AB20A2EB0C374EF8D","Name":"蘒原 大資・蘒原 里緒様邸 質疑書(IC、設計返信).xlsx","Size":51556}],"AttachmentsC":[{"Guid":"934F6EDCD8154A60BCBA6AEE7D196FBF","Name":"蘒原 大資・蘒原 里緒邸 実行予算作成日程.xlsx","Size":37338}],"AttachmentsD":[{"Guid":"6AB7A94819C74B8FBEDE792161B48D49","Name":"承認図 03C3BWUNK■蘒原 大資・蘒原 里緒1028.pdf","Size":16000869}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T10:49:03","ResultId":390672,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T10:48:05","ItemTitle":"02V2BIWNK-0008■工藤 来 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"02V2BIWNK-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T10:48:34","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T10:48:51","Date026":"2025-11-21T10:49:03"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"B592C56FAC9A4F4F908DCC2D74B80FA1","Name":"工藤 来様邸 実行予算.xlsm","Size":7576982}],"AttachmentsB":[{"Guid":"B01C1A74E6544EFFB7BBE918E5C6426A","Name":"工藤 来様邸 質疑書(営業返信).xlsx","Size":17135}],"AttachmentsC":[],"AttachmentsD":[{"Guid":"2E9DB5AD44AF4A49A485CEC8828F9EE1","Name":"再々承認図 02V2BIWNK 工藤来邸0221.pdf","Size":32224669}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-16T15:47:14","ResultId":389823,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-16T15:47:14","ItemTitle":"05N3BJMNK-0005■金子 亮祐・璃穂 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"05N3BJMNK-0005","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-16T15:39:14","ResultId":389819,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-16T15:39:14","ItemTitle":"05N3BJMNK-0004■金子 亮祐・璃穂 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"05N3BJMNK-0004","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-15T14:01:07","ResultId":388716,"Ver":2,"Body":"TEST\nTEST\nTEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-10T10:37:15","ItemTitle":"05N3BJMNK-0003■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:35:37","ResultId":388715,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T10:35:37","ItemTitle":"05N3BJMNK-0002■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:32:00","ResultId":388713,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T10:28:32","ItemTitle":"05N3BJMNK-0001■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"66C0614A96DC4BE8B167A1FD12AFFEBB","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365}],"AttachmentsB":[{"Guid":"9FEA100F79C046DE9BE4BF19139E7A4A","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750}],"AttachmentsC":[{"Guid":"0937092E3CCF4CF8B18349D5C9AC9B94","Name":"【原紙】実行予算作成日程.xlsx","Size":37226}],"AttachmentsD":[{"Guid":"D5949D82E1724FAE8A3C1EFB63EF6057","Name":"【積算発注管理課】見積依頼手順・依頼先リスト2025.02.10.xlsm","Size":349972}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:16:11","ResultId":388693,"Ver":1,"Body":"TEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T09:03:59","ItemTitle":"03N3BBVNK-0001■濱野 修・陽子 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"212208","ClassB":"濱野 修・陽子 様邸","ClassC":"03N3BBVNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"03N3BBVNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"","Class022":"","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":110.0,"NumB":110.0,"NumC":110.0,"NumD":110.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T09:08:33","DateB":"2024-03-28T00:00:00","DateC":"2024-02-11T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T09:18:00","Date026":"2025-11-10T09:18:19"},"DescriptionHash":{"Description025":"一次承認コメント:TEST2","Description026":"最終決裁コメント:TEST2"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"52730B58C5B140A190040E0BFAB55526","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsB":[{"Guid":"3B6278848DE44A3C93B102D87CFBDB08","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"BEE43A60DA264588B6CA694377EBC4FE","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[{"Guid":"A75BBEAB6DB94E9BAE603628D3E367CD","Name":"承認図一式 デニス邸.pdf","Size":4657038,"HashCode":"Ik4KLlXDZjLzplwZqsEmm4D6jm4rEOBDNSIGzDj11fM="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:10:34","ResultId":388697,"Ver":1,"Body":"TEST","Status":150,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T09:27:35","ItemTitle":"03N3BBVNK-0002■濱野 修・陽子 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"212208","ClassB":"濱野 修・陽子 様邸","ClassC":"03N3BBVNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"03N3BBVNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":110.0,"NumB":110.0,"NumC":110.0,"NumD":110.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T09:08:33","DateB":"2024-03-28T00:00:00","DateC":"2024-02-11T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-10T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T09:18:00","Date026":"2025-11-10T09:18:19"},"DescriptionHash":{"Description025":"一次承認コメント:TEST2","Description026":"最終決裁コメント:TEST2"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"D53DE6C8D933433983726D17F841392F","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsB":[{"Guid":"10FA22420EFA4D4FB14E46BF7DBAD7F8","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsC":[{"Guid":"1C95EC757D204DD18A28A9531DC553B9","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsD":[{"Guid":"9E04F7B277B7470BBC420F9DBFE9AFEB","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-31T11:29:13","ResultId":384445,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-10-31T11:29:13","ItemTitle":"05N3BIYNT-0001■櫻井 智成 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"251440","ClassB":"櫻井 智成 様邸","ClassC":"05N3BIYNT","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"東京A","ClassX":"2","ClassZ":"05N3BIYNT-0001","Class001":"[\"812\",\"1111\"]","Class002":"[]","Class003":"[\"422\",\"423\"]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-31T00:00:00","DateB":"2024-09-18T00:00:00","DateC":"2024-07-14T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-31T09:36:13","ResultId":381383,"Ver":2,"Body":"","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-10-10T16:20:40","ItemTitle":"9999AAABB-0001■阿部 真也 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"377349","ClassB":"阿部 真也 様邸","ClassC":"05N3CKYNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"9999AAABB-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"1 回","Class020":"460","Class021":"676","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-10T16:26:47","ResultId":381384,"Ver":3,"Body":"","Status":900,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":421,"CreatedTime":"2025-10-10T16:22:39","ItemTitle":"05N3CKYNA-0001■阿部 真也 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"377349","ClassB":"阿部 真也 様邸","ClassC":"05N3CKYNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"05N3CKYNA-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2 回","Class020":"460","Class021":"671","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}}]}} diff --git a/PowerShell/test.ps1 b/PowerShell/test.ps1 new file mode 100644 index 00000000..cc6b3ae1 --- /dev/null +++ b/PowerShell/test.ps1 @@ -0,0 +1,13 @@ +# 送信するJSONデータ +$apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + +$jsonData = @{ + ApiVersion = "1.1" + ApiKey = $apiKey +} | ConvertTo-Json + +$uri = "https://nextoffice.next-hd.co.jp/pleasanter/api/items/376872/get" +$outputFile = "result.txt" + +$response = Invoke-WebRequest -Uri $uri -Method POST -Body $jsonData -ContentType "application/json" -UseBasicParsing +$response.Content | Out-File -FilePath $outputFile -Encoding UTF8 diff --git a/XVBA/.vscode/settings.json b/XVBA/.vscode/settings.json index 77984130..8c44847d 100644 --- a/XVBA/.vscode/settings.json +++ b/XVBA/.vscode/settings.json @@ -1,3 +1,4 @@ { + "files.encoding": "shiftjis", "pleasanter-code-assist.enabled": false } \ No newline at end of file diff --git a/XVBA/マトリックス積算/.vscode/settings.json b/XVBA/マトリックス積算/.vscode/settings.json new file mode 100644 index 00000000..c0ebeb96 --- /dev/null +++ b/XVBA/マトリックス積算/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.encoding": "shiftjis", + "editor.fontFamily": "'HackGen35 Console'", + "editor.tokenColorCustomizations": { + "comments": { + "foreground": "#66ff33", + "fontStyle": "italic underline" + } + }, + "editor.defaultFormatter": "local-smart.excel-live-server", +} \ No newline at end of file diff --git a/XVBA/マトリックス積算/config.json b/XVBA/マトリックス積算/config.json new file mode 100644 index 00000000..3269b67e --- /dev/null +++ b/XVBA/マトリックス積算/config.json @@ -0,0 +1,14 @@ +{ + "app_name": "XVBA", + "description": "", + "author": "", + "email": "", + "create_ate": "Sat Nov 15 2025 09:26:00 GMT+0900 (日本標準時)", + "excel_file": "マトリックス管理テーブル.xlsm", + "vba_folder": "vba-files", + "ribbon_file": "customUI14", + "ribbon_folder": "ribbons", + "logs": "on", + "xvba_packages": {}, + "xvba_dev_packages": {} +} \ No newline at end of file diff --git a/XVBA/マトリックス積算/package.json b/XVBA/マトリックス積算/package.json new file mode 100644 index 00000000..a8deae27 --- /dev/null +++ b/XVBA/マトリックス積算/package.json @@ -0,0 +1,15 @@ +{ + "name": "xvba-app", + "version": "1.0.0", + "description": "A XVBA App", + "main": "index.js", + "author": "LocalSmart", + "license": "ISC", + "dependencies": { + "excel-types": "1.0.0", + "Xlog": "1.0.0" + }, + "devDependencies": { + "@localsmart/xvba-cli": "^1.0.2" + } +} \ No newline at end of file diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls new file mode 100644 index 00000000..34122d33 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls new file mode 100644 index 00000000..26de6af1 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet10" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls new file mode 100644 index 00000000..9a6dee97 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet11" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls new file mode 100644 index 00000000..65530ac4 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet12" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls new file mode 100644 index 00000000..90e7028a --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet13" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls new file mode 100644 index 00000000..bae245ef --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls new file mode 100644 index 00000000..b0b36e83 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet3" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls new file mode 100644 index 00000000..c9ba7ab7 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet4" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls new file mode 100644 index 00000000..256756ea --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet5" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls new file mode 100644 index 00000000..eb370ff4 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet6" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls new file mode 100644 index 00000000..9d6db4a0 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet7" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls new file mode 100644 index 00000000..39390f11 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet8" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls new file mode 100644 index 00000000..c37cda0d --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet9" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls b/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls new file mode 100644 index 00000000..6e197c86 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/マトリックス積算/vba-files/Module/Module1.bas b/XVBA/マトリックス積算/vba-files/Module/Module1.bas new file mode 100644 index 00000000..4d9d28e1 --- /dev/null +++ b/XVBA/マトリックス積算/vba-files/Module/Module1.bas @@ -0,0 +1,306 @@ +Attribute VB_Name = "Module1" +Option Explicit + +Sub ؒPXV}N() + + Dim resp As VbMsgBoxResult + resp = MsgBox("ؒPXgXV܂B낵łH", vbYesNo + vbQuestion, "mF") + If resp <> vbYes Then Exit Sub + + Application.ScreenUpdating = False + ' Ώۃt@C̃pX擾 + Dim fileName As String + fileName = Dir(ThisWorkbook.FullName) + Dim folderPath As String + folderPath = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - Len(fileName)) + Dim targetFileName As String + targetFileName = Range("XVΏۃt@C").Value + Dim targetFilePath As String + targetFilePath = folderPath & targetFileName + + If Dir(targetFilePath) = "" Then + MsgBox "Ώۃt@C‚܂: " & targetFilePath, vbExclamation + Exit Sub + End If + + Dim wb As Workbook + Dim isOpened As Boolean + isOpened = False + For Each wb In Workbooks + If wb.FullName = targetFilePath Then + isOpened = True + Exit For + End If + Next wb + + If Not isOpened Then + MsgBox "Ώۃt@C͊JĂ܂: " & targetFilePath, vbExclamation + Exit Sub + End If + + ' Ώۃt@ČؒPV[ǵuؒPe[uv擾 + Dim wsGenTsubo As Worksheet + Dim ws As Worksheet + Dim tbl As ListObject + Dim tblGenTsubo As ListObject + + Set wsGenTsubo = Nothing + For Each ws In Workbooks(targetFileName).Worksheets + If ws.Name = "ؒP" Then + Set wsGenTsubo = ws + Exit For + End If + Next ws + + If wsGenTsubo Is Nothing Then + MsgBox "ؒPV[g‚܂B", vbExclamation + Exit Sub + End If + + Set tblGenTsubo = Nothing + For Each tbl In wsGenTsubo.ListObjects + Debug.Print tbl.Name + If tbl.Name = "؃e[u" Then + Set tblGenTsubo = tbl + Exit For + End If + Next tbl + + If tblGenTsubo Is Nothing Then + MsgBox "؃e[u‚܂B", vbExclamation + Exit Sub + End If + + ' ɍXVLq + Dim lastRow As Long + Dim i As Long + Dim srcWs As Worksheet + Dim srcRange As Range + + Set srcWs = ThisWorkbook.Worksheets("ؒP") + lastRow = srcWs.Cells(srcWs.Rows.Count, "N").End(xlUp).Row + + For i = 8 To lastRow + Dim findVal As Variant + findVal = srcWs.Cells(i, "N").Value + + Dim tblRow As ListRow + Set tblRow = Nothing + + ' e[u1ڂňvs + Dim r As ListRow + For Each r In tblGenTsubo.ListRows + If r.Range.Cells(1, 1).Value = findVal Then + Set tblRow = r + Exit For + End If + Next r + + If Not tblRow Is Nothing Then + ' T܂ł̒le[uɓ]L + Dim colOffset As Integer + For colOffset = 0 To 8 ' N(14)`W(22) = 9 + tblRow.Range.Cells(1, colOffset + 1).Value = srcWs.Cells(i, 14 + colOffset).Value + Next colOffset + End If + Next i + + Application.ScreenUpdating = True + Workbooks(targetFileName).Save + MsgBox "ؒP̍XV܂B", vbInformation +End Sub + +Sub }gbNXXV}N() + Dim brand As String + Dim kaisu As String + brand = ActiveSheet.Range("C2").Value + kaisu = ActiveSheet.Range("C3").Value + + Dim resp As VbMsgBoxResult + resp = MsgBox(brand & " " & kaisu & " ̃}gbNXzXV܂B낵łH", vbYesNo + vbQuestion, "mF") + If resp <> vbYes Then + Exit Sub + End If + + Application.ScreenUpdating = False + + ' L[擾 + Dim key As Variant + key = ActiveSheet.Range("C4").Value + + ' t@CpX擾 + Dim fileName As String + fileName = Dir(ThisWorkbook.FullName) + Dim folderPath As String + folderPath = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - Len(fileName)) + Dim targetFileName As String + targetFileName = Range("XVΏۃt@C").Value + Dim targetFilePath As String + targetFilePath = folderPath & targetFileName + + If Dir(targetFilePath) = "" Then + MsgBox "Ώۃt@C‚܂: " & targetFilePath, vbExclamation + Exit Sub + End If + + Dim wb As Workbook + Dim isOpened As Boolean + isOpened = False + For Each wb In Workbooks + If wb.FullName = targetFilePath Then + isOpened = True + Exit For + End If + Next wb + + If Not isOpened Then + MsgBox "Ώۃt@C͊JĂ܂: " & targetFilePath, vbExclamation + Exit Sub + End If + + ' Ώۃt@Ću}gbNXvV[g擾 + Dim wsMatrix As Worksheet + Set wsMatrix = Workbooks(targetFileName).Worksheets("}gbNX") + + ' 2sڂL[ + Dim keyCol As Long + keyCol = 0 + Dim col As Long + For col = 1 To wsMatrix.Cells(2, wsMatrix.Columns.Count).End(xlToLeft).Column + If wsMatrix.Cells(2, col).Value = key Then + keyCol = col + Exit For + End If + Next col + + If keyCol = 0 Or keyCol <= 2 Then + MsgBox "L[‚ȂAʒusłB", vbExclamation + Exit Sub + End If + + ' ΏۃV[g3񕪁ikeyCol-2`keyColj6sڂ1000sڂNA + wsMatrix.Range(wsMatrix.Cells(6, keyCol - 2), wsMatrix.Cells(1000, keyCol)).ClearContents + ' XVf[^擾iN7:P܂Łj + ' Dim srcWs As Worksheet + ' Set srcWs = ActiveSheet + ' Dim srcRow As Long + ' srcRow = 7 + 'Do While srcWs.Cells(srcRow, "N").Value <> "" + ' 3񕪂̃f[^]L + ' wsMatrix.Cells(srcRow - 1, keyCol - 2).Value = srcWs.Cells(srcRow, "N").Value + ' wsMatrix.Cells(srcRow - 1, keyCol - 1).Value = srcWs.Cells(srcRow, "O").Value + ' wsMatrix.Cells(srcRow - 1, keyCol).Value = srcWs.Cells(srcRow, "P").Value + ' srcRow = srcRow + 1 + ' Loop + + ' XVf[^擾iN7:P܂Łj + Dim srcWs As Worksheet + Set srcWs = ActiveSheet + Dim srcRow As Long + srcRow = 7 + ' \[Xf[^2zɊi[ + Dim lastSrcRow As Long + lastSrcRow = srcWs.Cells(srcWs.Rows.Count, "N").End(xlUp).Row + If lastSrcRow < srcRow Then + MsgBox "]Lf[^܂B", vbExclamation + Exit Sub + End If + + Dim arrData As Variant + arrData = srcWs.Range("N" & srcRow & ":P" & lastSrcRow).Value + + ' ]L͈͂Ɉꊇ} + wsMatrix.Range(wsMatrix.Cells(srcRow - 1, keyCol - 2), wsMatrix.Cells(srcRow - 1 + UBound(arrData, 1) - 1, keyCol)).Value = arrData + + Application.ScreenUpdating = True + Workbooks(targetFileName).Save + MsgBox "}gbNX̍XV܂B", vbInformation +End Sub + +Sub }gbNX\() + Dim resp As VbMsgBoxResult + resp = MsgBox("̃V[g̃}gbNX\XV܂B낵łH", vbYesNo + vbQuestion, "mF") + If resp <> vbYes Then + Exit Sub + End If + Application.ScreenUpdating = False + + Dim ws As Worksheet + Set ws = ActiveSheet + + Dim comboCount As Long + comboCount = ws.Range("J4").Value + + Dim tbl As ListObject + Set tbl = Nothing + Dim t As ListObject + Dim tableName As String + tableName = ws.Name & "e[u" + For Each t In ws.ListObjects + If t.Name = tableName Then + Set tbl = t + Exit For + End If + Next t + + If tbl Is Nothing Then + MsgBox "e[uu" & tableName & "v‚܂B", vbExclamation + Exit Sub + End If + + Dim lastNum As Long + lastNum = 0 + Dim r As ListRow + Dim delStartRow As Long + delStartRow = 0 + For Each r In tbl.ListRows + Dim numVal As Variant + numVal = r.Range.Cells(1, 1).Value + If IsNumeric(numVal) Then + If numVal > lastNum Then + lastNum = numVal + End If + If numVal = comboCount + 1 Then + delStartRow = r.Index + End If + End If + Next r + + If comboCount < lastNum Then + ' ]ȍsNA + If delStartRow > 0 Then + tbl.DataBodyRange.Rows(delStartRow & ":" & tbl.ListRows.Count).Delete + End If + + Elseif comboCount > lastNum Then + ' sRs[đ₷iێA7ڂ͒l1Œj + Dim baseRow As ListRow + Set baseRow = Nothing + For Each r In tbl.ListRows + If IsNumeric(r.Range.Cells(1, 1).Value) Then + If r.Range.Cells(1, 1).Value = lastNum Then + Set baseRow = r + Exit For + End If + End If + Next r + + If Not baseRow Is Nothing Then + Dim i As Long + For i = lastNum + 1 To comboCount + Dim newRow As ListRow + Set newRow = tbl.ListRows.Add + baseRow.Range.Copy + newRow.Range.PasteSpecial xlPasteFormulasAndNumberFormats + newRow.Range.Cells(1, 1).Value = i + newRow.Range.Cells(1, 7).Value = 1 ' 7ڂ͒l1Œ + Next i + Application.CutCopyMode = False + End If + End If + + Application.ScreenUpdating = True + ActiveWorkbook.Save + MsgBox "}gbNX\̍XV܂B", vbInformation + +End Sub diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md new file mode 100644 index 00000000..f1f3ad96 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog +## Xdebug (Under Construction) + +- This package provides a way to simulate VBA Immediate Window in Output VSCode window + +## [1.0.0b0] - 2020-09-16 +### Added + - Create XDebug.printx + - Create XDebug.printError + + + + \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md b/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md new file mode 100644 index 00000000..9d8b74f0 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md @@ -0,0 +1,58 @@ +# Xdebug (VBA Immediate Window in Output VSCode Window) + +## Description + - This package provides a way to simulate VBA Immediate Window in Output VSCode window + - Find the Output window (VBA Immediate Window) + + ## Methods + +

+VBA immediate Window +

+ + + ### Xdebug.printx + +- This method print any type os variable + + +``` + +Public Sub index() + + + Dim test(1) As Variant + + 'Add an Object + Set test(0) = Sheets(1) + 'Add a String + test(1) = "Test Xdebug Output" + + Xdebug.printx test + +End Sub + +``` + + + ### Xdebug.printError + +- This method is use for print error + + +``` + Public Sub index() + + On Error GoTo ErrorHandle: + 'throw an error + d = 1/0 + 'Your code here + + + ErrorHandle: + Xdebug.errorSource = "pageConsoller.index" + Xdebug.printError + + End Sub +``` + diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls b/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls new file mode 100644 index 00000000..0856356e --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls @@ -0,0 +1,241 @@ +VERSION 1.0 CLASS +BEGIN +MultiUse = -1 'True +END +Attribute VB_Name = "Xdebug" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False + +'namespace=xvba_modules\Xdebug + +Public env As String + +'Example of Package Create by XVBA-CLI + +Private OS_TMP__FOLDER_PATH As String + +Private IMMEDIATE_FOLDER As String + +Private IMMEDIATE_FILE As String + +Private DEBUG_FILE_PATH As String + +Const EMPTY_TYPE = 0 +Const NULL_TYPE = 1 +Const ERROR_TYPE = 10 +Const INTEGER_TYPE = 2 +Const LONG_TYPE = 3 +Const SINGLE_TYPE = 4 +Const DOUBLE_TYPE = 5 +Const CURRENCY_TYPE = 6 +Const DATE_TYPE = 7 +Const DECIMAL_TYPE = 14 +Const LONG_LONG_TYPE = 20 +Const BOOLEAN_TYPE = 11 +Const STRING_TYPE = 8 +Const ARRAY_TYPE = 8204 +Const OBJECT_TYPE = 9 +Const VARIANT_TYPE = 12 +Const DATA_OBJECT_TYPE = 13 +Private Const MESSAGE_SPACE = " " + +Public errorSource As String +Public errorTitle As String + +'/* +'Flag for Actrive os Deactive VBA Debug.Print +'*/ +Public vbaDebugPrintActive As Boolean + +Private Sub class_initialize() + + Dim fso As Object + Set fso = CreateObject("Scripting.FileSystemObject") + OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2) + IMMEDIATE_FOLDER = "xvba_immediate" + IMMEDIATE_FILE = "immediate.txt" + vbaDebugPrintActive = True + errorSource = "" + errorTitle = "XVBA: New Error Was Found" + env = "DEV" + + DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE + +End Sub + + + + +Public Function printx(inputValue As Variant,Optional messageType As Integer = 1) + + if(env="DEV") Then + Dim messageText As String + + messageText = createOutputMessage(inputValue) + + Call writeDebugFileContent(messageText,messageType) + End If +End Function + +'/* +'Print A Error +' +'*/ +Public Function printError() + if(env="DEV") Then + + Dim message As String + + message = ErrorHanddler() + + Call writeDebugFileContent(message,0) + + End If +End Function + + +'/* +' +'Write Debug ino on File +' +' +'*/ +Private Function writeDebugFileContent(messageText,messageType) + + Dim filePath As String + Dim FileNum As Integer + Dim PREFIX As String + + filePath = DEBUG_FILE_PATH + + FileNum = FreeFile + + PREFIX = Now & " - " + + Open filePath For Append As #FileNum + + Dim debugMessage As String + Select Case messageType + + Case 0 'Error Message + + debugMessage= PREFIX & "Error:" & messageText + Case 1 'Success + debugMessage= PREFIX & messageText + Case Else 'No Type Set + + debugMessage= PREFIX & "Info:" & messageText + End Select + + Print #FileNum,debugMessage + + Close #FileNum + + If (vbaDebugPrintActive) Then + + Debug.Print debugMessage + + End If +End Function + + +Private Function createOutputMessage(inputValue) As String + + Dim typeOfVar As Integer + Dim response As String + + typeOfVar = VarType(inputValue) + + + 'Set Error Source Macro/Function name + Err.Source="createOutputMessage" + Select Case typeOfVar + Case STRING_TYPE + response = "String: " & inputValue + Case INTEGER_TYPE + response = "Integer: " & CStr(inputValue) + Case LONG_TYPE + response = "Long: " & CStr(inputValue) + Case SINGLE_TYPE + response = "Single: " & CStr(inputValue) + Case DOUBLE_TYPE + response = "Double: " & CStr(inputValue) + Case CURRENCY_TYPE + response = "Currenty: " & CStr(inputValue) + Case DATE_TYPE + response = "Date: " & CStr(inputValue) + Case DECIMAL_TYPE + response = "Decimal: " & CStr(inputValue) + Case LONG_LONG_TYPE + response = "LongLong: " & CStr(inputValue) + Case BOOLEAN_TYPE + response = "Boolean: " & CStr(inputValue) + Case ARRAY_TYPE + response = makeArrayTypeMessage(inputValue) + Case EMPTY_TYPE + response = "Empty: " + Case OBJECT_TYPE + response = "Object: " & TypeName(inputValue) + Case NULL_TYPE + response = "Null: " + Case ERROR_TYPE + response = "Error: " + Case VARIANT_TYPE + response = "Variant: " + Case DATA_OBJECT_TYPE + response = "Data Object: " & TypeName(inputValue) + Case Else + response = "Type Not Supported yet please inform xvba developer " + Debug.Print typeOfVar + Debug.Print inputValue + + End Select + + + createOutputMessage = response + +End Function + + +Private Function makeArrayTypeMessage(inputValue)As String + Dim nextItem As Variant + Dim response As String + Dim message As String + + For Each nextItem In inputValue + message = createOutputMessage(nextItem) + response = response & " [ " & message & " ]" & vbCrLf + Next nextItem + makeArrayTypeMessage = "Array: " & vbCrLf & response +End Function + + + +Private Function ErrorHanddler() As String + Dim errorDescription As String + Dim numberDescription As String + Dim lineError As String + Dim sourceError As String + Dim errorTitleMsg As String + Dim errorSourceMsg As String + + errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle + errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource + + + Select Case Err.Number + Case 11 + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + Case Else + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + End Select + + + ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription + +End Function \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif b/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif new file mode 100644 index 00000000..dd641693 Binary files /dev/null and b/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif differ diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json b/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json new file mode 100644 index 00000000..4a1da537 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "Xdebug", + "version": "1.0.0", + "author": "Alberto Edaurdo", + "email": "alberto.aeraphe@gmail.com", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/xdebug.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "www.xvba.dev" +} \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md b/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md new file mode 100644 index 00000000..39a71ff4 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +## excel@types (Under Construction) + +- This package provides a way to use auto-complete for excel class + + + + \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/README.md b/XVBA/マトリックス積算/xvba_modules/excel-types/README.md new file mode 100644 index 00000000..dcf0411e --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/README.md @@ -0,0 +1,51 @@ +# Excel VBA type Definitions Package (excel-types) + + - This package provides a way to use auto-complete for Excel VBA Class + - You can Create your own vba type definition packages our update this. + - Type definition packages are named like: name-types + - The packages are store in www.xvba.dev + - Ech excel vba class has your own file definition + - The files extension has to be filename.d.vb + - Auto-complete just expose Public types + + +## Create,install and share VBA Packages With Xvba-cli and Xvba Repository: + +- Xvba Repository : www.xvba.dev +- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli + +## Install + +- For instal excel-types just use XVBA-CLI install command + +``` + npx xvba install excel-types +``` +## Comments Block + +- Use comments blocks below for documenting class/methods/Subs/Functions/Properties +- The comments blocs has to start with '/* and ends with '*/ + +``` + +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +``` + +``` +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +``` \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb new file mode 100644 index 00000000..af74a242 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb @@ -0,0 +1,147 @@ +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +'/* +'Returns an object that represents the active sheet (the sheet on top) +'in the active workbook or in the specified window or workbook. +'Returns Nothing if no sheet is active. +' +'*/ +Public Property ActiveSheet As Worksheet + +'/* +'Returns a Workbook object that represents the workbook in the +'active window (the window on top). +'Returns Nothing if there are no windows open or if either +'the Info window or the Clipboard window is the active window. Read-only. +' +' +'*/ +Public Property ActiveWorkbook As Workbook + +'/* +'True if Microsoft Excel displays certain alerts and messages while +'a macro is running. Read/write Boolean. +' +'Example +'Application.DisplayAlerts = False +'Workbooks("BOOK1.XLS").Close +'Application.DisplayAlerts = True +' +'*/ +Public Property DisplayAlerts As Boolean + + +'/* +'Returns or sets an XlCalculation value that represents the calculation mode. +' +'Example +'Application.Calculation = xlCalculationManual +'Application.Calculation = xlAutomatic +' +'@type {XlCalculation} +'*/ +Public Property Calculation As XlCalculation + +'/* +'True if events are enabled for the specified object. Read/write Boolean. +' +'@type {Boolean} +'*/ +Public Property EnableEvents As Boolean + +'/* +'True if screen updating is turned on. Read/write Boolean. +'@type {Boolean} +'*/ +Public Property ScreenUpdating As Boolean + + +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +'/* +'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet). +'An embedded chart is considered active when it's either selected or activated. When no chart is active, +'this property returns Nothing. +' +'Example: +'ActiveChart.HasLegend = True +' +'@type {Object.} +'*/ +Public Property ActiveChart As Chart + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property ThisWorkbook As Workbook + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property Workbooks As Workbooks + +'/* +'Activates a Microsoft application. If the application is already running, +'this method activates the running application. +'If the application isn't running, this method starts a new instance of the application. +' +'Example: (This example starts and activates Word.) +' +'Application.ActivateMicrosoftApp xlMicrosoftWord +' +'@param {XlMSApplication} index +'*/ +Public Sub ActivateMicrosoftApp( index As XlMSApplication) + +End Sub + +'/* +'An event occurs when all pending refresh activity (both synchronous and asynchronous) +'and all of the resultant calculation activities have been completed. +' +'*/ +Public Event AfterCalculate() + +'/* +'Occurs when a new workbook is created. +' +'Example: +' +'Private Sub App_NewWorkbook(ByVal Wb As Workbook) +'Application.Windows.Arrange xlArrangeStyleTiled End Sub +' +'@param {Workbook} Wb +'*/ +Public Event NewWorkbook(ByVal Wb As Workbook) + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb new file mode 100644 index 00000000..6a580711 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb @@ -0,0 +1,109 @@ + + + +'/* +' +' +' +'/* +Public Class Scripting() + + +'/* +' +'Object that stores data key/item pairs. +' +'/* +Public Function Dictionary() + +End Function + +'/* +' +'Adds a new key/item pair to a Dictionary object. +' +'*/ +Public Sub Add() + +End Sub + +'/* +' +'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object. +' +'*/ +Public Sub Exists() + +End Sub + +'/* +' +'Returns an array of all the items in a Dictionary object. +' +'*/ +Public Sub Items() + +End Sub + +'/* +' +'Returns an array of all the keys in a Dictionary object. +' +'*/ +Public Sub Keys() + +End Sub + +'/* +' +'Removes one specified key/item pair from the Dictionary object. +' +'*/ +Public Sub Remove() + +End Sub + +'/* +' +'Removes all the key/item pairs in the Dictionary object. +' +'*/ +Public Sub RemoveAll() + +End Sub + + + +'/* +'Sets or returns the comparison mode for comparing keys in a Dictionary object. +' +' +'*/ +Public Property CompareMode As Variant + + +'/* +'Returns the number of key/item pairs in a Dictionary object. +' +' +'*/ +Public Property Count As Long + + +'/* +'Sets or returns the value of an item in a Dictionary object. +' +' +'*/ +Public Property Item As Variant + +'/* +'Sets a new key value for an existing key value in a Dictionary object. +' +' +'*/ +Public Property Key As Variant + + + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb new file mode 100644 index 00000000..7115cac1 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb @@ -0,0 +1,30 @@ +'/* +'Contains information about run-time errors. +' +' +'*/ +Public Class Err() + +'/* +'Returns or sets a string expression containing a +'descriptive string associated with an object. Read/write. +' +'*/ +Public Property Description As String + +'/* +'Returns or sets a numeric value specifying an error. +'Number is the Err object's default property. Read/write. +' +'*/ +Public Property Number As Integer + + +'/* +'Returns or sets a string expression specifying the name of +'the object or application that originally generated the error. Read/write. +' +'*/ +Public Property Source As String + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb new file mode 100644 index 00000000..38aba162 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb @@ -0,0 +1,547 @@ + +'/* +'[Conversion Func] +' +'*/ +Function Asc() +End Function + +'/* +'[Conversion Func] +'Returns a String containing the character associated +'with the specified character code. +' +'Example: +' +'Dim MyChar +'MyChar = Chr(65) ' Returns A. +'MyChar = Chr(97) ' Returns a. +'MyChar = Chr(62) ' Returns >. +'MyChar = Chr(37) ' Returns %. +'*/ +Function Chr() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Format() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Hex() +End Function + + +'/* +'[Conversion Func] +' +'*/ +Function Oct() +End Function + + +'/* +'[Conversion Func] +'Returns a Variant (String) representation of a number. +' +'Example: +'Dim MyString +'MyString = Str(459) ' Returns " 459". +'MyString = Str(-459.65) ' Returns "-459.65". +'MyString = Str(459.001) ' Returns " 459.001". +' +'*/ +Function Str() As Variant +End Function + + +'/* +'[Conversion Func] +'Returns the numbers contained in a string as +'a numeric value of appropriate type. +' +'Example: +' +'Dim MyValue +'MyValue = Val("2457") ' Returns 2457. +'MyValue = Val(" 2 45 7") ' Returns 2457. +'MyValue = Val("24 and 57") ' Returns 24. +'*/ +Function Val(String) +End Function + + + +Function CreateObject() +End Function + + +Function CurDir() +End Function + +'/* +'Returns a Variant (Date) containing the current system date. +' +'Example +' +'Dim MyDate +'MyDate = Date ' MyDate contains the current system date. +' +'*/ +Function Date() + +End Function + + + +Function DateDiff() +End Function + +Function DatePart() +End Function + +Function DateSerial() +End Function + +Function Day() +End Function + +Function DDB() +End Function + +Function Dir() +End Function + +Function DoEvents() +End Function + +Function Environ() +End Function + +Function EOF() +End Function + +Function Error() +End Function + + +Function FileAttr() +End Function + +Function FileDateTime() +End Function + +Function FileLen() +End Function + +Function Filter() +End Function + +Function FormatCurrency() +End Function + +Function FormatDateTime() +End Function + +Function FormatNumber() +End Function + +Function FormaPercent() +End Function + + +Function FreeFile() +End Function + +Function FV() +End Function + +Function GetAllSettings() +End Function + +Function GetAttr() +End Function + +Function GetObject() +End Function + +Function GetSetting() +End Function + + +Function Hour() +End Function + +Function IIf() +End Function + +Function IMEStatus() +End Function + +Function Input() +End Function + +Function InputBox() +End Function + +Function InStr() +End Function + +Function InStrRev() +End Function + +Function IPmt() +End Function + + + +Function IRR() +End Function + +Function IsArray() +End Function + +Function IsDate() +End Function + +'/* +' +'Returns a Boolean value indicating whether a variable has been initialized. +' +'*/ +Function IsEmpty() +End Function + + +Function IsError() +End Function + +Function IsMissing() +End Function + +Function IsNull() +End Function + +Function IsNumeric() +End Function + + +Function IsObject() +End Function + +'/* +'Returns a string created by joining a number of substrings contained in an array. +' +'*/ +Function Join() +End Function + + + +Function LBound() +End Function + +Function LCase() +End Function + +Function Left() +End Function + +Function Len() +End Function + + +Function Loc() +End Function + +Function LOF() +End Function + +Function LTrim() +End Function + +Function RTrim() +End Function + +Function Trim() +End Function + + +Function MacID() +End Function + + + +Function MacScript() +End Function + +'/* +'[Math Function] +'Returns a value of the same type that is passed to it specifying the absolute value of a number. +' +'*/ +Function Abs() +End Function + +'/* +'[Math Function] +'Returns a Double specifying the arctangent of a number. +' +'*/ +Function Atn() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Cos() +End Function + +'/* +'[Math Function] +' +'*/ +Function Exp() +End Function + +'/* +'[Math Function] +' +'*/ +Function Int() +End Function + +'/* +'[Math Function] +' +'*/ +Function Fix() +End Function + +'/* +'[Math Function] +' +'*/ +Function Log() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Rnd() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sgn() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sin() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sqr() +End Function + +'/* +'[Math Function] +' +'*/ +Function Tan() +End Function + + + +Function Mid() +End Function + + +Function Minute() +End Function + + +Function MIRR() +End Function + + +Function Month() +End Function + +Function MonthName() +End Function + +'/* +'Displays a message in a dialog box, waits for the user to click a button, +'and returns an Integer indicating which button the user clicked. +' +'*/ +Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ]) +End Function + + +Function Now() +End Function + + +Function NPer() +End Function + + +Function NPV() +End Function + +Function PPmt() +End Function + + +Function QBColor() +End Function + + +Function Rate() +End Function + +'/* +'Returns a string, which is a substring of a string +'expression beginning at the start position (defaults to 1), +'in which a specified substring has been replaced with another +'substring a specified number of times. +' +'*/ +Function Replace(expression, find, replace, [ start, [ count, [ compare ]]]) +End Function + +Function RGB() +End Function + + +Function Right() +End Function + + +Function Round() +End Function + + +Function Second() +End Function + + + +Function Seek() +End Function + + +Function Shell() +End Function + + +Function SNL() +End Function + + +Function Space() +End Function + + +Function Spc() +End Function + + +Function Split() +End Function + + +Function StrComp() +End Function + + + +Function StrConv() +End Function + + +Function String() +End Function + + +Function StrReverse() +End Function + + + +Function Switch() +End Function + + +Function SYD() +End Function + + +Function Tab() +End Function + + +Function Time() +End Function + + + +Function Timer() +End Function + + +Function TimeSerial() +End Function + + +Function TimeValue() +End Function + + + +Function TypeName() +End Function + + +Function UBound() +End Function + + +Function Ucase() +End Function + + +Function VarType() +End Function + + + +Function Weekday() +End Function + + +Function WeekdayName() +End Function + + +Function Year() +End Function \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb new file mode 100644 index 00000000..92a9c7d7 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb @@ -0,0 +1,625 @@ +'/* +'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range. +' +' +'*/ +Public Class Range() + +'/* +'(Range) +' +'Activates a single cell, which must be inside the current selection. +'To select a range of cells, use the Select method., +' +'Example +' +'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell. +' +' Worksheets("Sheet1").Activate +' Range("A1:C3").Select +' Range("B2").Activate +' +'*/ +Public Sub Activate() + +End Sub + + +'/* +'Adds a comment to the range. +' +'Example: +' +'Worksheets(1).Range("E5").AddComment "Current Sales" +' +'@param {String} text +'*/ +Public Sub AddComment(text As String) + +End Sub + +Public Sub AddCommentThreaded() + +End Sub + +Public Sub AdvancedFilter() + +End Sub + +Public Sub AllocateChanges() + +End Sub + +Public Sub ApplyName() + +End Sub + +Public Sub ApplyOutLineStyles() + +End Sub + +Public Sub AutoComplete() + +End Sub + +Public Sub AutoFill() + +End Sub + +Public Sub AutoFilter() + +End Sub + +Public Sub AutioFit() + +End Sub + +Public Sub AutoOutline() + +End Sub + +Public Sub BorderAround() + +End Sub + +Public Sub Calculate() + +End Sub + +Public Sub CalculateRowMajorOrder() + +End Sub + +Public Sub CheckSpelling() + +End Sub + +Public Sub Clear() + +End Sub + +Public Sub ClearComments() + +End Sub + +Public Sub ClearContents() + +End Sub + +Public Sub ClearFormats() + +End Sub + +Public Sub ClearHyperlinks() + +End Sub + +Public Sub ClearNotes() + +End Sub + +Public Sub ClearOutline() + +End Sub + +Public Sub ColumnDifferences() + +End Sub + +Public Sub Consolidate() + +End Sub + +Public Sub ConvertToLinkedDataType() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub CopyFromRecordset() + +End Sub + +Public Sub CopyPicture() + +End Sub + +Public Sub CreateNames() + +End Sub + +Public Sub Cut() + +End Sub + +Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend) + +End Function + +Public Function DataTypeToText() + +End Function + +Public Function Delete (Shift) + +End Function + +Public Function DialogBox() + +End Function + +Public Function Dirty() + +End Function +Public Function DiscardChanges() + +End Function +Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format) + +End Function +Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) + +End Function +Public Function FillDown() + +End Function +Public Function FillLeft() + +End Function + +Public Function FillRight() + +End Function + +Public Function FillUp() + +End Function + +Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) + +End Function + +Public Function FindNext (After) + +End Function + +Public Function FindPrevious (Before) + +End Function + +Public Function FlashFill () + +End Function + + +Public Function FunctionWizard () + +End Function + + +Public Function Group (Start, End, By, Periods) + +End Function + +Public Function Insert (Shift, CopyOrigin) + +End Function + + +Public Function InsertIndent (InsertAmount) + +End Function + + +Public Function Justify() + +End Function + + +Public Function ListNames() + +End Function + +Public Function Merge(Across) + +End Function + +Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber) + +End Function + +Public Function NoteText(Text, Start, Length) + +End Function + +Public Function Parse(ParseLine, Destination) + +End Function + +Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose) + +End Function + + +Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) + +End Function + +Public Function PrintPreview(EnableChanges) + +End Function + +Public Function RemoveDuplicates(Columns , Header) + +End Function + +Public Function RemoveSubtotal() + +End Function + + +Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) + +End Function + + +Public Function RowDifferences(Comparison) + +End Function + +Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...) + +End Function + +Public Function Select() + +End Function + +Public Function SetCellDataTypeFromCell(Range, LanguageCulture) + +End Function + + +Public Function SetPhonetic() + +End Function + + +Public Function Show() + +End Function + + +Public Function ShowCard() + +End Function + + +Public Function ShowDependents(Remove) + +End Function + + +Public Function ShowErrors() + +End Function + + +Public Function ShowPrecedents(Remove) + +End Function + + +Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3) + +End Function + + +Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3) + +End Function + +Public Function Speak(SpeakDirection, SpeakFormulas) + +End Function + + +Public Function SpecialCells(Type, Value) + +End Function + +Public Function SubscribeTo(Edition, Format) + +End Function + +Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData) + +End Function + + +Public Function Table(RowInput, ColumnInput) + +End Function + + +Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers + +End Function + + +Public Function Ungroup() + +End Function + + +Public Function UnMerge() + +End Function + +Public Property AddIndent As Variant + +Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant +End Function + +Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range +End Function + +Public Property Application As Application + +Public Property Areas As Areas + +Public Property Borders As Variant + +Public Property Cells As Range + +Public Function Characters(Start, Length) As Variant +End Function + +Public Property Column As Long + +Public Property Columns As Long + +Public Property ColumnWidth As Variant + +Public Property Comment As Variant + +Public Property CommentThreaded As Variant + + +Public Property Count As Long + + +Public Property CountLarge As Variant + + +Public Property Creator As Integer + + +Public Property CurrentArray As Range + +'/* +'Returns a Range object that represents the current region. +'The current region is a range bounded by any combination of blank rows and blank columns. Read-only. +' +'Example +'Worksheets("Sheet1").Activate +'ActiveCell.CurrentRegion.Select +'*/ +Public Property CurrentRegion As Range + +Public Property Dependents As Range + +Public Property DirectDependents As Range + +Public Property DirectPrecedents As Range + +Public Property DisplayFormat As Object + + +Public Function End(Direction) As Object +End Function + +Public Property EntireColumn As Range + + +Public Property EntireRow As Range + + +Public Property Errors As Errors + + +Public Property Font As Font + + +Public Property FormatConditions As Range + +Public Property Formula As Variant + +Public Property FormulaArray As Variant + +Public Property FormulaHidden As Variant + + +Public Property FormulaLocal As Object + +Public Property FormulaR1C1 As Varaint + +Public Property FormulaR1C1Local As Varaint + +Public Property HasArray As Varaint + +Public Property HasFormula As Varaint + +Public Property HasRichDataType As Varaint + +Public Property Height As Double + +Public Property Hidden As Variant + +Public Property HorizontalAlignment As Variant + +Public Property Hyperlinks As Object + +Public Property ID As String + +Public Property IndentLevel As Variant + +Public Property Interior As Double + +Public Function Item (RowIndex, ColumnIndex) As Range +End Function + + +Public Property Left As Variant + + +Public Property LinkedDataTypeState As Variant + +Public Property ListHeaderRows As Variant + + +Public Property ListObject As Object + +Public Property LocationInTable As Variant + +Public Property Locked As Variant + +Public Property MDX As String + +Public Property MergeArea As Range + +Public Property MergeCells As Boolean + +Public Property Name As Variant + +Public Property Next As Range + +Public Property NumberFormat As Variant + +Public Property NumberFormatLocal As Variant + +Public Function Offset (RowOffset, ColumnOffset) As Range + +End Function + + +Public Property Orientation As Variant + +Public Property OutlineLevel As Variant + +Public Property PageBreak As Variant + +Public Property Parent As Variant + +Public Property Phonetic As Variant + +Public Property Phonetics As Variant + +Public Property PivotCell As Variant + + +Public Property PivotField As Variant + + +Public Property PivotItem As Variant + +Public Property PivotTable As Variant + +Public Property Precedents As Range + +Public Property PrefixCharacter As Variant + + +Public Property Previous As Range + +Public Property QueryTable As Variant + +Public Function Range (Cell1, Cell2) As Range +End Function + +Public Property ReadingOrder As Variant + +Public Function Resize (RowSize, ColumnSize) As Range +End Function + + +Public Property Row As Long + +Public Property RowHeight As Double + +Public Property Rows As Range + +Public Property ServerActions As Variant + + +Public Property ShowDetail As Variant + + +Public Property ShrinkToFit As Variant + + +Public Property SoundNote As Variant + + +Public Property SparklineGroups As Variant + + +Public Property Style As Variant + +Public Property Summary As Variant + + +Public Property Text As String + +Public Property Top As Variant + +Public Property UseStandardHeight As Variant + +Public Property UseStandardWidth As Variant + +Public Property Validation As Variant + +Public Function Value (RangeValueDataType) As Variant +End Function + +Public Property Value2 As Variant + + +Public Property VerticalAlignment As Variant + +Public Property Width As Double + + + +Public Property Worksheet As Worksheet + + +Public Property WrapText As Variant + +Public Property XPath As XPath + + + +End Class diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb new file mode 100644 index 00000000..55764e2b --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb @@ -0,0 +1,157 @@ +'/* +'Represents a Microsoft Excel workbook. +' +' +'*/ +Public Class Workbook() + +'/* +'Returns a String that represents the complete path to the +'workbook/file that this workbook object represents. +' +'*/ +Public Property Path As String + + +Public Property Worksheets As Worksheet + +'/* +'True if a backup file is created when this file is saved. Read-only Boolean. +' +'@type {Boolean} +'*/ +Public Property CreateBackup As Boolean + +'/* +'Returns a String value that represents the name of the object. +' +'@type {Boolean} +'*/ +Public Property Name As String + +'/* +'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean. +' +'Example: +'If Not ActiveWorkbook.Saved Then +' MsgBox "This workbook contains unsaved changes." +'End If +' +'@type {Boolean} +'*/ +Public Property Saved As String + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + + +'/* +' +'Activates the first window associated with the workbook. +' +'*/ +Public Function Activate() + +End Function + +'/* +' +'Closes the object. +' +'Example +' +'Workbooks("BOOK1.XLS").Close SaveChanges:=False +' +'@param {Variant} SaveChanges:[Optional] True or false +'@param {Variant} FileName:[Optional] Saves changes under this file name. +'@param {Variant} RouteWorkbook:[Optional] True or False +'*/ +Public Function Close(SaveChanges,FileName,RouteWorkbook) + +End Function + +'/* +'Saves changes to the specified workbook. +'*/ +Public Function Save() + +End Function + +'/* +'Saves changes to the workbook in a different file. +' +'@param {Variant} FileName:[Optional] +'@param {Variant} FileFormat:[Optional] +'@param {Variant} Password:[Optional] +'@param {Variant} WriteResPassword:[Optional] +'@param {Variant} ReadOnlyRecommended:[Optional] +'@param {Variant} CreateBackup:[Optional] +'@param {Variant} AccessMode:[Optional] +'@param {Variant} ConflictResolution:[Optional] +'@param {Variant} AddToMru:[Optional] +'@param {Variant} TextCodepage:[Optional] +'@param {Variant} TextVisualLayout:[Optional] +'@param {Variant} Local:[Optional] +'*/ +Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local) + +End Function + + +'/* +'Exports the data that has been mapped to the specified XML schema map to an XML data file. +' +'@param {String} FileName:[Required] +'@param {XmlMap} Map:[Required] +'*/ +Public Function SaveAsXMLData(FileName, Map) + +End Function + + +'/* +'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory. +' +'Example +'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS" +' +'@param {Variant} FileName:[Required] +'*/ +Public Function SaveCopyAs(FileName, Map) + +End Function + +'/* +'Sends the workbook by using the installed mail system. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +' +'@param {Variant} Recipients:[Required] +'@param {Variant} Subject:[Optional] +'@param {Variant} ReturnReceipt:[Optional] +'*/ +Public Function SendMail(Recipients, Subject, ReturnReceipt) + +End Function + +'/* +' +'The ExportAsFixedFormat method is used to publish +'a workbook to either the PDF or XPS format. +' +'*/ +Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) +End Function + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb new file mode 100644 index 00000000..07f71c5f --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb @@ -0,0 +1,109 @@ +'/* +'A collection of all the Workbook objects that are currently open in the Microsoft Excel application. +' +'*/ +Public Class Workbooks() + +'/* +'Creates a new workbook. The new workbook becomes the active workbook. +' +'@param {Variant} Template:[Optional] Determines how the new workbook is created. +'If this argument is a string specifying the name of an existing Microsoft Excel file, +'the new workbook is created with the specified file as a template. +'*/ +Public Function Add(Template) + +End Function + + +'/* +'True if Microsoft Excel can check out a specified workbook from a server. +'Read/write Boolean. +' +'@param {String} FileName:[Required] The name of the file to check out. +' +'*/ +Public Function CanCheckOut (FileName) + +End Function + + +Public Function CheckOut (FileName) + +End Function + + +Public Function Close () + +End Function + +'/* +' +'Opens a workbook. +' +'Example +'Workbooks.Open "ANALYSIS.XLS" +'ActiveWorkbook.RunAutoMacros xlAutoOpen +'*/ +Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook + +End Function + +'/* +'Returns a Workbook object representing a database. +'*/ +Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs) + +End Function + + +'/* +'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data. +'*/ +Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local) + +End Function + +'/* +'Opens an XML data file. Returns a Workbook object. +'*/ +Public Function OpenXML (FileName, Stylesheets, LoadOption) + +End Function + + +'/* +'When used without an object qualifier, this property returns an +'Application object that represents the Microsoft Excel application. +' +'*/ +Public Property Application As Application + + +'/* +'Returns a Long value that represents the number of objects in the collection. +' +'*/ +Public Property Count As Long + +'/* +'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long. +' +'*/ +Public Property Creator As Integer + + + +'/* +'Returns a single object from a collection. +' +'*/ +Public Property Item(Index) As Object + +'/* +'Returns the parent object for the specified object. Read-only. +' +'*/ +Public Property Parent As Object + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb new file mode 100644 index 00000000..24a02271 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb @@ -0,0 +1,86 @@ +'/* +'Represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheet() + + +'/* +'Makes the current sheet the active sheet. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +'*/ +Public Sub Activate() + +End Sub + + +Public Sub Calculate() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub Past() + +End Sub + +Public Sub PastSpecial() + +End Sub + +Public Sub Select() +End Sub + +Public Sub SaveAs() + +End Sub + +'/* +' +'Returns a Range object that represents a cell or a range of cells. +' +'Example: +' +'Worksheets("Sheet1").Range("A1").Value = 3.14159 +' +'*/ +Public Property Range As Range + + +'/* +' +'Returns a Range object that represents all the rows on the specified worksheet. +' +'Example: +' +'Worksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Row As Range + + +'/* +' +'Returns a Long value that represents the index number of the +'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Index As Long + + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb new file mode 100644 index 00000000..7d775495 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb @@ -0,0 +1,54 @@ +'/* +'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheets() + +'/* +'Constructor +' +'*/ +Public Sub New(Name As String) As Worksheet + +End Sub + +Public Sub Add() + +End Sub + + +Public Sub Add2() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub FillAcrossSheets() + +End Sub + +Public Sub PrintOut() + +End Sub + +Public Sub PrintPreview() +End Sub + +Public Sub Select() + +End Sub + +End Class \ No newline at end of file diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json b/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json new file mode 100644 index 00000000..2fb972d9 --- /dev/null +++ b/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "excel-types", + "version": "1.0.0", + "author": "Alberto Oliveira", + "email": "alberto.aeraph@gmail.comn", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/excel-types.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "https://github.com/Aeraphe/xvba-cli" +} \ No newline at end of file diff --git a/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx b/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx new file mode 100644 index 00000000..ef4eca64 Binary files /dev/null and b/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx differ diff --git a/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm new file mode 100644 index 00000000..b02fdbd8 Binary files /dev/null and b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm differ diff --git a/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm new file mode 100644 index 00000000..045dc935 Binary files /dev/null and b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm differ diff --git a/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm b/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm new file mode 100644 index 00000000..ab0a5d23 Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm differ diff --git a/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm b/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm new file mode 100644 index 00000000..09e1ad5e Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm differ diff --git a/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm b/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm new file mode 100644 index 00000000..7edfb609 Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm differ diff --git a/XVBA/久保ファイル/.vscode/settings.json b/XVBA/久保ファイル/.vscode/settings.json new file mode 100644 index 00000000..c0ebeb96 --- /dev/null +++ b/XVBA/久保ファイル/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.encoding": "shiftjis", + "editor.fontFamily": "'HackGen35 Console'", + "editor.tokenColorCustomizations": { + "comments": { + "foreground": "#66ff33", + "fontStyle": "italic underline" + } + }, + "editor.defaultFormatter": "local-smart.excel-live-server", +} \ No newline at end of file diff --git a/XVBA/久保ファイル/config.json b/XVBA/久保ファイル/config.json new file mode 100644 index 00000000..c06fe211 --- /dev/null +++ b/XVBA/久保ファイル/config.json @@ -0,0 +1,14 @@ +{ + "app_name": "XVBA", + "description": "", + "author": "", + "email": "", + "create_ate": "Thu Dec 11 2025 13:26:38 GMT+0900 (日本標準時)", + "excel_file": "久保ファイル_v1.3.xlsm", + "vba_folder": "vba-files", + "ribbon_file": "customUI14", + "ribbon_folder": "ribbons", + "logs": "on", + "xvba_packages": {}, + "xvba_dev_packages": {} +} \ No newline at end of file diff --git a/XVBA/久保ファイル/package.json b/XVBA/久保ファイル/package.json new file mode 100644 index 00000000..a8deae27 --- /dev/null +++ b/XVBA/久保ファイル/package.json @@ -0,0 +1,15 @@ +{ + "name": "xvba-app", + "version": "1.0.0", + "description": "A XVBA App", + "main": "index.js", + "author": "LocalSmart", + "license": "ISC", + "dependencies": { + "excel-types": "1.0.0", + "Xlog": "1.0.0" + }, + "devDependencies": { + "@localsmart/xvba-cli": "^1.0.2" + } +} \ No newline at end of file diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet1.cls b/XVBA/久保ファイル/vba-files/Class/Sheet1.cls new file mode 100644 index 00000000..7e5eed8e --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet1.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet2.cls b/XVBA/久保ファイル/vba-files/Class/Sheet2.cls new file mode 100644 index 00000000..9368fcbc --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet2.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet3.cls b/XVBA/久保ファイル/vba-files/Class/Sheet3.cls new file mode 100644 index 00000000..bf55a0db --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet3.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet3" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet4.cls b/XVBA/久保ファイル/vba-files/Class/Sheet4.cls new file mode 100644 index 00000000..3b565844 --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet4.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet4" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet5.cls b/XVBA/久保ファイル/vba-files/Class/Sheet5.cls new file mode 100644 index 00000000..5d56cc32 --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet5.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet5" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet6.cls b/XVBA/久保ファイル/vba-files/Class/Sheet6.cls new file mode 100644 index 00000000..2e001954 --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet6.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet6" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet7.cls b/XVBA/久保ファイル/vba-files/Class/Sheet7.cls new file mode 100644 index 00000000..9d6db4a0 --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/Sheet7.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet7" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls b/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls new file mode 100644 index 00000000..71a35984 --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls @@ -0,0 +1,9 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True diff --git a/XVBA/久保ファイル/vba-files/Module/Module1.bas b/XVBA/久保ファイル/vba-files/Module/Module1.bas new file mode 100644 index 00000000..0efb178a --- /dev/null +++ b/XVBA/久保ファイル/vba-files/Module/Module1.bas @@ -0,0 +1,141 @@ +Attribute VB_Name = "Module1" +Sub SToORs[() + + Dim SV[g, OV[g As Worksheet + Dim SXg, OXg As Object + + Set SV[g = Sheets("S") + Set OV[g = Sheets("O") + + SV[g.Select + Set SXg = SV[g.ListObjects("S") + OV[g.Select + Set OXg = OV[g.ListObjects("O") + + If Not OXg Is Nothing Then OXg.DataBodyRange.Delete + + SXg.DataBodyRange.Copy OV[g.Range("A2") + + SV[g.Select + SXg.QueryTable.Refresh + + +End Sub + +'tOꊇ폜 +Sub NA() + Application.ScreenUpdating = False + Dim wXg As Worksheet + Set wXg = Worksheets("w؂") + + 'tOꊇ폜 + wXg.Range("O6:O65").Value = "" + + Application.ScreenUpdating = True +End Sub + + +Sub t쐬() + Application.ScreenUpdating = False + + Dim wXg As Worksheet + Dim t As Worksheet + + Set wXg = Worksheets("w؂") + + Dim i, j, p + + + j = 27 + p = 0 + + Dim lastRow As Long + lastRow = wXg.Cells(wXg.Rows.Count, "D").End(xlUp).Row + + For i = 6 To lastRow + Dim f1, f2, f3 + f1 = wXg.Cells(i, 15).Value 't쐬Ώ + f2 = wXg.Cells(i, 14).Value ' + f3 = wXg.Cells(i, 11).Value 'mFς݂͏O + + If f1 = 1 And f3 = "" Then + If f2 = 1 Then + 'Pt + Set t = Worksheets("t1") + + 'a@ + t.Range("D2").Value = wXg.Cells(i, 12).Value + 'a@Z + t.Range("E2").Value = wXg.Cells(i, 13).Value + 'a@ + t.Range("F2").Value = wXg.Cells(i, 10).Value + '厡 + t.Range("G2").Value = wXg.Cells(i, 9).Value + 'pҖ + t.Range("H2").Value = wXg.Cells(i, 4).Value + 'wJn + t.Range("I2").Value = wXg.Cells(i, 17).Value + 'N + t.Range("J2").Value = wXg.Cells(i, 8).Value + + p = 1 + wXg.Cells(i, 15).Value = "" + + Else + ' + Set t = Worksheets("t2") + 'a@ + t.Range("D2").Value = wXg.Cells(i, 12).Value + 'a@Z + t.Range("E2").Value = wXg.Cells(i, 13).Value + 'a@ + t.Range("F2").Value = wXg.Cells(i, 10).Value + + 'pҖ + t.Cells(j, 7).Value = wXg.Cells(i, 4).Value & "@l" + 'N + t.Cells(j, 12).Value = wXg.Cells(i, 8).Value + j = j + 1 + 'wJn + t.Cells(j, 7).Value = wXg.Cells(i, 17).Value + j = j + 1 + + p = 2 + + wXg.Cells(i, 15).Value = "" + + End If + + End If + + + 's + If p = 1 Then + t.Activate + ActiveWindow.SelectedSheets.PrintOut Copies:=1 + + p = 0 + + Elseif p = 2 Then + 'a@̐ؑւ𔻒 + If Not wXg.Cells(i, 10).Value = wXg.Cells(i + 1, 10).Value Then + + t.Activate + ActiveWindow.SelectedSheets.PrintOut Copies:=1 + t.Range("G27:G42").Value = "" + t.Range("L27:L42").Value = "" + j = 27 + + p = 0 + + End If + End If + Next + + wXg.Activate + + Application.ScreenUpdating = True +End Sub + + + diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md new file mode 100644 index 00000000..f1f3ad96 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog +## Xdebug (Under Construction) + +- This package provides a way to simulate VBA Immediate Window in Output VSCode window + +## [1.0.0b0] - 2020-09-16 +### Added + - Create XDebug.printx + - Create XDebug.printError + + + + \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/README.md b/XVBA/久保ファイル/xvba_modules/Xdebug/README.md new file mode 100644 index 00000000..9d8b74f0 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/Xdebug/README.md @@ -0,0 +1,58 @@ +# Xdebug (VBA Immediate Window in Output VSCode Window) + +## Description + - This package provides a way to simulate VBA Immediate Window in Output VSCode window + - Find the Output window (VBA Immediate Window) + + ## Methods + +

+VBA immediate Window +

+ + + ### Xdebug.printx + +- This method print any type os variable + + +``` + +Public Sub index() + + + Dim test(1) As Variant + + 'Add an Object + Set test(0) = Sheets(1) + 'Add a String + test(1) = "Test Xdebug Output" + + Xdebug.printx test + +End Sub + +``` + + + ### Xdebug.printError + +- This method is use for print error + + +``` + Public Sub index() + + On Error GoTo ErrorHandle: + 'throw an error + d = 1/0 + 'Your code here + + + ErrorHandle: + Xdebug.errorSource = "pageConsoller.index" + Xdebug.printError + + End Sub +``` + diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls b/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls new file mode 100644 index 00000000..0856356e --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls @@ -0,0 +1,241 @@ +VERSION 1.0 CLASS +BEGIN +MultiUse = -1 'True +END +Attribute VB_Name = "Xdebug" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False + +'namespace=xvba_modules\Xdebug + +Public env As String + +'Example of Package Create by XVBA-CLI + +Private OS_TMP__FOLDER_PATH As String + +Private IMMEDIATE_FOLDER As String + +Private IMMEDIATE_FILE As String + +Private DEBUG_FILE_PATH As String + +Const EMPTY_TYPE = 0 +Const NULL_TYPE = 1 +Const ERROR_TYPE = 10 +Const INTEGER_TYPE = 2 +Const LONG_TYPE = 3 +Const SINGLE_TYPE = 4 +Const DOUBLE_TYPE = 5 +Const CURRENCY_TYPE = 6 +Const DATE_TYPE = 7 +Const DECIMAL_TYPE = 14 +Const LONG_LONG_TYPE = 20 +Const BOOLEAN_TYPE = 11 +Const STRING_TYPE = 8 +Const ARRAY_TYPE = 8204 +Const OBJECT_TYPE = 9 +Const VARIANT_TYPE = 12 +Const DATA_OBJECT_TYPE = 13 +Private Const MESSAGE_SPACE = " " + +Public errorSource As String +Public errorTitle As String + +'/* +'Flag for Actrive os Deactive VBA Debug.Print +'*/ +Public vbaDebugPrintActive As Boolean + +Private Sub class_initialize() + + Dim fso As Object + Set fso = CreateObject("Scripting.FileSystemObject") + OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2) + IMMEDIATE_FOLDER = "xvba_immediate" + IMMEDIATE_FILE = "immediate.txt" + vbaDebugPrintActive = True + errorSource = "" + errorTitle = "XVBA: New Error Was Found" + env = "DEV" + + DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE + +End Sub + + + + +Public Function printx(inputValue As Variant,Optional messageType As Integer = 1) + + if(env="DEV") Then + Dim messageText As String + + messageText = createOutputMessage(inputValue) + + Call writeDebugFileContent(messageText,messageType) + End If +End Function + +'/* +'Print A Error +' +'*/ +Public Function printError() + if(env="DEV") Then + + Dim message As String + + message = ErrorHanddler() + + Call writeDebugFileContent(message,0) + + End If +End Function + + +'/* +' +'Write Debug ino on File +' +' +'*/ +Private Function writeDebugFileContent(messageText,messageType) + + Dim filePath As String + Dim FileNum As Integer + Dim PREFIX As String + + filePath = DEBUG_FILE_PATH + + FileNum = FreeFile + + PREFIX = Now & " - " + + Open filePath For Append As #FileNum + + Dim debugMessage As String + Select Case messageType + + Case 0 'Error Message + + debugMessage= PREFIX & "Error:" & messageText + Case 1 'Success + debugMessage= PREFIX & messageText + Case Else 'No Type Set + + debugMessage= PREFIX & "Info:" & messageText + End Select + + Print #FileNum,debugMessage + + Close #FileNum + + If (vbaDebugPrintActive) Then + + Debug.Print debugMessage + + End If +End Function + + +Private Function createOutputMessage(inputValue) As String + + Dim typeOfVar As Integer + Dim response As String + + typeOfVar = VarType(inputValue) + + + 'Set Error Source Macro/Function name + Err.Source="createOutputMessage" + Select Case typeOfVar + Case STRING_TYPE + response = "String: " & inputValue + Case INTEGER_TYPE + response = "Integer: " & CStr(inputValue) + Case LONG_TYPE + response = "Long: " & CStr(inputValue) + Case SINGLE_TYPE + response = "Single: " & CStr(inputValue) + Case DOUBLE_TYPE + response = "Double: " & CStr(inputValue) + Case CURRENCY_TYPE + response = "Currenty: " & CStr(inputValue) + Case DATE_TYPE + response = "Date: " & CStr(inputValue) + Case DECIMAL_TYPE + response = "Decimal: " & CStr(inputValue) + Case LONG_LONG_TYPE + response = "LongLong: " & CStr(inputValue) + Case BOOLEAN_TYPE + response = "Boolean: " & CStr(inputValue) + Case ARRAY_TYPE + response = makeArrayTypeMessage(inputValue) + Case EMPTY_TYPE + response = "Empty: " + Case OBJECT_TYPE + response = "Object: " & TypeName(inputValue) + Case NULL_TYPE + response = "Null: " + Case ERROR_TYPE + response = "Error: " + Case VARIANT_TYPE + response = "Variant: " + Case DATA_OBJECT_TYPE + response = "Data Object: " & TypeName(inputValue) + Case Else + response = "Type Not Supported yet please inform xvba developer " + Debug.Print typeOfVar + Debug.Print inputValue + + End Select + + + createOutputMessage = response + +End Function + + +Private Function makeArrayTypeMessage(inputValue)As String + Dim nextItem As Variant + Dim response As String + Dim message As String + + For Each nextItem In inputValue + message = createOutputMessage(nextItem) + response = response & " [ " & message & " ]" & vbCrLf + Next nextItem + makeArrayTypeMessage = "Array: " & vbCrLf & response +End Function + + + +Private Function ErrorHanddler() As String + Dim errorDescription As String + Dim numberDescription As String + Dim lineError As String + Dim sourceError As String + Dim errorTitleMsg As String + Dim errorSourceMsg As String + + errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle + errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource + + + Select Case Err.Number + Case 11 + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + Case Else + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + End Select + + + ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription + +End Function \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif b/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif new file mode 100644 index 00000000..dd641693 Binary files /dev/null and b/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif differ diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json b/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json new file mode 100644 index 00000000..4a1da537 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "Xdebug", + "version": "1.0.0", + "author": "Alberto Edaurdo", + "email": "alberto.aeraphe@gmail.com", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/xdebug.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "www.xvba.dev" +} \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md b/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md new file mode 100644 index 00000000..39a71ff4 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +## excel@types (Under Construction) + +- This package provides a way to use auto-complete for excel class + + + + \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/README.md b/XVBA/久保ファイル/xvba_modules/excel-types/README.md new file mode 100644 index 00000000..dcf0411e --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/README.md @@ -0,0 +1,51 @@ +# Excel VBA type Definitions Package (excel-types) + + - This package provides a way to use auto-complete for Excel VBA Class + - You can Create your own vba type definition packages our update this. + - Type definition packages are named like: name-types + - The packages are store in www.xvba.dev + - Ech excel vba class has your own file definition + - The files extension has to be filename.d.vb + - Auto-complete just expose Public types + + +## Create,install and share VBA Packages With Xvba-cli and Xvba Repository: + +- Xvba Repository : www.xvba.dev +- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli + +## Install + +- For instal excel-types just use XVBA-CLI install command + +``` + npx xvba install excel-types +``` +## Comments Block + +- Use comments blocks below for documenting class/methods/Subs/Functions/Properties +- The comments blocs has to start with '/* and ends with '*/ + +``` + +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +``` + +``` +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +``` \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb new file mode 100644 index 00000000..af74a242 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb @@ -0,0 +1,147 @@ +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +'/* +'Returns an object that represents the active sheet (the sheet on top) +'in the active workbook or in the specified window or workbook. +'Returns Nothing if no sheet is active. +' +'*/ +Public Property ActiveSheet As Worksheet + +'/* +'Returns a Workbook object that represents the workbook in the +'active window (the window on top). +'Returns Nothing if there are no windows open or if either +'the Info window or the Clipboard window is the active window. Read-only. +' +' +'*/ +Public Property ActiveWorkbook As Workbook + +'/* +'True if Microsoft Excel displays certain alerts and messages while +'a macro is running. Read/write Boolean. +' +'Example +'Application.DisplayAlerts = False +'Workbooks("BOOK1.XLS").Close +'Application.DisplayAlerts = True +' +'*/ +Public Property DisplayAlerts As Boolean + + +'/* +'Returns or sets an XlCalculation value that represents the calculation mode. +' +'Example +'Application.Calculation = xlCalculationManual +'Application.Calculation = xlAutomatic +' +'@type {XlCalculation} +'*/ +Public Property Calculation As XlCalculation + +'/* +'True if events are enabled for the specified object. Read/write Boolean. +' +'@type {Boolean} +'*/ +Public Property EnableEvents As Boolean + +'/* +'True if screen updating is turned on. Read/write Boolean. +'@type {Boolean} +'*/ +Public Property ScreenUpdating As Boolean + + +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +'/* +'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet). +'An embedded chart is considered active when it's either selected or activated. When no chart is active, +'this property returns Nothing. +' +'Example: +'ActiveChart.HasLegend = True +' +'@type {Object.} +'*/ +Public Property ActiveChart As Chart + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property ThisWorkbook As Workbook + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property Workbooks As Workbooks + +'/* +'Activates a Microsoft application. If the application is already running, +'this method activates the running application. +'If the application isn't running, this method starts a new instance of the application. +' +'Example: (This example starts and activates Word.) +' +'Application.ActivateMicrosoftApp xlMicrosoftWord +' +'@param {XlMSApplication} index +'*/ +Public Sub ActivateMicrosoftApp( index As XlMSApplication) + +End Sub + +'/* +'An event occurs when all pending refresh activity (both synchronous and asynchronous) +'and all of the resultant calculation activities have been completed. +' +'*/ +Public Event AfterCalculate() + +'/* +'Occurs when a new workbook is created. +' +'Example: +' +'Private Sub App_NewWorkbook(ByVal Wb As Workbook) +'Application.Windows.Arrange xlArrangeStyleTiled End Sub +' +'@param {Workbook} Wb +'*/ +Public Event NewWorkbook(ByVal Wb As Workbook) + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb new file mode 100644 index 00000000..6a580711 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb @@ -0,0 +1,109 @@ + + + +'/* +' +' +' +'/* +Public Class Scripting() + + +'/* +' +'Object that stores data key/item pairs. +' +'/* +Public Function Dictionary() + +End Function + +'/* +' +'Adds a new key/item pair to a Dictionary object. +' +'*/ +Public Sub Add() + +End Sub + +'/* +' +'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object. +' +'*/ +Public Sub Exists() + +End Sub + +'/* +' +'Returns an array of all the items in a Dictionary object. +' +'*/ +Public Sub Items() + +End Sub + +'/* +' +'Returns an array of all the keys in a Dictionary object. +' +'*/ +Public Sub Keys() + +End Sub + +'/* +' +'Removes one specified key/item pair from the Dictionary object. +' +'*/ +Public Sub Remove() + +End Sub + +'/* +' +'Removes all the key/item pairs in the Dictionary object. +' +'*/ +Public Sub RemoveAll() + +End Sub + + + +'/* +'Sets or returns the comparison mode for comparing keys in a Dictionary object. +' +' +'*/ +Public Property CompareMode As Variant + + +'/* +'Returns the number of key/item pairs in a Dictionary object. +' +' +'*/ +Public Property Count As Long + + +'/* +'Sets or returns the value of an item in a Dictionary object. +' +' +'*/ +Public Property Item As Variant + +'/* +'Sets a new key value for an existing key value in a Dictionary object. +' +' +'*/ +Public Property Key As Variant + + + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb new file mode 100644 index 00000000..7115cac1 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb @@ -0,0 +1,30 @@ +'/* +'Contains information about run-time errors. +' +' +'*/ +Public Class Err() + +'/* +'Returns or sets a string expression containing a +'descriptive string associated with an object. Read/write. +' +'*/ +Public Property Description As String + +'/* +'Returns or sets a numeric value specifying an error. +'Number is the Err object's default property. Read/write. +' +'*/ +Public Property Number As Integer + + +'/* +'Returns or sets a string expression specifying the name of +'the object or application that originally generated the error. Read/write. +' +'*/ +Public Property Source As String + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb new file mode 100644 index 00000000..38aba162 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb @@ -0,0 +1,547 @@ + +'/* +'[Conversion Func] +' +'*/ +Function Asc() +End Function + +'/* +'[Conversion Func] +'Returns a String containing the character associated +'with the specified character code. +' +'Example: +' +'Dim MyChar +'MyChar = Chr(65) ' Returns A. +'MyChar = Chr(97) ' Returns a. +'MyChar = Chr(62) ' Returns >. +'MyChar = Chr(37) ' Returns %. +'*/ +Function Chr() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Format() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Hex() +End Function + + +'/* +'[Conversion Func] +' +'*/ +Function Oct() +End Function + + +'/* +'[Conversion Func] +'Returns a Variant (String) representation of a number. +' +'Example: +'Dim MyString +'MyString = Str(459) ' Returns " 459". +'MyString = Str(-459.65) ' Returns "-459.65". +'MyString = Str(459.001) ' Returns " 459.001". +' +'*/ +Function Str() As Variant +End Function + + +'/* +'[Conversion Func] +'Returns the numbers contained in a string as +'a numeric value of appropriate type. +' +'Example: +' +'Dim MyValue +'MyValue = Val("2457") ' Returns 2457. +'MyValue = Val(" 2 45 7") ' Returns 2457. +'MyValue = Val("24 and 57") ' Returns 24. +'*/ +Function Val(String) +End Function + + + +Function CreateObject() +End Function + + +Function CurDir() +End Function + +'/* +'Returns a Variant (Date) containing the current system date. +' +'Example +' +'Dim MyDate +'MyDate = Date ' MyDate contains the current system date. +' +'*/ +Function Date() + +End Function + + + +Function DateDiff() +End Function + +Function DatePart() +End Function + +Function DateSerial() +End Function + +Function Day() +End Function + +Function DDB() +End Function + +Function Dir() +End Function + +Function DoEvents() +End Function + +Function Environ() +End Function + +Function EOF() +End Function + +Function Error() +End Function + + +Function FileAttr() +End Function + +Function FileDateTime() +End Function + +Function FileLen() +End Function + +Function Filter() +End Function + +Function FormatCurrency() +End Function + +Function FormatDateTime() +End Function + +Function FormatNumber() +End Function + +Function FormaPercent() +End Function + + +Function FreeFile() +End Function + +Function FV() +End Function + +Function GetAllSettings() +End Function + +Function GetAttr() +End Function + +Function GetObject() +End Function + +Function GetSetting() +End Function + + +Function Hour() +End Function + +Function IIf() +End Function + +Function IMEStatus() +End Function + +Function Input() +End Function + +Function InputBox() +End Function + +Function InStr() +End Function + +Function InStrRev() +End Function + +Function IPmt() +End Function + + + +Function IRR() +End Function + +Function IsArray() +End Function + +Function IsDate() +End Function + +'/* +' +'Returns a Boolean value indicating whether a variable has been initialized. +' +'*/ +Function IsEmpty() +End Function + + +Function IsError() +End Function + +Function IsMissing() +End Function + +Function IsNull() +End Function + +Function IsNumeric() +End Function + + +Function IsObject() +End Function + +'/* +'Returns a string created by joining a number of substrings contained in an array. +' +'*/ +Function Join() +End Function + + + +Function LBound() +End Function + +Function LCase() +End Function + +Function Left() +End Function + +Function Len() +End Function + + +Function Loc() +End Function + +Function LOF() +End Function + +Function LTrim() +End Function + +Function RTrim() +End Function + +Function Trim() +End Function + + +Function MacID() +End Function + + + +Function MacScript() +End Function + +'/* +'[Math Function] +'Returns a value of the same type that is passed to it specifying the absolute value of a number. +' +'*/ +Function Abs() +End Function + +'/* +'[Math Function] +'Returns a Double specifying the arctangent of a number. +' +'*/ +Function Atn() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Cos() +End Function + +'/* +'[Math Function] +' +'*/ +Function Exp() +End Function + +'/* +'[Math Function] +' +'*/ +Function Int() +End Function + +'/* +'[Math Function] +' +'*/ +Function Fix() +End Function + +'/* +'[Math Function] +' +'*/ +Function Log() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Rnd() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sgn() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sin() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sqr() +End Function + +'/* +'[Math Function] +' +'*/ +Function Tan() +End Function + + + +Function Mid() +End Function + + +Function Minute() +End Function + + +Function MIRR() +End Function + + +Function Month() +End Function + +Function MonthName() +End Function + +'/* +'Displays a message in a dialog box, waits for the user to click a button, +'and returns an Integer indicating which button the user clicked. +' +'*/ +Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ]) +End Function + + +Function Now() +End Function + + +Function NPer() +End Function + + +Function NPV() +End Function + +Function PPmt() +End Function + + +Function QBColor() +End Function + + +Function Rate() +End Function + +'/* +'Returns a string, which is a substring of a string +'expression beginning at the start position (defaults to 1), +'in which a specified substring has been replaced with another +'substring a specified number of times. +' +'*/ +Function Replace(expression, find, replace, [ start, [ count, [ compare ]]]) +End Function + +Function RGB() +End Function + + +Function Right() +End Function + + +Function Round() +End Function + + +Function Second() +End Function + + + +Function Seek() +End Function + + +Function Shell() +End Function + + +Function SNL() +End Function + + +Function Space() +End Function + + +Function Spc() +End Function + + +Function Split() +End Function + + +Function StrComp() +End Function + + + +Function StrConv() +End Function + + +Function String() +End Function + + +Function StrReverse() +End Function + + + +Function Switch() +End Function + + +Function SYD() +End Function + + +Function Tab() +End Function + + +Function Time() +End Function + + + +Function Timer() +End Function + + +Function TimeSerial() +End Function + + +Function TimeValue() +End Function + + + +Function TypeName() +End Function + + +Function UBound() +End Function + + +Function Ucase() +End Function + + +Function VarType() +End Function + + + +Function Weekday() +End Function + + +Function WeekdayName() +End Function + + +Function Year() +End Function \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb new file mode 100644 index 00000000..92a9c7d7 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb @@ -0,0 +1,625 @@ +'/* +'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range. +' +' +'*/ +Public Class Range() + +'/* +'(Range) +' +'Activates a single cell, which must be inside the current selection. +'To select a range of cells, use the Select method., +' +'Example +' +'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell. +' +' Worksheets("Sheet1").Activate +' Range("A1:C3").Select +' Range("B2").Activate +' +'*/ +Public Sub Activate() + +End Sub + + +'/* +'Adds a comment to the range. +' +'Example: +' +'Worksheets(1).Range("E5").AddComment "Current Sales" +' +'@param {String} text +'*/ +Public Sub AddComment(text As String) + +End Sub + +Public Sub AddCommentThreaded() + +End Sub + +Public Sub AdvancedFilter() + +End Sub + +Public Sub AllocateChanges() + +End Sub + +Public Sub ApplyName() + +End Sub + +Public Sub ApplyOutLineStyles() + +End Sub + +Public Sub AutoComplete() + +End Sub + +Public Sub AutoFill() + +End Sub + +Public Sub AutoFilter() + +End Sub + +Public Sub AutioFit() + +End Sub + +Public Sub AutoOutline() + +End Sub + +Public Sub BorderAround() + +End Sub + +Public Sub Calculate() + +End Sub + +Public Sub CalculateRowMajorOrder() + +End Sub + +Public Sub CheckSpelling() + +End Sub + +Public Sub Clear() + +End Sub + +Public Sub ClearComments() + +End Sub + +Public Sub ClearContents() + +End Sub + +Public Sub ClearFormats() + +End Sub + +Public Sub ClearHyperlinks() + +End Sub + +Public Sub ClearNotes() + +End Sub + +Public Sub ClearOutline() + +End Sub + +Public Sub ColumnDifferences() + +End Sub + +Public Sub Consolidate() + +End Sub + +Public Sub ConvertToLinkedDataType() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub CopyFromRecordset() + +End Sub + +Public Sub CopyPicture() + +End Sub + +Public Sub CreateNames() + +End Sub + +Public Sub Cut() + +End Sub + +Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend) + +End Function + +Public Function DataTypeToText() + +End Function + +Public Function Delete (Shift) + +End Function + +Public Function DialogBox() + +End Function + +Public Function Dirty() + +End Function +Public Function DiscardChanges() + +End Function +Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format) + +End Function +Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) + +End Function +Public Function FillDown() + +End Function +Public Function FillLeft() + +End Function + +Public Function FillRight() + +End Function + +Public Function FillUp() + +End Function + +Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) + +End Function + +Public Function FindNext (After) + +End Function + +Public Function FindPrevious (Before) + +End Function + +Public Function FlashFill () + +End Function + + +Public Function FunctionWizard () + +End Function + + +Public Function Group (Start, End, By, Periods) + +End Function + +Public Function Insert (Shift, CopyOrigin) + +End Function + + +Public Function InsertIndent (InsertAmount) + +End Function + + +Public Function Justify() + +End Function + + +Public Function ListNames() + +End Function + +Public Function Merge(Across) + +End Function + +Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber) + +End Function + +Public Function NoteText(Text, Start, Length) + +End Function + +Public Function Parse(ParseLine, Destination) + +End Function + +Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose) + +End Function + + +Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) + +End Function + +Public Function PrintPreview(EnableChanges) + +End Function + +Public Function RemoveDuplicates(Columns , Header) + +End Function + +Public Function RemoveSubtotal() + +End Function + + +Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) + +End Function + + +Public Function RowDifferences(Comparison) + +End Function + +Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...) + +End Function + +Public Function Select() + +End Function + +Public Function SetCellDataTypeFromCell(Range, LanguageCulture) + +End Function + + +Public Function SetPhonetic() + +End Function + + +Public Function Show() + +End Function + + +Public Function ShowCard() + +End Function + + +Public Function ShowDependents(Remove) + +End Function + + +Public Function ShowErrors() + +End Function + + +Public Function ShowPrecedents(Remove) + +End Function + + +Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3) + +End Function + + +Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3) + +End Function + +Public Function Speak(SpeakDirection, SpeakFormulas) + +End Function + + +Public Function SpecialCells(Type, Value) + +End Function + +Public Function SubscribeTo(Edition, Format) + +End Function + +Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData) + +End Function + + +Public Function Table(RowInput, ColumnInput) + +End Function + + +Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers + +End Function + + +Public Function Ungroup() + +End Function + + +Public Function UnMerge() + +End Function + +Public Property AddIndent As Variant + +Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant +End Function + +Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range +End Function + +Public Property Application As Application + +Public Property Areas As Areas + +Public Property Borders As Variant + +Public Property Cells As Range + +Public Function Characters(Start, Length) As Variant +End Function + +Public Property Column As Long + +Public Property Columns As Long + +Public Property ColumnWidth As Variant + +Public Property Comment As Variant + +Public Property CommentThreaded As Variant + + +Public Property Count As Long + + +Public Property CountLarge As Variant + + +Public Property Creator As Integer + + +Public Property CurrentArray As Range + +'/* +'Returns a Range object that represents the current region. +'The current region is a range bounded by any combination of blank rows and blank columns. Read-only. +' +'Example +'Worksheets("Sheet1").Activate +'ActiveCell.CurrentRegion.Select +'*/ +Public Property CurrentRegion As Range + +Public Property Dependents As Range + +Public Property DirectDependents As Range + +Public Property DirectPrecedents As Range + +Public Property DisplayFormat As Object + + +Public Function End(Direction) As Object +End Function + +Public Property EntireColumn As Range + + +Public Property EntireRow As Range + + +Public Property Errors As Errors + + +Public Property Font As Font + + +Public Property FormatConditions As Range + +Public Property Formula As Variant + +Public Property FormulaArray As Variant + +Public Property FormulaHidden As Variant + + +Public Property FormulaLocal As Object + +Public Property FormulaR1C1 As Varaint + +Public Property FormulaR1C1Local As Varaint + +Public Property HasArray As Varaint + +Public Property HasFormula As Varaint + +Public Property HasRichDataType As Varaint + +Public Property Height As Double + +Public Property Hidden As Variant + +Public Property HorizontalAlignment As Variant + +Public Property Hyperlinks As Object + +Public Property ID As String + +Public Property IndentLevel As Variant + +Public Property Interior As Double + +Public Function Item (RowIndex, ColumnIndex) As Range +End Function + + +Public Property Left As Variant + + +Public Property LinkedDataTypeState As Variant + +Public Property ListHeaderRows As Variant + + +Public Property ListObject As Object + +Public Property LocationInTable As Variant + +Public Property Locked As Variant + +Public Property MDX As String + +Public Property MergeArea As Range + +Public Property MergeCells As Boolean + +Public Property Name As Variant + +Public Property Next As Range + +Public Property NumberFormat As Variant + +Public Property NumberFormatLocal As Variant + +Public Function Offset (RowOffset, ColumnOffset) As Range + +End Function + + +Public Property Orientation As Variant + +Public Property OutlineLevel As Variant + +Public Property PageBreak As Variant + +Public Property Parent As Variant + +Public Property Phonetic As Variant + +Public Property Phonetics As Variant + +Public Property PivotCell As Variant + + +Public Property PivotField As Variant + + +Public Property PivotItem As Variant + +Public Property PivotTable As Variant + +Public Property Precedents As Range + +Public Property PrefixCharacter As Variant + + +Public Property Previous As Range + +Public Property QueryTable As Variant + +Public Function Range (Cell1, Cell2) As Range +End Function + +Public Property ReadingOrder As Variant + +Public Function Resize (RowSize, ColumnSize) As Range +End Function + + +Public Property Row As Long + +Public Property RowHeight As Double + +Public Property Rows As Range + +Public Property ServerActions As Variant + + +Public Property ShowDetail As Variant + + +Public Property ShrinkToFit As Variant + + +Public Property SoundNote As Variant + + +Public Property SparklineGroups As Variant + + +Public Property Style As Variant + +Public Property Summary As Variant + + +Public Property Text As String + +Public Property Top As Variant + +Public Property UseStandardHeight As Variant + +Public Property UseStandardWidth As Variant + +Public Property Validation As Variant + +Public Function Value (RangeValueDataType) As Variant +End Function + +Public Property Value2 As Variant + + +Public Property VerticalAlignment As Variant + +Public Property Width As Double + + + +Public Property Worksheet As Worksheet + + +Public Property WrapText As Variant + +Public Property XPath As XPath + + + +End Class diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb new file mode 100644 index 00000000..55764e2b --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb @@ -0,0 +1,157 @@ +'/* +'Represents a Microsoft Excel workbook. +' +' +'*/ +Public Class Workbook() + +'/* +'Returns a String that represents the complete path to the +'workbook/file that this workbook object represents. +' +'*/ +Public Property Path As String + + +Public Property Worksheets As Worksheet + +'/* +'True if a backup file is created when this file is saved. Read-only Boolean. +' +'@type {Boolean} +'*/ +Public Property CreateBackup As Boolean + +'/* +'Returns a String value that represents the name of the object. +' +'@type {Boolean} +'*/ +Public Property Name As String + +'/* +'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean. +' +'Example: +'If Not ActiveWorkbook.Saved Then +' MsgBox "This workbook contains unsaved changes." +'End If +' +'@type {Boolean} +'*/ +Public Property Saved As String + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + + +'/* +' +'Activates the first window associated with the workbook. +' +'*/ +Public Function Activate() + +End Function + +'/* +' +'Closes the object. +' +'Example +' +'Workbooks("BOOK1.XLS").Close SaveChanges:=False +' +'@param {Variant} SaveChanges:[Optional] True or false +'@param {Variant} FileName:[Optional] Saves changes under this file name. +'@param {Variant} RouteWorkbook:[Optional] True or False +'*/ +Public Function Close(SaveChanges,FileName,RouteWorkbook) + +End Function + +'/* +'Saves changes to the specified workbook. +'*/ +Public Function Save() + +End Function + +'/* +'Saves changes to the workbook in a different file. +' +'@param {Variant} FileName:[Optional] +'@param {Variant} FileFormat:[Optional] +'@param {Variant} Password:[Optional] +'@param {Variant} WriteResPassword:[Optional] +'@param {Variant} ReadOnlyRecommended:[Optional] +'@param {Variant} CreateBackup:[Optional] +'@param {Variant} AccessMode:[Optional] +'@param {Variant} ConflictResolution:[Optional] +'@param {Variant} AddToMru:[Optional] +'@param {Variant} TextCodepage:[Optional] +'@param {Variant} TextVisualLayout:[Optional] +'@param {Variant} Local:[Optional] +'*/ +Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local) + +End Function + + +'/* +'Exports the data that has been mapped to the specified XML schema map to an XML data file. +' +'@param {String} FileName:[Required] +'@param {XmlMap} Map:[Required] +'*/ +Public Function SaveAsXMLData(FileName, Map) + +End Function + + +'/* +'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory. +' +'Example +'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS" +' +'@param {Variant} FileName:[Required] +'*/ +Public Function SaveCopyAs(FileName, Map) + +End Function + +'/* +'Sends the workbook by using the installed mail system. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +' +'@param {Variant} Recipients:[Required] +'@param {Variant} Subject:[Optional] +'@param {Variant} ReturnReceipt:[Optional] +'*/ +Public Function SendMail(Recipients, Subject, ReturnReceipt) + +End Function + +'/* +' +'The ExportAsFixedFormat method is used to publish +'a workbook to either the PDF or XPS format. +' +'*/ +Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) +End Function + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb new file mode 100644 index 00000000..07f71c5f --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb @@ -0,0 +1,109 @@ +'/* +'A collection of all the Workbook objects that are currently open in the Microsoft Excel application. +' +'*/ +Public Class Workbooks() + +'/* +'Creates a new workbook. The new workbook becomes the active workbook. +' +'@param {Variant} Template:[Optional] Determines how the new workbook is created. +'If this argument is a string specifying the name of an existing Microsoft Excel file, +'the new workbook is created with the specified file as a template. +'*/ +Public Function Add(Template) + +End Function + + +'/* +'True if Microsoft Excel can check out a specified workbook from a server. +'Read/write Boolean. +' +'@param {String} FileName:[Required] The name of the file to check out. +' +'*/ +Public Function CanCheckOut (FileName) + +End Function + + +Public Function CheckOut (FileName) + +End Function + + +Public Function Close () + +End Function + +'/* +' +'Opens a workbook. +' +'Example +'Workbooks.Open "ANALYSIS.XLS" +'ActiveWorkbook.RunAutoMacros xlAutoOpen +'*/ +Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook + +End Function + +'/* +'Returns a Workbook object representing a database. +'*/ +Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs) + +End Function + + +'/* +'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data. +'*/ +Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local) + +End Function + +'/* +'Opens an XML data file. Returns a Workbook object. +'*/ +Public Function OpenXML (FileName, Stylesheets, LoadOption) + +End Function + + +'/* +'When used without an object qualifier, this property returns an +'Application object that represents the Microsoft Excel application. +' +'*/ +Public Property Application As Application + + +'/* +'Returns a Long value that represents the number of objects in the collection. +' +'*/ +Public Property Count As Long + +'/* +'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long. +' +'*/ +Public Property Creator As Integer + + + +'/* +'Returns a single object from a collection. +' +'*/ +Public Property Item(Index) As Object + +'/* +'Returns the parent object for the specified object. Read-only. +' +'*/ +Public Property Parent As Object + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb new file mode 100644 index 00000000..24a02271 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb @@ -0,0 +1,86 @@ +'/* +'Represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheet() + + +'/* +'Makes the current sheet the active sheet. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +'*/ +Public Sub Activate() + +End Sub + + +Public Sub Calculate() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub Past() + +End Sub + +Public Sub PastSpecial() + +End Sub + +Public Sub Select() +End Sub + +Public Sub SaveAs() + +End Sub + +'/* +' +'Returns a Range object that represents a cell or a range of cells. +' +'Example: +' +'Worksheets("Sheet1").Range("A1").Value = 3.14159 +' +'*/ +Public Property Range As Range + + +'/* +' +'Returns a Range object that represents all the rows on the specified worksheet. +' +'Example: +' +'Worksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Row As Range + + +'/* +' +'Returns a Long value that represents the index number of the +'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Index As Long + + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb new file mode 100644 index 00000000..7d775495 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb @@ -0,0 +1,54 @@ +'/* +'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheets() + +'/* +'Constructor +' +'*/ +Public Sub New(Name As String) As Worksheet + +End Sub + +Public Sub Add() + +End Sub + + +Public Sub Add2() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub FillAcrossSheets() + +End Sub + +Public Sub PrintOut() + +End Sub + +Public Sub PrintPreview() +End Sub + +Public Sub Select() + +End Sub + +End Class \ No newline at end of file diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json b/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json new file mode 100644 index 00000000..2fb972d9 --- /dev/null +++ b/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "excel-types", + "version": "1.0.0", + "author": "Alberto Oliveira", + "email": "alberto.aeraph@gmail.comn", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/excel-types.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "https://github.com/Aeraphe/xvba-cli" +} \ No newline at end of file diff --git a/XVBA/久保ファイル/久保ファイル_v1.3.xlsm b/XVBA/久保ファイル/久保ファイル_v1.3.xlsm new file mode 100644 index 00000000..fca9e04e Binary files /dev/null and b/XVBA/久保ファイル/久保ファイル_v1.3.xlsm differ diff --git a/XVBA/事業計画集計/.vscode/settings.json b/XVBA/事業計画集計/.vscode/settings.json new file mode 100644 index 00000000..c0ebeb96 --- /dev/null +++ b/XVBA/事業計画集計/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.encoding": "shiftjis", + "editor.fontFamily": "'HackGen35 Console'", + "editor.tokenColorCustomizations": { + "comments": { + "foreground": "#66ff33", + "fontStyle": "italic underline" + } + }, + "editor.defaultFormatter": "local-smart.excel-live-server", +} \ No newline at end of file diff --git a/XVBA/事業計画集計/config.json b/XVBA/事業計画集計/config.json new file mode 100644 index 00000000..6896c640 --- /dev/null +++ b/XVBA/事業計画集計/config.json @@ -0,0 +1,14 @@ +{ + "app_name": "XVBA", + "description": "", + "author": "", + "email": "", + "create_ate": "Sat Nov 08 2025 17:26:55 GMT+0900 (日本標準時)", + "excel_file": "【2025経営計画】新・事業計画集計v4.0.xlsm", + "vba_folder": "vba-files", + "ribbon_file": "customUI14", + "ribbon_folder": "ribbons", + "logs": "on", + "xvba_packages": {}, + "xvba_dev_packages": {} +} \ No newline at end of file diff --git a/XVBA/事業計画集計/package.json b/XVBA/事業計画集計/package.json new file mode 100644 index 00000000..a8deae27 --- /dev/null +++ b/XVBA/事業計画集計/package.json @@ -0,0 +1,15 @@ +{ + "name": "xvba-app", + "version": "1.0.0", + "description": "A XVBA App", + "main": "index.js", + "author": "LocalSmart", + "license": "ISC", + "dependencies": { + "excel-types": "1.0.0", + "Xlog": "1.0.0" + }, + "devDependencies": { + "@localsmart/xvba-cli": "^1.0.2" + } +} \ No newline at end of file diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet1.cls b/XVBA/事業計画集計/vba-files/Class/Sheet1.cls new file mode 100644 index 00000000..34122d33 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet1.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet10.cls b/XVBA/事業計画集計/vba-files/Class/Sheet10.cls new file mode 100644 index 00000000..26de6af1 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet10.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet10" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet11.cls b/XVBA/事業計画集計/vba-files/Class/Sheet11.cls new file mode 100644 index 00000000..9a6dee97 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet11.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet11" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet12.cls b/XVBA/事業計画集計/vba-files/Class/Sheet12.cls new file mode 100644 index 00000000..65530ac4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet12.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet12" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet120.cls b/XVBA/事業計画集計/vba-files/Class/Sheet120.cls new file mode 100644 index 00000000..b2cf6540 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet120.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet120" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet121.cls b/XVBA/事業計画集計/vba-files/Class/Sheet121.cls new file mode 100644 index 00000000..fd1c2113 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet121.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet121" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet122.cls b/XVBA/事業計画集計/vba-files/Class/Sheet122.cls new file mode 100644 index 00000000..7fd30445 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet122.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet122" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet123.cls b/XVBA/事業計画集計/vba-files/Class/Sheet123.cls new file mode 100644 index 00000000..76734a60 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet123.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet123" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet124.cls b/XVBA/事業計画集計/vba-files/Class/Sheet124.cls new file mode 100644 index 00000000..9c0950d2 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet124.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet124" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet125.cls b/XVBA/事業計画集計/vba-files/Class/Sheet125.cls new file mode 100644 index 00000000..7bb7c803 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet125.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet125" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet126.cls b/XVBA/事業計画集計/vba-files/Class/Sheet126.cls new file mode 100644 index 00000000..a1b236b5 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet126.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet126" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet127.cls b/XVBA/事業計画集計/vba-files/Class/Sheet127.cls new file mode 100644 index 00000000..d686605d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet127.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet127" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet128.cls b/XVBA/事業計画集計/vba-files/Class/Sheet128.cls new file mode 100644 index 00000000..39630ddd --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet128.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet128" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet129.cls b/XVBA/事業計画集計/vba-files/Class/Sheet129.cls new file mode 100644 index 00000000..44f7f763 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet129.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet129" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet13.cls b/XVBA/事業計画集計/vba-files/Class/Sheet13.cls new file mode 100644 index 00000000..90e7028a --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet13.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet13" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet130.cls b/XVBA/事業計画集計/vba-files/Class/Sheet130.cls new file mode 100644 index 00000000..c1abb15a --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet130.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet130" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet131.cls b/XVBA/事業計画集計/vba-files/Class/Sheet131.cls new file mode 100644 index 00000000..74ce3b7c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet131.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet131" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet132.cls b/XVBA/事業計画集計/vba-files/Class/Sheet132.cls new file mode 100644 index 00000000..b7884c51 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet132.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet132" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet133.cls b/XVBA/事業計画集計/vba-files/Class/Sheet133.cls new file mode 100644 index 00000000..6e773d0e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet133.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet133" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet134.cls b/XVBA/事業計画集計/vba-files/Class/Sheet134.cls new file mode 100644 index 00000000..49ae0cc7 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet134.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet134" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet135.cls b/XVBA/事業計画集計/vba-files/Class/Sheet135.cls new file mode 100644 index 00000000..3cc58afe --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet135.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet135" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet136.cls b/XVBA/事業計画集計/vba-files/Class/Sheet136.cls new file mode 100644 index 00000000..c9a26ff2 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet136.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet136" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet137.cls b/XVBA/事業計画集計/vba-files/Class/Sheet137.cls new file mode 100644 index 00000000..8c36e5b6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet137.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet137" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet138.cls b/XVBA/事業計画集計/vba-files/Class/Sheet138.cls new file mode 100644 index 00000000..f1cbf4fa --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet138.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet138" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet139.cls b/XVBA/事業計画集計/vba-files/Class/Sheet139.cls new file mode 100644 index 00000000..c983191e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet139.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet139" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet14.cls b/XVBA/事業計画集計/vba-files/Class/Sheet14.cls new file mode 100644 index 00000000..4324809d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet14.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet14" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet140.cls b/XVBA/事業計画集計/vba-files/Class/Sheet140.cls new file mode 100644 index 00000000..860f6956 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet140.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet140" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet141.cls b/XVBA/事業計画集計/vba-files/Class/Sheet141.cls new file mode 100644 index 00000000..158f8d5b --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet141.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet141" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet142.cls b/XVBA/事業計画集計/vba-files/Class/Sheet142.cls new file mode 100644 index 00000000..70552fe5 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet142.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet142" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet143.cls b/XVBA/事業計画集計/vba-files/Class/Sheet143.cls new file mode 100644 index 00000000..cc04faf5 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet143.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet143" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet144.cls b/XVBA/事業計画集計/vba-files/Class/Sheet144.cls new file mode 100644 index 00000000..90fe5871 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet144.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet144" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet145.cls b/XVBA/事業計画集計/vba-files/Class/Sheet145.cls new file mode 100644 index 00000000..9d9923c3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet145.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet145" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet146.cls b/XVBA/事業計画集計/vba-files/Class/Sheet146.cls new file mode 100644 index 00000000..1031f6f8 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet146.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet146" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet147.cls b/XVBA/事業計画集計/vba-files/Class/Sheet147.cls new file mode 100644 index 00000000..8d1a0111 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet147.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet147" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet148.cls b/XVBA/事業計画集計/vba-files/Class/Sheet148.cls new file mode 100644 index 00000000..281322ae --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet148.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet148" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet149.cls b/XVBA/事業計画集計/vba-files/Class/Sheet149.cls new file mode 100644 index 00000000..dc796369 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet149.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet149" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet15.cls b/XVBA/事業計画集計/vba-files/Class/Sheet15.cls new file mode 100644 index 00000000..3470200e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet15.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet15" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet150.cls b/XVBA/事業計画集計/vba-files/Class/Sheet150.cls new file mode 100644 index 00000000..49475638 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet150.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet150" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet151.cls b/XVBA/事業計画集計/vba-files/Class/Sheet151.cls new file mode 100644 index 00000000..0f669ec6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet151.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet151" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet152.cls b/XVBA/事業計画集計/vba-files/Class/Sheet152.cls new file mode 100644 index 00000000..7d91b612 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet152.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet152" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet153.cls b/XVBA/事業計画集計/vba-files/Class/Sheet153.cls new file mode 100644 index 00000000..c77f81ac --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet153.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet153" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet16.cls b/XVBA/事業計画集計/vba-files/Class/Sheet16.cls new file mode 100644 index 00000000..f463f889 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet16.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet16" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet17.cls b/XVBA/事業計画集計/vba-files/Class/Sheet17.cls new file mode 100644 index 00000000..b55e1e56 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet17.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet17" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet18.cls b/XVBA/事業計画集計/vba-files/Class/Sheet18.cls new file mode 100644 index 00000000..03b35007 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet18.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet18" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet19.cls b/XVBA/事業計画集計/vba-files/Class/Sheet19.cls new file mode 100644 index 00000000..3e6aaac9 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet19.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet19" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet2.cls b/XVBA/事業計画集計/vba-files/Class/Sheet2.cls new file mode 100644 index 00000000..bae245ef --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet2.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet20.cls b/XVBA/事業計画集計/vba-files/Class/Sheet20.cls new file mode 100644 index 00000000..2821c5ac --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet20.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet20" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet21.cls b/XVBA/事業計画集計/vba-files/Class/Sheet21.cls new file mode 100644 index 00000000..35a666cb --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet21.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet21" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet215.cls b/XVBA/事業計画集計/vba-files/Class/Sheet215.cls new file mode 100644 index 00000000..f6139c91 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet215.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet215" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet216.cls b/XVBA/事業計画集計/vba-files/Class/Sheet216.cls new file mode 100644 index 00000000..76ca9cf2 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet216.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet216" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet217.cls b/XVBA/事業計画集計/vba-files/Class/Sheet217.cls new file mode 100644 index 00000000..e34a0fc0 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet217.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet217" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet218.cls b/XVBA/事業計画集計/vba-files/Class/Sheet218.cls new file mode 100644 index 00000000..fe8a54c0 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet218.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet218" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet219.cls b/XVBA/事業計画集計/vba-files/Class/Sheet219.cls new file mode 100644 index 00000000..46ffaa4d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet219.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet219" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet22.cls b/XVBA/事業計画集計/vba-files/Class/Sheet22.cls new file mode 100644 index 00000000..26e440e3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet22.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet22" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet220.cls b/XVBA/事業計画集計/vba-files/Class/Sheet220.cls new file mode 100644 index 00000000..f7c3edc6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet220.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet220" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet221.cls b/XVBA/事業計画集計/vba-files/Class/Sheet221.cls new file mode 100644 index 00000000..e0ed163c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet221.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet221" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet222.cls b/XVBA/事業計画集計/vba-files/Class/Sheet222.cls new file mode 100644 index 00000000..8558e514 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet222.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet222" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet223.cls b/XVBA/事業計画集計/vba-files/Class/Sheet223.cls new file mode 100644 index 00000000..f468f4db --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet223.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet223" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet224.cls b/XVBA/事業計画集計/vba-files/Class/Sheet224.cls new file mode 100644 index 00000000..1a19802e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet224.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet224" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet225.cls b/XVBA/事業計画集計/vba-files/Class/Sheet225.cls new file mode 100644 index 00000000..88b7004d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet225.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet225" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet226.cls b/XVBA/事業計画集計/vba-files/Class/Sheet226.cls new file mode 100644 index 00000000..5f76b98c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet226.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet226" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet227.cls b/XVBA/事業計画集計/vba-files/Class/Sheet227.cls new file mode 100644 index 00000000..4ad4c051 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet227.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet227" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet228.cls b/XVBA/事業計画集計/vba-files/Class/Sheet228.cls new file mode 100644 index 00000000..10c5fbf3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet228.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet228" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet229.cls b/XVBA/事業計画集計/vba-files/Class/Sheet229.cls new file mode 100644 index 00000000..5bc2f307 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet229.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet229" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet23.cls b/XVBA/事業計画集計/vba-files/Class/Sheet23.cls new file mode 100644 index 00000000..807cc1e4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet23.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet23" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet230.cls b/XVBA/事業計画集計/vba-files/Class/Sheet230.cls new file mode 100644 index 00000000..5f5ea003 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet230.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet230" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet231.cls b/XVBA/事業計画集計/vba-files/Class/Sheet231.cls new file mode 100644 index 00000000..b75dff98 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet231.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet231" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet232.cls b/XVBA/事業計画集計/vba-files/Class/Sheet232.cls new file mode 100644 index 00000000..d74559fc --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet232.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet232" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet233.cls b/XVBA/事業計画集計/vba-files/Class/Sheet233.cls new file mode 100644 index 00000000..2fd328d6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet233.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet233" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet234.cls b/XVBA/事業計画集計/vba-files/Class/Sheet234.cls new file mode 100644 index 00000000..16291710 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet234.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet234" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet235.cls b/XVBA/事業計画集計/vba-files/Class/Sheet235.cls new file mode 100644 index 00000000..00c2fbd3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet235.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet235" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet236.cls b/XVBA/事業計画集計/vba-files/Class/Sheet236.cls new file mode 100644 index 00000000..9fa48682 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet236.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet236" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet237.cls b/XVBA/事業計画集計/vba-files/Class/Sheet237.cls new file mode 100644 index 00000000..5339f612 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet237.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet237" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet238.cls b/XVBA/事業計画集計/vba-files/Class/Sheet238.cls new file mode 100644 index 00000000..309ef224 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet238.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet238" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet239.cls b/XVBA/事業計画集計/vba-files/Class/Sheet239.cls new file mode 100644 index 00000000..1f28e4f3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet239.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet239" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet24.cls b/XVBA/事業計画集計/vba-files/Class/Sheet24.cls new file mode 100644 index 00000000..7f57500d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet24.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet24" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet240.cls b/XVBA/事業計画集計/vba-files/Class/Sheet240.cls new file mode 100644 index 00000000..976f399c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet240.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet240" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet241.cls b/XVBA/事業計画集計/vba-files/Class/Sheet241.cls new file mode 100644 index 00000000..2b3fca5a --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet241.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet241" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet242.cls b/XVBA/事業計画集計/vba-files/Class/Sheet242.cls new file mode 100644 index 00000000..eae9cf9f --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet242.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet242" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet243.cls b/XVBA/事業計画集計/vba-files/Class/Sheet243.cls new file mode 100644 index 00000000..da503d85 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet243.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet243" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet244.cls b/XVBA/事業計画集計/vba-files/Class/Sheet244.cls new file mode 100644 index 00000000..11790629 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet244.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet244" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet245.cls b/XVBA/事業計画集計/vba-files/Class/Sheet245.cls new file mode 100644 index 00000000..cb091d26 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet245.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet245" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet246.cls b/XVBA/事業計画集計/vba-files/Class/Sheet246.cls new file mode 100644 index 00000000..408d972e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet246.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet246" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet247.cls b/XVBA/事業計画集計/vba-files/Class/Sheet247.cls new file mode 100644 index 00000000..b838f32c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet247.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet247" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet248.cls b/XVBA/事業計画集計/vba-files/Class/Sheet248.cls new file mode 100644 index 00000000..935df63e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet248.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet248" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet249.cls b/XVBA/事業計画集計/vba-files/Class/Sheet249.cls new file mode 100644 index 00000000..391008a8 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet249.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet249" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet25.cls b/XVBA/事業計画集計/vba-files/Class/Sheet25.cls new file mode 100644 index 00000000..9a0d662f --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet25.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet25" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet26.cls b/XVBA/事業計画集計/vba-files/Class/Sheet26.cls new file mode 100644 index 00000000..85d938c4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet26.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet26" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet27.cls b/XVBA/事業計画集計/vba-files/Class/Sheet27.cls new file mode 100644 index 00000000..a023af98 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet27.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet27" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet28.cls b/XVBA/事業計画集計/vba-files/Class/Sheet28.cls new file mode 100644 index 00000000..c090f504 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet28.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet28" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet29.cls b/XVBA/事業計画集計/vba-files/Class/Sheet29.cls new file mode 100644 index 00000000..3840b8d1 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet29.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet29" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet3.cls b/XVBA/事業計画集計/vba-files/Class/Sheet3.cls new file mode 100644 index 00000000..0393198e --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet3.cls @@ -0,0 +1,10 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet3" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet30.cls b/XVBA/事業計画集計/vba-files/Class/Sheet30.cls new file mode 100644 index 00000000..f16dfb8c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet30.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet30" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet31.cls b/XVBA/事業計画集計/vba-files/Class/Sheet31.cls new file mode 100644 index 00000000..6905d0a6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet31.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet31" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet32.cls b/XVBA/事業計画集計/vba-files/Class/Sheet32.cls new file mode 100644 index 00000000..8cc0c7e4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet32.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet32" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet33.cls b/XVBA/事業計画集計/vba-files/Class/Sheet33.cls new file mode 100644 index 00000000..fb9f552f --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet33.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet33" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet34.cls b/XVBA/事業計画集計/vba-files/Class/Sheet34.cls new file mode 100644 index 00000000..5d1e4c60 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet34.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet34" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet35.cls b/XVBA/事業計画集計/vba-files/Class/Sheet35.cls new file mode 100644 index 00000000..2e36cc70 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet35.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet35" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet36.cls b/XVBA/事業計画集計/vba-files/Class/Sheet36.cls new file mode 100644 index 00000000..887a9f2a --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet36.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet36" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet37.cls b/XVBA/事業計画集計/vba-files/Class/Sheet37.cls new file mode 100644 index 00000000..bfbf99c4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet37.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet37" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet38.cls b/XVBA/事業計画集計/vba-files/Class/Sheet38.cls new file mode 100644 index 00000000..38149f6a --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet38.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet38" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet39.cls b/XVBA/事業計画集計/vba-files/Class/Sheet39.cls new file mode 100644 index 00000000..849aa162 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet39.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet39" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet4.cls b/XVBA/事業計画集計/vba-files/Class/Sheet4.cls new file mode 100644 index 00000000..c9ba7ab7 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet4.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet4" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet40.cls b/XVBA/事業計画集計/vba-files/Class/Sheet40.cls new file mode 100644 index 00000000..c7b2afa1 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet40.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet40" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet41.cls b/XVBA/事業計画集計/vba-files/Class/Sheet41.cls new file mode 100644 index 00000000..c27b7a0c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet41.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet41" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet42.cls b/XVBA/事業計画集計/vba-files/Class/Sheet42.cls new file mode 100644 index 00000000..b2ff87c8 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet42.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet42" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet47.cls b/XVBA/事業計画集計/vba-files/Class/Sheet47.cls new file mode 100644 index 00000000..9978b5d4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet47.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet47" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet48.cls b/XVBA/事業計画集計/vba-files/Class/Sheet48.cls new file mode 100644 index 00000000..f5f17bf6 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet48.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet48" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet49.cls b/XVBA/事業計画集計/vba-files/Class/Sheet49.cls new file mode 100644 index 00000000..f31204b7 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet49.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet49" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet5.cls b/XVBA/事業計画集計/vba-files/Class/Sheet5.cls new file mode 100644 index 00000000..256756ea --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet5.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet5" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet6.cls b/XVBA/事業計画集計/vba-files/Class/Sheet6.cls new file mode 100644 index 00000000..eb370ff4 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet6.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet6" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet7.cls b/XVBA/事業計画集計/vba-files/Class/Sheet7.cls new file mode 100644 index 00000000..9d6db4a0 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet7.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet7" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet8.cls b/XVBA/事業計画集計/vba-files/Class/Sheet8.cls new file mode 100644 index 00000000..39390f11 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet8.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet8" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet9.cls b/XVBA/事業計画集計/vba-files/Class/Sheet9.cls new file mode 100644 index 00000000..c37cda0d --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/Sheet9.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet9" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls b/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls new file mode 100644 index 00000000..90b268e3 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls @@ -0,0 +1,10 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit diff --git a/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas b/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas new file mode 100644 index 00000000..3aec36d2 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas @@ -0,0 +1,1123 @@ +Attribute VB_Name = "JsonConverter" +'' +' VBA-JSON v2.3.1 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON +' +' JSON Converter for VBA +' +' Errors: +' 10001 - JSON parse error +' +' @class JsonConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +' +' Based originally on vba-json (with extensive changes) +' BSD license included below +' +' JSONLib, http://code.google.com/p/vba-json/ +' +' Copyright (c) 2013, Ryo Yokoyama +' All rights reserved. +' +' Redistribution and use in source and binary forms, with or without +' modification, are permitted provided that the following conditions are met: +' * Redistributions of source code must retain the above copyright +' notice, this list of conditions and the following disclaimer. +' * Redistributions in binary form must reproduce the above copyright +' notice, this list of conditions and the following disclaimer in the +' documentation and/or other materials provided with the distribution. +' * Neither the name of the nor the +' names of its contributors may be used to endorse or promote products +' derived from this software without specific prior written permission. +' +' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +Option Explicit + +' === VBA-UTC Headers +#If Mac Then + +#If VBA7 Then + +' 64-bit Mac (2016) +Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr +Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _ + (ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _ + (ByVal utc_File As LongPtr) As LongPtr + +#Else + +' 32-bit Mac +Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As Long +Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _ + (ByVal utc_File As Long) As Long +Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long +Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _ + (ByVal utc_File As Long) As Long + +#End If + +#ElseIf VBA7 Then + +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx +Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#Else + +Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#End If + +#If Mac Then + +#If VBA7 Then +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As LongPtr +End Type + +#Else + +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As Long +End Type + +#End If + +#Else + +Private Type utc_SYSTEMTIME + utc_wYear As Integer + utc_wMonth As Integer + utc_wDayOfWeek As Integer + utc_wDay As Integer + utc_wHour As Integer + utc_wMinute As Integer + utc_wSecond As Integer + utc_wMilliseconds As Integer +End Type + +Private Type utc_TIME_ZONE_INFORMATION + utc_Bias As Long + utc_StandardName(0 To 31) As Integer + utc_StandardDate As utc_SYSTEMTIME + utc_StandardBias As Long + utc_DaylightName(0 To 31) As Integer + utc_DaylightDate As utc_SYSTEMTIME + utc_DaylightBias As Long +End Type + +#End If +' === End VBA-UTC + +Private Type json_Options + ' VBA only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits + ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True` + UseDoubleForLargeNumbers As Boolean + + ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys + AllowUnquotedKeys As Boolean + + ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson + EscapeSolidus As Boolean +End Type +Public JsonOptions As json_Options + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Convert JSON string to object (Dictionary/Collection) +' +' @method ParseJson +' @param {String} json_String +' @return {Object} (Dictionary or Collection) +' @throws 10001 - JSON parse error +'' +Public Function ParseJson(ByVal JsonString As String) As Object + Dim json_Index As Long + json_Index = 1 + + ' Remove vbCr, vbLf, and vbTab from json_String + JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "") + + json_SkipSpaces JsonString, json_Index + Select Case VBA.Mid$(JsonString, json_Index, 1) + Case "{" + Set ParseJson = json_ParseObject(JsonString, json_Index) + Case "[" + Set ParseJson = json_ParseArray(JsonString, json_Index) + Case Else + ' Error: Invalid JSON string + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['") + End Select +End Function + +'' +' Convert object (Dictionary/Collection/Array) to JSON +' +' @method ConvertToJson +' @param {Variant} JsonValue (Dictionary, Collection, or Array) +' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string +' @return {String} +'' +Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + Dim json_Index As Long + Dim json_LBound As Long + Dim json_UBound As Long + Dim json_IsFirstItem As Boolean + Dim json_Index2D As Long + Dim json_LBound2D As Long + Dim json_UBound2D As Long + Dim json_IsFirstItem2D As Boolean + Dim json_Key As Variant + Dim json_Value As Variant + Dim json_DateStr As String + Dim json_Converted As String + Dim json_SkipItem As Boolean + Dim json_PrettyPrint As Boolean + Dim json_Indentation As String + Dim json_InnerIndentation As String + + json_LBound = -1 + json_UBound = -1 + json_IsFirstItem = True + json_LBound2D = -1 + json_UBound2D = -1 + json_IsFirstItem2D = True + json_PrettyPrint = Not IsMissing(Whitespace) + + Select Case VBA.VarType(JsonValue) + Case VBA.vbNull + ConvertToJson = "null" + Case VBA.vbDate + ' Date + json_DateStr = ConvertToIso(VBA.CDate(JsonValue)) + + ConvertToJson = """" & json_DateStr & """" + Case VBA.vbString + ' String (or large number encoded as string) + If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then + ConvertToJson = JsonValue + Else + ConvertToJson = """" & json_Encode(JsonValue) & """" + End If + Case VBA.vbBoolean + If JsonValue Then + ConvertToJson = "true" + Else + ConvertToJson = "false" + End If + Case VBA.vbArray To VBA.vbArray + VBA.vbByte + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace) + End If + End If + + ' Array + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + + On Error Resume Next + + json_LBound = LBound(JsonValue, 1) + json_UBound = UBound(JsonValue, 1) + json_LBound2D = LBound(JsonValue, 2) + json_UBound2D = UBound(JsonValue, 2) + + If json_LBound >= 0 And json_UBound >= 0 Then + For json_Index = json_LBound To json_UBound + If json_IsFirstItem Then + json_IsFirstItem = False + Else + ' Append comma to previous line + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_LBound2D >= 0 And json_UBound2D >= 0 Then + ' 2D Array + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength + + For json_Index2D = json_LBound2D To json_UBound2D + If json_IsFirstItem2D Then + json_IsFirstItem2D = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_InnerIndentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Index2D + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + json_IsFirstItem2D = True + Else + ' 1D Array + json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Index + End If + + On Error GoTo 0 + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + + ' Dictionary or Collection + Case VBA.vbObject + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + End If + End If + + ' Dictionary + If VBA.TypeName(JsonValue) = "Dictionary" Then + json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength + For Each json_Key In JsonValue.keys + ' For Objects, undefined (Empty/Nothing) is not added to object + json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1) + If json_Converted = "" Then + json_SkipItem = json_IsUndefined(JsonValue(json_Key)) + Else + json_SkipItem = False + End If + + If Not json_SkipItem Then + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted + Else + json_Converted = """" & json_Key & """:" & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Key + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength + + ' Collection + ElseIf VBA.TypeName(JsonValue) = "Collection" Then + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + For Each json_Value In JsonValue + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(json_Value) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Value + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + End If + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal + ' Number (use decimals for numbers) + ConvertToJson = VBA.Replace(JsonValue, ",", ".") + Case Else + ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType + ' Use VBA's built-in to-string + On Error Resume Next + ConvertToJson = JsonValue + On Error GoTo 0 + End Select +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary + Dim json_Key As String + Dim json_NextChar As String + + Set json_ParseObject = New Dictionary + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "{" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "}" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_Key = json_ParseKey(json_String, json_Index) + json_NextChar = json_Peek(json_String, json_Index) + If json_NextChar = "[" Or json_NextChar = "{" Then + Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + Else + json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + End If + Loop + End If +End Function + +Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection + Set json_ParseArray = New Collection + + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "[" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "]" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_ParseArray.Add json_ParseValue(json_String, json_Index) + Loop + End If +End Function + +Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant + json_SkipSpaces json_String, json_Index + Select Case VBA.Mid$(json_String, json_Index, 1) + Case "{" + Set json_ParseValue = json_ParseObject(json_String, json_Index) + Case "[" + Set json_ParseValue = json_ParseArray(json_String, json_Index) + Case """", "'" + json_ParseValue = json_ParseString(json_String, json_Index) + Case Else + If VBA.Mid$(json_String, json_Index, 4) = "true" Then + json_ParseValue = True + json_Index = json_Index + 4 + ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then + json_ParseValue = False + json_Index = json_Index + 5 + ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then + json_ParseValue = Null + json_Index = json_Index + 4 + ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then + json_ParseValue = json_ParseNumber(json_String, json_Index) + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['") + End If + End Select +End Function + +Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String + Dim json_Quote As String + Dim json_Char As String + Dim json_Code As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + json_SkipSpaces json_String, json_Index + + ' Store opening quote to look for matching closing quote + json_Quote = VBA.Mid$(json_String, json_Index, 1) + json_Index = json_Index + 1 + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case "\" + ' Escaped string, \\, or \/ + json_Index = json_Index + 1 + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case """", "\", "/", "'" + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "b" + json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "f" + json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "n" + json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "r" + json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "t" + json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "u" + ' Unicode character escape (e.g. \u00a9 = Copyright) + json_Index = json_Index + 1 + json_Code = VBA.Mid$(json_String, json_Index, 4) + json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength + json_Index = json_Index + 4 + End Select + Case json_Quote + json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition) + json_Index = json_Index + 1 + Exit Function + Case Else + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + End Select + Loop +End Function + +Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant + Dim json_Char As String + Dim json_Value As String + Dim json_IsLargeNumber As Boolean + + json_SkipSpaces json_String, json_Index + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + If VBA.InStr("+-0123456789.eE", json_Char) Then + ' Unlikely to have massive number, so use simple append rather than buffer here + json_Value = json_Value & json_Char + json_Index = json_Index + 1 + Else + ' Excel only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number + ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16) + json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16) + If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then + json_ParseNumber = json_Value + Else + ' VBA.Val does not use regional settings, so guard for comma is not needed + json_ParseNumber = VBA.Val(json_Value) + End If + Exit Function + End If + Loop +End Function + +Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String + ' Parse key with single or double quotes + If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then + json_ParseKey = json_ParseString(json_String, json_Index) + ElseIf JsonOptions.AllowUnquotedKeys Then + Dim json_Char As String + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + If (json_Char <> " ") And (json_Char <> ":") Then + json_ParseKey = json_ParseKey & json_Char + json_Index = json_Index + 1 + Else + Exit Do + End If + Loop + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''") + End If + + ' Check for colon and skip if present or throw if not present + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> ":" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'") + Else + json_Index = json_Index + 1 + End If +End Function + +Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean + ' Empty / Nothing -> undefined + Select Case VBA.VarType(json_Value) + Case VBA.vbEmpty + json_IsUndefined = True + Case VBA.vbObject + Select Case VBA.TypeName(json_Value) + Case "Empty", "Nothing" + json_IsUndefined = True + End Select + End Select +End Function + +Private Function json_Encode(ByVal json_Text As Variant) As String + ' Reference: http://www.ietf.org/rfc/rfc4627.txt + ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab + Dim json_Index As Long + Dim json_Char As String + Dim json_AscCode As Long + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + For json_Index = 1 To VBA.Len(json_Text) + json_Char = VBA.Mid$(json_Text, json_Index, 1) + json_AscCode = VBA.AscW(json_Char) + + ' When AscW returns a negative number, it returns the twos complement form of that number. + ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result. + ' https://support.microsoft.com/en-us/kb/272138 + If json_AscCode < 0 Then + json_AscCode = json_AscCode + 65536 + End If + + ' From spec, ", \, and control characters must be escaped (solidus is optional) + + Select Case json_AscCode + Case 34 + ' " -> 34 -> \" + json_Char = "\""" + Case 92 + ' \ -> 92 -> \\ + json_Char = "\\" + Case 47 + ' / -> 47 -> \/ (optional) + If JsonOptions.EscapeSolidus Then + json_Char = "\/" + End If + Case 8 + ' backspace -> 8 -> \b + json_Char = "\b" + Case 12 + ' form feed -> 12 -> \f + json_Char = "\f" + Case 10 + ' line feed -> 10 -> \n + json_Char = "\n" + Case 13 + ' carriage return -> 13 -> \r + json_Char = "\r" + Case 9 + ' tab -> 9 -> \t + json_Char = "\t" + Case 0 To 31, 127 To 65535 + ' Non-ascii characters -> convert to 4-digit hex + json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4) + End Select + + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + Next json_Index + + json_Encode = json_BufferToString(json_Buffer, json_BufferPosition) +End Function + +Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String + ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef) + json_SkipSpaces json_String, json_Index + json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters) +End Function + +Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long) + ' Increment index to skip over spaces + Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " " + json_Index = json_Index + 1 + Loop +End Sub + +Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean + ' Check if the given string is considered a "large number" + ' (See json_ParseNumber) + + Dim json_Length As Long + Dim json_CharIndex As Long + json_Length = VBA.Len(json_String) + + ' Length with be at least 16 characters and assume will be less than 100 characters + If json_Length >= 16 And json_Length <= 100 Then + Dim json_CharCode As String + + json_StringIsLargeNumber = True + + For json_CharIndex = 1 To json_Length + json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1)) + Select Case json_CharCode + ' Look for .|0-9|E|e + Case 46, 48 To 57, 69, 101 + ' Continue through characters + Case Else + json_StringIsLargeNumber = False + Exit Function + End Select + Next json_CharIndex + End If +End Function + +Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String) + ' Provide detailed parse error message, including details of where and what occurred + ' + ' Example: + ' Error parsing JSON: + ' {"abcde":True} + ' ^ + ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '[' + + Dim json_StartIndex As Long + Dim json_StopIndex As Long + + ' Include 10 characters before and after error (if possible) + json_StartIndex = json_Index - 10 + json_StopIndex = json_Index + 10 + If json_StartIndex <= 0 Then + json_StartIndex = 1 + End If + If json_StopIndex > VBA.Len(json_String) Then + json_StopIndex = VBA.Len(json_String) + End If + + json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _ + VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _ + VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _ + ErrorMessage +End Function + +Private Sub json_BufferAppend(ByRef json_Buffer As String, _ + ByRef json_Append As Variant, _ + ByRef json_BufferPosition As Long, _ + ByRef json_BufferLength As Long) + ' VBA can be slow to append strings due to allocating a new string for each append + ' Instead of using the traditional append, allocate a large empty string and then copy string at append position + ' + ' Example: + ' Buffer: "abc " + ' Append: "def" + ' Buffer Position: 3 + ' Buffer Length: 5 + ' + ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer + ' Buffer: "abc " + ' Buffer Length: 10 + ' + ' Put "def" into buffer at position 3 (0-based) + ' Buffer: "abcdef " + ' + ' Approach based on cStringBuilder from vbAccelerator + ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp + ' + ' and clsStringAppend from Philip Swannell + ' https://github.com/VBA-tools/VBA-JSON/pull/82 + + Dim json_AppendLength As Long + Dim json_LengthPlusPosition As Long + + json_AppendLength = VBA.Len(json_Append) + json_LengthPlusPosition = json_AppendLength + json_BufferPosition + + If json_LengthPlusPosition > json_BufferLength Then + ' Appending would overflow buffer, add chunk + ' (double buffer length or append length, whichever is bigger) + Dim json_AddedLength As Long + json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength) + + json_Buffer = json_Buffer & VBA.Space$(json_AddedLength) + json_BufferLength = json_BufferLength + json_AddedLength + End If + + ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error: + ' Function call on left-hand side of assignment must return Variant or Object + Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append) + json_BufferPosition = json_BufferPosition + json_AppendLength +End Sub + +Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String + If json_BufferPosition > 0 Then + json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition) + End If +End Function + +'' +' VBA-UTC v1.0.6 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter +' +' UTC/ISO 8601 Converter for VBA +' +' Errors: +' 10011 - UTC parsing error +' 10012 - UTC conversion error +' 10013 - ISO 8601 parsing error +' 10014 - ISO 8601 conversion error +' +' @module UtcConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' + +' (Declarations moved to top) + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Parse UTC date to local date +' +' @method ParseUtc +' @param {Date} UtcDate +' @return {Date} Local date +' @throws 10011 - UTC parsing error +'' +Public Function ParseUtc(utc_UtcDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ParseUtc = utc_ConvertDate(utc_UtcDate) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_LocalDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate + + ParseUtc = utc_SystemTimeToDate(utc_LocalDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to UTC date +' +' @method ConvertToUrc +' @param {Date} utc_LocalDate +' @return {Date} UTC date +' @throws 10012 - UTC conversion error +'' +Public Function ConvertToUtc(utc_LocalDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_UtcDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate + + ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Parse ISO 8601 date string to local date +' +' @method ParseIso +' @param {Date} utc_IsoString +' @return {Date} Local date +' @throws 10013 - ISO 8601 parsing error +'' +Public Function ParseIso(utc_IsoString As String) As Date + On Error GoTo utc_ErrorHandling + + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + Dim utc_OffsetIndex As Long + Dim utc_HasOffset As Boolean + Dim utc_NegativeOffset As Boolean + Dim utc_OffsetParts() As String + Dim utc_Offset As Date + + utc_Parts = VBA.Split(utc_IsoString, "T") + utc_DateParts = VBA.Split(utc_Parts(0), "-") + ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2))) + + If UBound(utc_Parts) > 0 Then + If VBA.InStr(utc_Parts(1), "Z") Then + utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":") + Else + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+") + If utc_OffsetIndex = 0 Then + utc_NegativeOffset = True + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-") + End If + + If utc_OffsetIndex > 0 Then + utc_HasOffset = True + utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":") + utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":") + + Select Case UBound(utc_OffsetParts) + Case 0 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0) + Case 1 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2)))) + End Select + + If utc_NegativeOffset Then: utc_Offset = -utc_Offset + Else + utc_TimeParts = VBA.Split(utc_Parts(1), ":") + End If + End If + + Select Case UBound(utc_TimeParts) + Case 0 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0) + Case 1 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2)))) + End Select + + ParseIso = ParseUtc(ParseIso) + + If utc_HasOffset Then + ParseIso = ParseIso - utc_Offset + End If + End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to ISO 8601 string +' +' @method ConvertToIso +' @param {Date} utc_LocalDate +' @return {Date} ISO 8601 string +' @throws 10014 - ISO 8601 conversion error +'' +Public Function ConvertToIso(utc_LocalDate As Date) As String + On Error GoTo utc_ErrorHandling + + ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z") + + Exit Function + +utc_ErrorHandling: + Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +#If Mac Then + +Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date + Dim utc_ShellCommand As String + Dim utc_Result As utc_ShellResult + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + + If utc_ConvertToUtc Then + utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _ + " +'%s'` +'%Y-%m-%d %H:%M:%S'" + Else + utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _ + "+'%Y-%m-%d %H:%M:%S'" + End If + + utc_Result = utc_ExecuteInShell(utc_ShellCommand) + + If utc_Result.utc_Output = "" Then + Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed" + Else + utc_Parts = Split(utc_Result.utc_Output, " ") + utc_DateParts = Split(utc_Parts(0), "-") + utc_TimeParts = Split(utc_Parts(1), ":") + + utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _ + TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2)) + End If +End Function + +Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult +#If VBA7 Then + Dim utc_File As LongPtr + Dim utc_Read As LongPtr +#Else + Dim utc_File As Long + Dim utc_Read As Long +#End If + + Dim utc_Chunk As String + + On Error GoTo utc_ErrorHandling + utc_File = utc_popen(utc_ShellCommand, "r") + + If utc_File = 0 Then: Exit Function + + Do While utc_feof(utc_File) = 0 + utc_Chunk = VBA.Space$(50) + utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File)) + If utc_Read > 0 Then + utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read)) + utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk + End If + Loop + +utc_ErrorHandling: + utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File)) +End Function + +#Else + +Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME + utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value) + utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value) + utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value) + utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value) + utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value) + utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value) + utc_DateToSystemTime.utc_wMilliseconds = 0 +End Function + +Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date + utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _ + TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond) +End Function + +#End If diff --git a/XVBA/事業計画集計/vba-files/Module/Module1.bas b/XVBA/事業計画集計/vba-files/Module/Module1.bas new file mode 100644 index 00000000..bb9d63fd --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Module/Module1.bas @@ -0,0 +1,301 @@ +Attribute VB_Name = "Module1" +Option Explicit + +'ʕϐ +Public ƌve[uID As String +Public apiKey As String +Public baseURL As String +Public Nx As String + +Public GNX|[g1 As String +Public GNX|[g2 As String + +'Jn +Sub run() + Debug.Print "------ START ------" + 'smF + Dim rc As VbMsgBoxResult + rc = MsgBox("vU^[ŐV̎ƌvf[^擾܂H" & Chr(13) & "̏ɂ͏XԂ|܂", vbYesNo + vbQuestion) + + If rc = vbYes Then + Worksheets("sx\Wv").Cells(1, 9) = "擾..." + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + + ' + Call init + + 'ƌvf[^擾P + Dim resCSV As Variant + resCSV = ƌvCSVGNX|[g(GNX|[g1 & "") + 'CSVf[^V[gɕۑ + Call CSVf[^ۑ1(resCSV, ƌve[uID & "") + + 'ƌvf[^擾Q + resCSV = ƌvCSVGNX|[g(GNX|[g2 & "") + 'CSVf[^V[gɕۑ + Call CSVf[^ۑ2(resCSV) + + 'Worksheets("sx\Wv").Range("B2").Select + Worksheets("sx\Wv").Cells(1, 9) = "擾" + + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + Else + MsgBox "𒆎~܂", vbCritical + + End If + + Debug.Print "------ " + Debug.Print "------ END ------" + +End Sub + +Function init() + 'pubNϐɒli[ + 'ƌve[u 214737 + ƌve[uID = Range("ƌve[uID").Value + Nx = Range("Nx").Value + GNX|[g1 = Range("GNX|[g1").Value + GNX|[g2 = Range("GNX|[g2").Value + + 'Pleasanter API KEY + apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + baseURL = "https://nextoffice.Next-hd.co.jp" + +End Function + +Function ƌvCSVGNX|[g(exportId As String) As Variant + 'ʕϐ + Dim apiUrl As String + Dim apiUrlParam As String + + 'NGXgURL + apiUrl = baseURL & "/pleasanter/api/items/" & ƌve[uID & "/" + apiUrlParam = "export" + + 'wb_ + Dim apiHeaders As New Dictionary + apiHeaders.Add "Content-Type", "application/json;charset=utf-8" + + 'NGXgf[^ + Dim apiBody As New Dictionary + apiBody.Add "ApiVersion", "1.1" + apiBody.Add "ApiKey", apiKey + apiBody.Add "ExportId", exportId + + 'Filterϐ + Dim colFilter As New Dictionary + colFilter.Add "ClassZ", "[" & Nx & "]" + + '\[gw + Dim colSorter As New Dictionary + colSorter.Add "Num199", "asc" + colSorter.Add "ClassA", "asc" + colSorter.Add "ClassB", "asc" + + 'Viewϐ + Dim view As New Dictionary + view.Add "ColumnFilterHash", colFilter + view.Add "ColumnSorterHash", colSorter + apiBody.Add "View", view + + 'HTTPNGXgM\bhĂяo + Dim res As Object + Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody) + + If res("StatusCode") = 200 Then + Debug.Print "---- CSVf[^̎擾ɐ܂" + ƌvCSVGNX|[g = res("Response")("Content") + + End If + +End Function + +Function CSVf[^ۑ1(csvData As Variant, targetSheet As String) + Debug.Print "------ CSVf[^V[gɏo͊Jn" + 'CSVf[^ue[uvɏo͂鏈 + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(targetSheet & "") + ws.Cells.ClearContents + + Dim lines() As String + lines = Split(csvData, vbCrLf) + + Dim i As Long, j As Long + Dim maxCols As Long + Dim values() As String + Dim arr() As Variant + + '܂ő񐔂擾 + For i = LBound(lines) To UBound(lines) + If Trim(lines(i)) <> "" Then + values = Split(lines(i), ",") + If UBound(values) + 1 > maxCols Then + maxCols = UBound(values) + 1 + End If + End If + Next i + + '񎟌z + ReDim arr(0 To UBound(lines), 0 To maxCols - 1) + + 'zɊi[ + For i = LBound(lines) To UBound(lines) + If Trim(lines(i)) <> "" Then + values = Split(lines(i), ",") + For j = LBound(values) To UBound(values) + arr(i, j) = values(j) + Next j + End If + Next i + + 'V[gɏo + ws.Range(ws.Cells(1, 1), ws.Cells(UBound(arr, 1) + 1, UBound(arr, 2) + 1)).Value = arr + + Debug.Print "------ " + Debug.Print "------ CSVf[^V[gɏo͊" +End Function + + + +Function CSVf[^ۑ2(csvData As Variant) + Debug.Print "------ CSVf[^XܕʃV[gɏo͊Jn" + Dim lines() As String + lines = Split(csvData, vbCrLf) + + Dim i As Long, j As Long + + For i = LBound(lines) To UBound(lines) + If Trim(lines(i)) <> "" Then + Call V[g쐬(lines(i)) + Call f[^V[gۑ(lines(i)) + End If + Next i + + + Debug.Print "------ " + Debug.Print "------ CSVf[^XܕʃV[gɏo͊" +End Function + +Function V[g쐬(data As String) + Dim values() As String + values = Split(data, vbTab) + + Dim Xܖ As String + Xܖ = values(1) + Dim As String + = values(2) + + 'eV[g݊mF + Dim 󒅊V[gExist As Boolean + Dim vV[gExist As Boolean + Dim DATAV[gExist As Boolean + + 󒅊V[gExist = V[gmF(Xܖ & "_󒅊") + vV[gExist = V[gmF(Xܖ & "_v") + DATAV[gExist = V[gmF(Xܖ & "_DATA") + + 'V[g쐬 + If 󒅊V[gExist = False Then + If = "1" Then + Worksheets("󒅊ev[g2").Copy After:=Worksheets(Worksheets.count) + Else + Worksheets("󒅊ev[g1").Copy After:=Worksheets(Worksheets.count) + End If + + ActiveSheet.Name = Xܖ & "_󒅊" + ActiveSheet.Range("A1") = Xܖ + If = "" Then + ActiveSheet.Range("A3") = "False" + Else + ActiveSheet.Range("A3") = "True" + End If + End If + + If vV[gExist = False Then + Worksheets("vev[g").Copy After:=Worksheets(Xܖ & "_󒅊") + ActiveSheet.Name = Xܖ & "_v" + ActiveSheet.Range("A1") = Xܖ + If = "" Then + ActiveSheet.Range("A3") = "False" + Else + ActiveSheet.Range("A3") = "True" + End If + End If + + If DATAV[gExist = False Then + Worksheets("DATAev[g").Copy After:=Worksheets(Xܖ & "_v") + ActiveSheet.Name = Xܖ & "_DATA" + 'ActiveSheet.Visible = False + End If + + +End Function + +Function f[^V[gۑ(data As String) + Dim values() As String + values = Split(data, vbTab) + + Dim Xܖ As String + Xܖ = values(1) + + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(Xܖ & "_DATA") + + 'V[gNA + 'ws.Visible = True + 'ws.Select + ws.Range("C4:CG68").ClearContents + + 'f[^V[gɕۑ + Dim num As Long , i As Long, j As Long, x As Long, y As Long + Dim dataStr As String + Dim dataObj As Object + + num = 3 + Dim arrData() As Variant + ReDim arrData(1 To 65, 1 To 83) + + x = 1 + y = 1 + + For i = 1 To 6 + For j = 1 To 12 + dataStr = values(num) + Set dataObj = JsonConverter.ParseJson(dataStr) + + Dim var, y1 As Long, x1 As Long + y1 = y + x1 = x + For Each var In dataObj + 'Debug.Print "VAR1:" & var("1") , "VAR2:" & var("2") , "VAR3:" & var("3") , "VAR4:" & var("4") , "VAR6:" & var("6") , "VAR7:" & var("7") + arrData(x, y) = tϊ(var("1")) + y = y + 1 + arrData(x, y) = var("2") + y = y + 1 + arrData(x, y) = var("3") + y = y + 1 + arrData(x, y) = var("4") + y = y + 1 + arrData(x, y) = var("6") + y = y + 1 + arrData(x, y) = var("7") + y = y1 + x = x + 1 + Next var + y = y1 + 7 + x = x1 + num = num + 1 + Next j + + y = 1 + x = x + 11 + Next i + + 'f[^̏ + ws.Range("C4").Resize(UBound(arrData, 1), UBound(arrData, 2)).Value = arrData + 'Debug.Print "---- " & Xܖ & " DATAV[gɃf[^ۑ܂" + + ws.Visible = False +End Function diff --git a/XVBA/事業計画集計/vba-files/Module/Module2.bas b/XVBA/事業計画集計/vba-files/Module/Module2.bas new file mode 100644 index 00000000..834e239c --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Module/Module2.bas @@ -0,0 +1,57 @@ +Attribute VB_Name = "Module2" +Option Explicit + +'****************************************************************************** +'REST APIďo +'@method@GetPOST +'@url@REST APIURL +'@urlParam@NGXgp[^iIvVj +'@headers@wb_iIvVj +Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object + + 'HTTPNGXg̃IuWFNg` + Dim objHTTP As Object + Set objHTTP = New XMLHTTP60 + + 'HTTPNGXg̐ڑݒ + objHTTP.Open method, url & urlParam, False + + 'NGXgwb_[ݒiꍇsetRequestHeader𕡐Ηǂ̂`j + Dim i As Long + For i = 0 To headers.count - 1 + objHTTP.setRequestHeader headers.keys(i), headers.items(i) + Next i + + 'NGXgM + objHTTP.send JsonConverter.ConvertToJson(body) + + Do While objHTTP.readyState < 4 + DoEvents + Loop + + 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp + Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText) + +End Function + +'̓tϊ +Function tϊ(Byval dateVal As String) As Variant + If dateVal = "1899-12-30T00:00:00" Then + tϊ = "" + Elseif dateVal = "" Then + tϊ = "" + Else + dateVal = Replace(dateVal, ".000Z", "") + tϊ = CDate(Replace(dateVal, "T", " ")) + End If +End Function + +'V[g̑݊mF +Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean + Dim Sh As Excel.Worksheet + If wb Is Nothing Then Set wb = ThisWorkbook + On Error Resume Next + Set Sh = wb.Sheets(SheetName) + On Error Goto 0 + V[gmF = Not Sh Is Nothing +End Function \ No newline at end of file diff --git a/XVBA/事業計画集計/vba-files/Module/Module3.bas b/XVBA/事業計画集計/vba-files/Module/Module3.bas new file mode 100644 index 00000000..c18ed945 --- /dev/null +++ b/XVBA/事業計画集計/vba-files/Module/Module3.bas @@ -0,0 +1,55 @@ +Attribute VB_Name = "Module3" +Option Explicit + +Sub V[g܂Ƃ߂čĕ\() + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + Debug.Print "---START---" + + Dim ws As Worksheet + For Each ws In Worksheets + ws.Visible = True + Next + + Debug.Print "--- END ---" + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + +End Sub + +Sub wV[g폜() + Debug.Print "------ wV[g폜 Jn ------" + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + + Dim ws As Worksheet + Dim wsToDelete As Collection + Dim nameEndings As Variant + Dim ending As Variant + Dim i As Long + + Set wsToDelete = New Collection + nameEndings = Array("_󒅊", "_v", "_DATA") + + ' ΏۃV[gW + For Each ws In Worksheets + For Each ending In nameEndings + If Right(ws.Name, Len(ending)) = ending Then + wsToDelete.Add ws + Exit For + End If + Next ending + Next ws + + ' V[g폜itŁj + Application.DisplayAlerts = False + For i = wsToDelete.Count To 1 Step -1 + wsToDelete(i).Delete + Next i + Application.DisplayAlerts = True + + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + + Debug.Print "------ wV[g폜 I ------" +End Sub \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md new file mode 100644 index 00000000..f1f3ad96 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog +## Xdebug (Under Construction) + +- This package provides a way to simulate VBA Immediate Window in Output VSCode window + +## [1.0.0b0] - 2020-09-16 +### Added + - Create XDebug.printx + - Create XDebug.printError + + + + \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/README.md b/XVBA/事業計画集計/xvba_modules/Xdebug/README.md new file mode 100644 index 00000000..9d8b74f0 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/Xdebug/README.md @@ -0,0 +1,58 @@ +# Xdebug (VBA Immediate Window in Output VSCode Window) + +## Description + - This package provides a way to simulate VBA Immediate Window in Output VSCode window + - Find the Output window (VBA Immediate Window) + + ## Methods + +

+VBA immediate Window +

+ + + ### Xdebug.printx + +- This method print any type os variable + + +``` + +Public Sub index() + + + Dim test(1) As Variant + + 'Add an Object + Set test(0) = Sheets(1) + 'Add a String + test(1) = "Test Xdebug Output" + + Xdebug.printx test + +End Sub + +``` + + + ### Xdebug.printError + +- This method is use for print error + + +``` + Public Sub index() + + On Error GoTo ErrorHandle: + 'throw an error + d = 1/0 + 'Your code here + + + ErrorHandle: + Xdebug.errorSource = "pageConsoller.index" + Xdebug.printError + + End Sub +``` + diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls b/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls new file mode 100644 index 00000000..dd1b1d3b --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls @@ -0,0 +1,241 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Xdebug" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False + +'namespace=xvba_modules\Xdebug + +Public env As String + +'Example of Package Create by XVBA-CLI + +Private OS_TMP__FOLDER_PATH As String + +Private IMMEDIATE_FOLDER As String + +Private IMMEDIATE_FILE As String + +Private DEBUG_FILE_PATH As String + +Const EMPTY_TYPE = 0 +Const NULL_TYPE = 1 +Const ERROR_TYPE = 10 +Const INTEGER_TYPE = 2 +Const LONG_TYPE = 3 +Const SINGLE_TYPE = 4 +Const DOUBLE_TYPE = 5 +Const CURRENCY_TYPE = 6 +Const DATE_TYPE = 7 +Const DECIMAL_TYPE = 14 +Const LONG_LONG_TYPE = 20 +Const BOOLEAN_TYPE = 11 +Const STRING_TYPE = 8 +Const ARRAY_TYPE = 8204 +Const OBJECT_TYPE = 9 +Const VARIANT_TYPE = 12 +Const DATA_OBJECT_TYPE = 13 +Private Const MESSAGE_SPACE = " " + +Public errorSource As String +Public errorTitle As String + +'/* +'Flag for Actrive os Deactive VBA Debug.Print +'*/ +Public vbaDebugPrintActive As Boolean + +Private Sub class_initialize() + + Dim fso As Object + Set fso = CreateObject("Scripting.FileSystemObject") + OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2) + IMMEDIATE_FOLDER = "xvba_immediate" + IMMEDIATE_FILE = "immediate.txt" + vbaDebugPrintActive = True + errorSource = "" + errorTitle = "XVBA: New Error Was Found" + env = "DEV" + + DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE + +End Sub + + + + +Public Function printx(inputValue As Variant, Optional messageType As Integer = 1) + + If (env = "DEV") Then + Dim messageText As String + + messageText = createOutputMessage(inputValue) + + Call writeDebugFileContent(messageText, messageType) + End If +End Function + +'/* +'Print A Error +' +'*/ +Public Function printError() + If (env = "DEV") Then + + Dim message As String + + message = ErrorHanddler() + + Call writeDebugFileContent(message, 0) + + End If +End Function + + +'/* +' +'Write Debug ino on File +' +' +'*/ +Private Function writeDebugFileContent(messageText, messageType) + + Dim filePath As String + Dim FileNum As Integer + Dim PREFIX As String + + filePath = DEBUG_FILE_PATH + + FileNum = FreeFile + + PREFIX = Now & " - " + + Open filePath For Append As #FileNum + + Dim debugMessage As String + Select Case messageType + + Case 0 'Error Message + + debugMessage = PREFIX & "Error:" & messageText + Case 1 'Success + debugMessage = PREFIX & messageText + Case Else 'No Type Set + + debugMessage = PREFIX & "Info:" & messageText + End Select + + Print #FileNum, debugMessage + + Close #FileNum + + If (vbaDebugPrintActive) Then + + Debug.Print debugMessage + + End If +End Function + + +Private Function createOutputMessage(inputValue) As String + + Dim typeOfVar As Integer + Dim response As String + + typeOfVar = VarType(inputValue) + + + 'Set Error Source Macro/Function name + Err.Source = "createOutputMessage" + Select Case typeOfVar + Case STRING_TYPE + response = "String: " & inputValue + Case INTEGER_TYPE + response = "Integer: " & CStr(inputValue) + Case LONG_TYPE + response = "Long: " & CStr(inputValue) + Case SINGLE_TYPE + response = "Single: " & CStr(inputValue) + Case DOUBLE_TYPE + response = "Double: " & CStr(inputValue) + Case CURRENCY_TYPE + response = "Currenty: " & CStr(inputValue) + Case DATE_TYPE + response = "Date: " & CStr(inputValue) + Case DECIMAL_TYPE + response = "Decimal: " & CStr(inputValue) + Case LONG_LONG_TYPE + response = "LongLong: " & CStr(inputValue) + Case BOOLEAN_TYPE + response = "Boolean: " & CStr(inputValue) + Case ARRAY_TYPE + response = makeArrayTypeMessage(inputValue) + Case EMPTY_TYPE + response = "Empty: " + Case OBJECT_TYPE + response = "Object: " & TypeName(inputValue) + Case NULL_TYPE + response = "Null: " + Case ERROR_TYPE + response = "Error: " + Case VARIANT_TYPE + response = "Variant: " + Case DATA_OBJECT_TYPE + response = "Data Object: " & TypeName(inputValue) + Case Else + response = "Type Not Supported yet please inform xvba developer " + Debug.Print typeOfVar + Debug.Print inputValue + + End Select + + + createOutputMessage = response + +End Function + + +Private Function makeArrayTypeMessage(inputValue) As String + Dim nextItem As Variant + Dim response As String + Dim message As String + + For Each nextItem In inputValue + message = createOutputMessage(nextItem) + response = response & " [ " & message & " ]" & vbCrLf + Next nextItem + makeArrayTypeMessage = "Array: " & vbCrLf & response +End Function + + + +Private Function ErrorHanddler() As String + Dim errorDescription As String + Dim numberDescription As String + Dim lineError As String + Dim sourceError As String + Dim errorTitleMsg As String + Dim errorSourceMsg As String + + errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle + errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource + + + Select Case Err.Number + Case 11 + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + Case Else + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + End Select + + + ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription + +End Function diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif b/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif new file mode 100644 index 00000000..dd641693 Binary files /dev/null and b/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif differ diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json b/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json new file mode 100644 index 00000000..4a1da537 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "Xdebug", + "version": "1.0.0", + "author": "Alberto Edaurdo", + "email": "alberto.aeraphe@gmail.com", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/xdebug.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "www.xvba.dev" +} \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md b/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md new file mode 100644 index 00000000..39a71ff4 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +## excel@types (Under Construction) + +- This package provides a way to use auto-complete for excel class + + + + \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/README.md b/XVBA/事業計画集計/xvba_modules/excel-types/README.md new file mode 100644 index 00000000..dcf0411e --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/README.md @@ -0,0 +1,51 @@ +# Excel VBA type Definitions Package (excel-types) + + - This package provides a way to use auto-complete for Excel VBA Class + - You can Create your own vba type definition packages our update this. + - Type definition packages are named like: name-types + - The packages are store in www.xvba.dev + - Ech excel vba class has your own file definition + - The files extension has to be filename.d.vb + - Auto-complete just expose Public types + + +## Create,install and share VBA Packages With Xvba-cli and Xvba Repository: + +- Xvba Repository : www.xvba.dev +- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli + +## Install + +- For instal excel-types just use XVBA-CLI install command + +``` + npx xvba install excel-types +``` +## Comments Block + +- Use comments blocks below for documenting class/methods/Subs/Functions/Properties +- The comments blocs has to start with '/* and ends with '*/ + +``` + +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +``` + +``` +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +``` \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb new file mode 100644 index 00000000..af74a242 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb @@ -0,0 +1,147 @@ +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +'/* +'Returns an object that represents the active sheet (the sheet on top) +'in the active workbook or in the specified window or workbook. +'Returns Nothing if no sheet is active. +' +'*/ +Public Property ActiveSheet As Worksheet + +'/* +'Returns a Workbook object that represents the workbook in the +'active window (the window on top). +'Returns Nothing if there are no windows open or if either +'the Info window or the Clipboard window is the active window. Read-only. +' +' +'*/ +Public Property ActiveWorkbook As Workbook + +'/* +'True if Microsoft Excel displays certain alerts and messages while +'a macro is running. Read/write Boolean. +' +'Example +'Application.DisplayAlerts = False +'Workbooks("BOOK1.XLS").Close +'Application.DisplayAlerts = True +' +'*/ +Public Property DisplayAlerts As Boolean + + +'/* +'Returns or sets an XlCalculation value that represents the calculation mode. +' +'Example +'Application.Calculation = xlCalculationManual +'Application.Calculation = xlAutomatic +' +'@type {XlCalculation} +'*/ +Public Property Calculation As XlCalculation + +'/* +'True if events are enabled for the specified object. Read/write Boolean. +' +'@type {Boolean} +'*/ +Public Property EnableEvents As Boolean + +'/* +'True if screen updating is turned on. Read/write Boolean. +'@type {Boolean} +'*/ +Public Property ScreenUpdating As Boolean + + +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +'/* +'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet). +'An embedded chart is considered active when it's either selected or activated. When no chart is active, +'this property returns Nothing. +' +'Example: +'ActiveChart.HasLegend = True +' +'@type {Object.} +'*/ +Public Property ActiveChart As Chart + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property ThisWorkbook As Workbook + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property Workbooks As Workbooks + +'/* +'Activates a Microsoft application. If the application is already running, +'this method activates the running application. +'If the application isn't running, this method starts a new instance of the application. +' +'Example: (This example starts and activates Word.) +' +'Application.ActivateMicrosoftApp xlMicrosoftWord +' +'@param {XlMSApplication} index +'*/ +Public Sub ActivateMicrosoftApp( index As XlMSApplication) + +End Sub + +'/* +'An event occurs when all pending refresh activity (both synchronous and asynchronous) +'and all of the resultant calculation activities have been completed. +' +'*/ +Public Event AfterCalculate() + +'/* +'Occurs when a new workbook is created. +' +'Example: +' +'Private Sub App_NewWorkbook(ByVal Wb As Workbook) +'Application.Windows.Arrange xlArrangeStyleTiled End Sub +' +'@param {Workbook} Wb +'*/ +Public Event NewWorkbook(ByVal Wb As Workbook) + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb new file mode 100644 index 00000000..6a580711 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb @@ -0,0 +1,109 @@ + + + +'/* +' +' +' +'/* +Public Class Scripting() + + +'/* +' +'Object that stores data key/item pairs. +' +'/* +Public Function Dictionary() + +End Function + +'/* +' +'Adds a new key/item pair to a Dictionary object. +' +'*/ +Public Sub Add() + +End Sub + +'/* +' +'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object. +' +'*/ +Public Sub Exists() + +End Sub + +'/* +' +'Returns an array of all the items in a Dictionary object. +' +'*/ +Public Sub Items() + +End Sub + +'/* +' +'Returns an array of all the keys in a Dictionary object. +' +'*/ +Public Sub Keys() + +End Sub + +'/* +' +'Removes one specified key/item pair from the Dictionary object. +' +'*/ +Public Sub Remove() + +End Sub + +'/* +' +'Removes all the key/item pairs in the Dictionary object. +' +'*/ +Public Sub RemoveAll() + +End Sub + + + +'/* +'Sets or returns the comparison mode for comparing keys in a Dictionary object. +' +' +'*/ +Public Property CompareMode As Variant + + +'/* +'Returns the number of key/item pairs in a Dictionary object. +' +' +'*/ +Public Property Count As Long + + +'/* +'Sets or returns the value of an item in a Dictionary object. +' +' +'*/ +Public Property Item As Variant + +'/* +'Sets a new key value for an existing key value in a Dictionary object. +' +' +'*/ +Public Property Key As Variant + + + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb new file mode 100644 index 00000000..7115cac1 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb @@ -0,0 +1,30 @@ +'/* +'Contains information about run-time errors. +' +' +'*/ +Public Class Err() + +'/* +'Returns or sets a string expression containing a +'descriptive string associated with an object. Read/write. +' +'*/ +Public Property Description As String + +'/* +'Returns or sets a numeric value specifying an error. +'Number is the Err object's default property. Read/write. +' +'*/ +Public Property Number As Integer + + +'/* +'Returns or sets a string expression specifying the name of +'the object or application that originally generated the error. Read/write. +' +'*/ +Public Property Source As String + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb new file mode 100644 index 00000000..38aba162 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb @@ -0,0 +1,547 @@ + +'/* +'[Conversion Func] +' +'*/ +Function Asc() +End Function + +'/* +'[Conversion Func] +'Returns a String containing the character associated +'with the specified character code. +' +'Example: +' +'Dim MyChar +'MyChar = Chr(65) ' Returns A. +'MyChar = Chr(97) ' Returns a. +'MyChar = Chr(62) ' Returns >. +'MyChar = Chr(37) ' Returns %. +'*/ +Function Chr() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Format() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Hex() +End Function + + +'/* +'[Conversion Func] +' +'*/ +Function Oct() +End Function + + +'/* +'[Conversion Func] +'Returns a Variant (String) representation of a number. +' +'Example: +'Dim MyString +'MyString = Str(459) ' Returns " 459". +'MyString = Str(-459.65) ' Returns "-459.65". +'MyString = Str(459.001) ' Returns " 459.001". +' +'*/ +Function Str() As Variant +End Function + + +'/* +'[Conversion Func] +'Returns the numbers contained in a string as +'a numeric value of appropriate type. +' +'Example: +' +'Dim MyValue +'MyValue = Val("2457") ' Returns 2457. +'MyValue = Val(" 2 45 7") ' Returns 2457. +'MyValue = Val("24 and 57") ' Returns 24. +'*/ +Function Val(String) +End Function + + + +Function CreateObject() +End Function + + +Function CurDir() +End Function + +'/* +'Returns a Variant (Date) containing the current system date. +' +'Example +' +'Dim MyDate +'MyDate = Date ' MyDate contains the current system date. +' +'*/ +Function Date() + +End Function + + + +Function DateDiff() +End Function + +Function DatePart() +End Function + +Function DateSerial() +End Function + +Function Day() +End Function + +Function DDB() +End Function + +Function Dir() +End Function + +Function DoEvents() +End Function + +Function Environ() +End Function + +Function EOF() +End Function + +Function Error() +End Function + + +Function FileAttr() +End Function + +Function FileDateTime() +End Function + +Function FileLen() +End Function + +Function Filter() +End Function + +Function FormatCurrency() +End Function + +Function FormatDateTime() +End Function + +Function FormatNumber() +End Function + +Function FormaPercent() +End Function + + +Function FreeFile() +End Function + +Function FV() +End Function + +Function GetAllSettings() +End Function + +Function GetAttr() +End Function + +Function GetObject() +End Function + +Function GetSetting() +End Function + + +Function Hour() +End Function + +Function IIf() +End Function + +Function IMEStatus() +End Function + +Function Input() +End Function + +Function InputBox() +End Function + +Function InStr() +End Function + +Function InStrRev() +End Function + +Function IPmt() +End Function + + + +Function IRR() +End Function + +Function IsArray() +End Function + +Function IsDate() +End Function + +'/* +' +'Returns a Boolean value indicating whether a variable has been initialized. +' +'*/ +Function IsEmpty() +End Function + + +Function IsError() +End Function + +Function IsMissing() +End Function + +Function IsNull() +End Function + +Function IsNumeric() +End Function + + +Function IsObject() +End Function + +'/* +'Returns a string created by joining a number of substrings contained in an array. +' +'*/ +Function Join() +End Function + + + +Function LBound() +End Function + +Function LCase() +End Function + +Function Left() +End Function + +Function Len() +End Function + + +Function Loc() +End Function + +Function LOF() +End Function + +Function LTrim() +End Function + +Function RTrim() +End Function + +Function Trim() +End Function + + +Function MacID() +End Function + + + +Function MacScript() +End Function + +'/* +'[Math Function] +'Returns a value of the same type that is passed to it specifying the absolute value of a number. +' +'*/ +Function Abs() +End Function + +'/* +'[Math Function] +'Returns a Double specifying the arctangent of a number. +' +'*/ +Function Atn() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Cos() +End Function + +'/* +'[Math Function] +' +'*/ +Function Exp() +End Function + +'/* +'[Math Function] +' +'*/ +Function Int() +End Function + +'/* +'[Math Function] +' +'*/ +Function Fix() +End Function + +'/* +'[Math Function] +' +'*/ +Function Log() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Rnd() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sgn() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sin() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sqr() +End Function + +'/* +'[Math Function] +' +'*/ +Function Tan() +End Function + + + +Function Mid() +End Function + + +Function Minute() +End Function + + +Function MIRR() +End Function + + +Function Month() +End Function + +Function MonthName() +End Function + +'/* +'Displays a message in a dialog box, waits for the user to click a button, +'and returns an Integer indicating which button the user clicked. +' +'*/ +Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ]) +End Function + + +Function Now() +End Function + + +Function NPer() +End Function + + +Function NPV() +End Function + +Function PPmt() +End Function + + +Function QBColor() +End Function + + +Function Rate() +End Function + +'/* +'Returns a string, which is a substring of a string +'expression beginning at the start position (defaults to 1), +'in which a specified substring has been replaced with another +'substring a specified number of times. +' +'*/ +Function Replace(expression, find, replace, [ start, [ count, [ compare ]]]) +End Function + +Function RGB() +End Function + + +Function Right() +End Function + + +Function Round() +End Function + + +Function Second() +End Function + + + +Function Seek() +End Function + + +Function Shell() +End Function + + +Function SNL() +End Function + + +Function Space() +End Function + + +Function Spc() +End Function + + +Function Split() +End Function + + +Function StrComp() +End Function + + + +Function StrConv() +End Function + + +Function String() +End Function + + +Function StrReverse() +End Function + + + +Function Switch() +End Function + + +Function SYD() +End Function + + +Function Tab() +End Function + + +Function Time() +End Function + + + +Function Timer() +End Function + + +Function TimeSerial() +End Function + + +Function TimeValue() +End Function + + + +Function TypeName() +End Function + + +Function UBound() +End Function + + +Function Ucase() +End Function + + +Function VarType() +End Function + + + +Function Weekday() +End Function + + +Function WeekdayName() +End Function + + +Function Year() +End Function \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb new file mode 100644 index 00000000..92a9c7d7 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb @@ -0,0 +1,625 @@ +'/* +'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range. +' +' +'*/ +Public Class Range() + +'/* +'(Range) +' +'Activates a single cell, which must be inside the current selection. +'To select a range of cells, use the Select method., +' +'Example +' +'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell. +' +' Worksheets("Sheet1").Activate +' Range("A1:C3").Select +' Range("B2").Activate +' +'*/ +Public Sub Activate() + +End Sub + + +'/* +'Adds a comment to the range. +' +'Example: +' +'Worksheets(1).Range("E5").AddComment "Current Sales" +' +'@param {String} text +'*/ +Public Sub AddComment(text As String) + +End Sub + +Public Sub AddCommentThreaded() + +End Sub + +Public Sub AdvancedFilter() + +End Sub + +Public Sub AllocateChanges() + +End Sub + +Public Sub ApplyName() + +End Sub + +Public Sub ApplyOutLineStyles() + +End Sub + +Public Sub AutoComplete() + +End Sub + +Public Sub AutoFill() + +End Sub + +Public Sub AutoFilter() + +End Sub + +Public Sub AutioFit() + +End Sub + +Public Sub AutoOutline() + +End Sub + +Public Sub BorderAround() + +End Sub + +Public Sub Calculate() + +End Sub + +Public Sub CalculateRowMajorOrder() + +End Sub + +Public Sub CheckSpelling() + +End Sub + +Public Sub Clear() + +End Sub + +Public Sub ClearComments() + +End Sub + +Public Sub ClearContents() + +End Sub + +Public Sub ClearFormats() + +End Sub + +Public Sub ClearHyperlinks() + +End Sub + +Public Sub ClearNotes() + +End Sub + +Public Sub ClearOutline() + +End Sub + +Public Sub ColumnDifferences() + +End Sub + +Public Sub Consolidate() + +End Sub + +Public Sub ConvertToLinkedDataType() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub CopyFromRecordset() + +End Sub + +Public Sub CopyPicture() + +End Sub + +Public Sub CreateNames() + +End Sub + +Public Sub Cut() + +End Sub + +Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend) + +End Function + +Public Function DataTypeToText() + +End Function + +Public Function Delete (Shift) + +End Function + +Public Function DialogBox() + +End Function + +Public Function Dirty() + +End Function +Public Function DiscardChanges() + +End Function +Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format) + +End Function +Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) + +End Function +Public Function FillDown() + +End Function +Public Function FillLeft() + +End Function + +Public Function FillRight() + +End Function + +Public Function FillUp() + +End Function + +Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) + +End Function + +Public Function FindNext (After) + +End Function + +Public Function FindPrevious (Before) + +End Function + +Public Function FlashFill () + +End Function + + +Public Function FunctionWizard () + +End Function + + +Public Function Group (Start, End, By, Periods) + +End Function + +Public Function Insert (Shift, CopyOrigin) + +End Function + + +Public Function InsertIndent (InsertAmount) + +End Function + + +Public Function Justify() + +End Function + + +Public Function ListNames() + +End Function + +Public Function Merge(Across) + +End Function + +Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber) + +End Function + +Public Function NoteText(Text, Start, Length) + +End Function + +Public Function Parse(ParseLine, Destination) + +End Function + +Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose) + +End Function + + +Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) + +End Function + +Public Function PrintPreview(EnableChanges) + +End Function + +Public Function RemoveDuplicates(Columns , Header) + +End Function + +Public Function RemoveSubtotal() + +End Function + + +Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) + +End Function + + +Public Function RowDifferences(Comparison) + +End Function + +Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...) + +End Function + +Public Function Select() + +End Function + +Public Function SetCellDataTypeFromCell(Range, LanguageCulture) + +End Function + + +Public Function SetPhonetic() + +End Function + + +Public Function Show() + +End Function + + +Public Function ShowCard() + +End Function + + +Public Function ShowDependents(Remove) + +End Function + + +Public Function ShowErrors() + +End Function + + +Public Function ShowPrecedents(Remove) + +End Function + + +Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3) + +End Function + + +Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3) + +End Function + +Public Function Speak(SpeakDirection, SpeakFormulas) + +End Function + + +Public Function SpecialCells(Type, Value) + +End Function + +Public Function SubscribeTo(Edition, Format) + +End Function + +Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData) + +End Function + + +Public Function Table(RowInput, ColumnInput) + +End Function + + +Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers + +End Function + + +Public Function Ungroup() + +End Function + + +Public Function UnMerge() + +End Function + +Public Property AddIndent As Variant + +Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant +End Function + +Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range +End Function + +Public Property Application As Application + +Public Property Areas As Areas + +Public Property Borders As Variant + +Public Property Cells As Range + +Public Function Characters(Start, Length) As Variant +End Function + +Public Property Column As Long + +Public Property Columns As Long + +Public Property ColumnWidth As Variant + +Public Property Comment As Variant + +Public Property CommentThreaded As Variant + + +Public Property Count As Long + + +Public Property CountLarge As Variant + + +Public Property Creator As Integer + + +Public Property CurrentArray As Range + +'/* +'Returns a Range object that represents the current region. +'The current region is a range bounded by any combination of blank rows and blank columns. Read-only. +' +'Example +'Worksheets("Sheet1").Activate +'ActiveCell.CurrentRegion.Select +'*/ +Public Property CurrentRegion As Range + +Public Property Dependents As Range + +Public Property DirectDependents As Range + +Public Property DirectPrecedents As Range + +Public Property DisplayFormat As Object + + +Public Function End(Direction) As Object +End Function + +Public Property EntireColumn As Range + + +Public Property EntireRow As Range + + +Public Property Errors As Errors + + +Public Property Font As Font + + +Public Property FormatConditions As Range + +Public Property Formula As Variant + +Public Property FormulaArray As Variant + +Public Property FormulaHidden As Variant + + +Public Property FormulaLocal As Object + +Public Property FormulaR1C1 As Varaint + +Public Property FormulaR1C1Local As Varaint + +Public Property HasArray As Varaint + +Public Property HasFormula As Varaint + +Public Property HasRichDataType As Varaint + +Public Property Height As Double + +Public Property Hidden As Variant + +Public Property HorizontalAlignment As Variant + +Public Property Hyperlinks As Object + +Public Property ID As String + +Public Property IndentLevel As Variant + +Public Property Interior As Double + +Public Function Item (RowIndex, ColumnIndex) As Range +End Function + + +Public Property Left As Variant + + +Public Property LinkedDataTypeState As Variant + +Public Property ListHeaderRows As Variant + + +Public Property ListObject As Object + +Public Property LocationInTable As Variant + +Public Property Locked As Variant + +Public Property MDX As String + +Public Property MergeArea As Range + +Public Property MergeCells As Boolean + +Public Property Name As Variant + +Public Property Next As Range + +Public Property NumberFormat As Variant + +Public Property NumberFormatLocal As Variant + +Public Function Offset (RowOffset, ColumnOffset) As Range + +End Function + + +Public Property Orientation As Variant + +Public Property OutlineLevel As Variant + +Public Property PageBreak As Variant + +Public Property Parent As Variant + +Public Property Phonetic As Variant + +Public Property Phonetics As Variant + +Public Property PivotCell As Variant + + +Public Property PivotField As Variant + + +Public Property PivotItem As Variant + +Public Property PivotTable As Variant + +Public Property Precedents As Range + +Public Property PrefixCharacter As Variant + + +Public Property Previous As Range + +Public Property QueryTable As Variant + +Public Function Range (Cell1, Cell2) As Range +End Function + +Public Property ReadingOrder As Variant + +Public Function Resize (RowSize, ColumnSize) As Range +End Function + + +Public Property Row As Long + +Public Property RowHeight As Double + +Public Property Rows As Range + +Public Property ServerActions As Variant + + +Public Property ShowDetail As Variant + + +Public Property ShrinkToFit As Variant + + +Public Property SoundNote As Variant + + +Public Property SparklineGroups As Variant + + +Public Property Style As Variant + +Public Property Summary As Variant + + +Public Property Text As String + +Public Property Top As Variant + +Public Property UseStandardHeight As Variant + +Public Property UseStandardWidth As Variant + +Public Property Validation As Variant + +Public Function Value (RangeValueDataType) As Variant +End Function + +Public Property Value2 As Variant + + +Public Property VerticalAlignment As Variant + +Public Property Width As Double + + + +Public Property Worksheet As Worksheet + + +Public Property WrapText As Variant + +Public Property XPath As XPath + + + +End Class diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb new file mode 100644 index 00000000..55764e2b --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb @@ -0,0 +1,157 @@ +'/* +'Represents a Microsoft Excel workbook. +' +' +'*/ +Public Class Workbook() + +'/* +'Returns a String that represents the complete path to the +'workbook/file that this workbook object represents. +' +'*/ +Public Property Path As String + + +Public Property Worksheets As Worksheet + +'/* +'True if a backup file is created when this file is saved. Read-only Boolean. +' +'@type {Boolean} +'*/ +Public Property CreateBackup As Boolean + +'/* +'Returns a String value that represents the name of the object. +' +'@type {Boolean} +'*/ +Public Property Name As String + +'/* +'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean. +' +'Example: +'If Not ActiveWorkbook.Saved Then +' MsgBox "This workbook contains unsaved changes." +'End If +' +'@type {Boolean} +'*/ +Public Property Saved As String + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + + +'/* +' +'Activates the first window associated with the workbook. +' +'*/ +Public Function Activate() + +End Function + +'/* +' +'Closes the object. +' +'Example +' +'Workbooks("BOOK1.XLS").Close SaveChanges:=False +' +'@param {Variant} SaveChanges:[Optional] True or false +'@param {Variant} FileName:[Optional] Saves changes under this file name. +'@param {Variant} RouteWorkbook:[Optional] True or False +'*/ +Public Function Close(SaveChanges,FileName,RouteWorkbook) + +End Function + +'/* +'Saves changes to the specified workbook. +'*/ +Public Function Save() + +End Function + +'/* +'Saves changes to the workbook in a different file. +' +'@param {Variant} FileName:[Optional] +'@param {Variant} FileFormat:[Optional] +'@param {Variant} Password:[Optional] +'@param {Variant} WriteResPassword:[Optional] +'@param {Variant} ReadOnlyRecommended:[Optional] +'@param {Variant} CreateBackup:[Optional] +'@param {Variant} AccessMode:[Optional] +'@param {Variant} ConflictResolution:[Optional] +'@param {Variant} AddToMru:[Optional] +'@param {Variant} TextCodepage:[Optional] +'@param {Variant} TextVisualLayout:[Optional] +'@param {Variant} Local:[Optional] +'*/ +Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local) + +End Function + + +'/* +'Exports the data that has been mapped to the specified XML schema map to an XML data file. +' +'@param {String} FileName:[Required] +'@param {XmlMap} Map:[Required] +'*/ +Public Function SaveAsXMLData(FileName, Map) + +End Function + + +'/* +'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory. +' +'Example +'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS" +' +'@param {Variant} FileName:[Required] +'*/ +Public Function SaveCopyAs(FileName, Map) + +End Function + +'/* +'Sends the workbook by using the installed mail system. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +' +'@param {Variant} Recipients:[Required] +'@param {Variant} Subject:[Optional] +'@param {Variant} ReturnReceipt:[Optional] +'*/ +Public Function SendMail(Recipients, Subject, ReturnReceipt) + +End Function + +'/* +' +'The ExportAsFixedFormat method is used to publish +'a workbook to either the PDF or XPS format. +' +'*/ +Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) +End Function + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb new file mode 100644 index 00000000..07f71c5f --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb @@ -0,0 +1,109 @@ +'/* +'A collection of all the Workbook objects that are currently open in the Microsoft Excel application. +' +'*/ +Public Class Workbooks() + +'/* +'Creates a new workbook. The new workbook becomes the active workbook. +' +'@param {Variant} Template:[Optional] Determines how the new workbook is created. +'If this argument is a string specifying the name of an existing Microsoft Excel file, +'the new workbook is created with the specified file as a template. +'*/ +Public Function Add(Template) + +End Function + + +'/* +'True if Microsoft Excel can check out a specified workbook from a server. +'Read/write Boolean. +' +'@param {String} FileName:[Required] The name of the file to check out. +' +'*/ +Public Function CanCheckOut (FileName) + +End Function + + +Public Function CheckOut (FileName) + +End Function + + +Public Function Close () + +End Function + +'/* +' +'Opens a workbook. +' +'Example +'Workbooks.Open "ANALYSIS.XLS" +'ActiveWorkbook.RunAutoMacros xlAutoOpen +'*/ +Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook + +End Function + +'/* +'Returns a Workbook object representing a database. +'*/ +Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs) + +End Function + + +'/* +'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data. +'*/ +Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local) + +End Function + +'/* +'Opens an XML data file. Returns a Workbook object. +'*/ +Public Function OpenXML (FileName, Stylesheets, LoadOption) + +End Function + + +'/* +'When used without an object qualifier, this property returns an +'Application object that represents the Microsoft Excel application. +' +'*/ +Public Property Application As Application + + +'/* +'Returns a Long value that represents the number of objects in the collection. +' +'*/ +Public Property Count As Long + +'/* +'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long. +' +'*/ +Public Property Creator As Integer + + + +'/* +'Returns a single object from a collection. +' +'*/ +Public Property Item(Index) As Object + +'/* +'Returns the parent object for the specified object. Read-only. +' +'*/ +Public Property Parent As Object + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb new file mode 100644 index 00000000..24a02271 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb @@ -0,0 +1,86 @@ +'/* +'Represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheet() + + +'/* +'Makes the current sheet the active sheet. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +'*/ +Public Sub Activate() + +End Sub + + +Public Sub Calculate() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub Past() + +End Sub + +Public Sub PastSpecial() + +End Sub + +Public Sub Select() +End Sub + +Public Sub SaveAs() + +End Sub + +'/* +' +'Returns a Range object that represents a cell or a range of cells. +' +'Example: +' +'Worksheets("Sheet1").Range("A1").Value = 3.14159 +' +'*/ +Public Property Range As Range + + +'/* +' +'Returns a Range object that represents all the rows on the specified worksheet. +' +'Example: +' +'Worksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Row As Range + + +'/* +' +'Returns a Long value that represents the index number of the +'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Index As Long + + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb new file mode 100644 index 00000000..7d775495 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb @@ -0,0 +1,54 @@ +'/* +'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheets() + +'/* +'Constructor +' +'*/ +Public Sub New(Name As String) As Worksheet + +End Sub + +Public Sub Add() + +End Sub + + +Public Sub Add2() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub FillAcrossSheets() + +End Sub + +Public Sub PrintOut() + +End Sub + +Public Sub PrintPreview() +End Sub + +Public Sub Select() + +End Sub + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json b/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json new file mode 100644 index 00000000..2fb972d9 --- /dev/null +++ b/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "excel-types", + "version": "1.0.0", + "author": "Alberto Oliveira", + "email": "alberto.aeraph@gmail.comn", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/excel-types.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "https://github.com/Aeraphe/xvba-cli" +} \ No newline at end of file diff --git a/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm new file mode 100644 index 00000000..b14f6b0e Binary files /dev/null and b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm differ diff --git a/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm new file mode 100644 index 00000000..9d1ce0ba Binary files /dev/null and b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm differ diff --git a/XVBA/事業計画集計【簡易版】/.vscode/settings.json b/XVBA/事業計画集計【簡易版】/.vscode/settings.json new file mode 100644 index 00000000..c0ebeb96 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.encoding": "shiftjis", + "editor.fontFamily": "'HackGen35 Console'", + "editor.tokenColorCustomizations": { + "comments": { + "foreground": "#66ff33", + "fontStyle": "italic underline" + } + }, + "editor.defaultFormatter": "local-smart.excel-live-server", +} \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/backup.bas b/XVBA/事業計画集計【簡易版】/backup.bas new file mode 100644 index 00000000..2e777b00 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/backup.bas @@ -0,0 +1,219 @@ + +'****************************************************************************** +'V[g + + +'ʕϐ +Public targetId As String +Public apiKey As String +Public baseURL As String + +Function init() + 'pubNϐɒli[ + 'ƌve[u 214737 + targetId = Range("targetId") + + 'Pleasanter API KEY + apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + baseURL = "https://nextoffice.Next-hd.co.jp" + +End Function + +Function exportDataToSheet(res, tableId, offset) + Debug.Print "o͊Jn" + Dim Sh As Worksheet + Set Sh = Worksheets(tableId & "") + + '̂݃V[gNA + If offset = 0 Then + Sh.Cells.Clear + End If + + Dim lastRow As Long + lastRow = Sh.Cells(Rows.count, 1).End(xlUp).row + + Dim data As New Dictionary + Dim dataCount As Long + dataCount = res("Response")("Data").count + + Dim i, j As Long + ' 2z̐錾iő1000s~100Ɖj + Dim arrData(1 To 1000, 1 To 100) As Variant + + For i = 1 To dataCount + 'Xܖ擾 + Dim shopName As String + shopName = res("Response")("Data")(i)("ClassHash")("ClassB") + shopName = Replace(shopName, "/", "") + + Dim shopFlag + shopFlag = res("Response")("Data")(i)("CheckHash")("CheckA") + + 'DataV[g݊mF + Dim shExist1, shExist2 + + shExist1 = SheetExists(shopName & "_DATA") + If shExist1 = False Then + Worksheets("DATAev[g").Copy After:=Worksheets(Worksheets.count) + ActiveSheet.Name = shopName & "_DATA" + ActiveSheet.Visible = False + End If + shExist1 = SheetExists(shopName & "_DATA") + + shExist2 = SheetExists(shopName & "_󒅊") + If shExist2 = False Then + If shopFlag = True Then + Worksheets("󒅊ev[g2").Copy Before:=Worksheets(shopName & "_DATA") + Else + Worksheets("󒅊ev[g1").Copy Before:=Worksheets(shopName & "_DATA") + End If + + ActiveSheet.Name = shopName & "_󒅊" + ActiveSheet.Range("A1") = shopName + ActiveSheet.Range("A3") = shopFlag + End If + + shExist2 = SheetExists(shopName & "_v") + + If shExist2 = False Then + Worksheets("vev[g").Copy After:=Worksheets(shopName & "_󒅊") + ActiveSheet.Name = shopName & "_v" + ActiveSheet.Range("A1") = shopName + ActiveSheet.Range("A3") = shopFlag + End If + + 'Dictionaryւ̊i[ + data.Add "ResultId", res("Response")("Data")(i)("ResultId") + data.Add "Status", res("Response")("Data")(i)("Status") + data.Add "ItemTitle", res("Response")("Data")(i)("ItemTitle") + data.Add "Updator", res("Response")("Data")(i)("Updator") + data.Add "UpdatedTime", stringToDate(res("Response")("Data")(i)("UpdatedTime")) + data.Add "Body", res("Response")("Data")(i)("Body") + + ' 2zւ̊i[ + For j = 1 To 100 + arrData(i, j) = "" ' + Next j + arrData(i, 1) = res("Response")("Data")(i)("ResultId") + arrData(i, 2) = res("Response")("Data")(i)("Status") + arrData(i, 3) = res("Response")("Data")(i)("ItemTitle") + arrData(i, 4) = res("Response")("Data")(i)("Updator") + arrData(i, 5) = stringToDate(res("Response")("Data")(i)("UpdatedTime")) + arrData(i, 6) = res("Response")("Data")(i)("Body") + + Dim keys, items, count + + 'Class + keys = res("Response")("Data")(i)("ClassHash").keys + items = res("Response")("Data")(i)("ClassHash").items + count = res("Response")("Data")(i)("ClassHash").count + For j = 0 To count - 1 + data.Add keys(j), Replace(items(j), "/", "") + arrData(i, 6 + j + 1) = Replace(items(j), "/", "") + Next j + 'Num + keys = res("Response")("Data")(i)("NumHash").keys + items = res("Response")("Data")(i)("NumHash").items + count = res("Response")("Data")(i)("NumHash").count + For j = 0 To count - 1 + data.Add keys(j), items(j) + arrData(i, 6 + count + j + 1) = items(j) + Next j + 'Date + keys = res("Response")("Data")(i)("DateHash").keys + items = res("Response")("Data")(i)("DateHash").items + count = res("Response")("Data")(i)("DateHash").count + For j = 0 To count - 1 + data.Add keys(j), stringToDate(items(j)) + arrData(i, 6 + count * 2 + j + 1) = stringToDate(items(j)) + Next j + + 'Description + 'keys = res("Response")("Data")(i)("DescriptionHash").keys + 'items = res("Response")("Data")(i)("DescriptionHash").items + 'count = res("Response")("Data")(i)("DescriptionHash").count + 'For j = 0 To count - 1 + ' data.Add keys(j), items(j) + 'Next j + + If shExist1 Then + Debug.Print shopName + Dim g + g = 3 + Dim id1, id2, id3, id4, id5, id6 + For j = 1 To 12 + id1 = "Description" & Format(j, "000") '-v 4 + id2 = "Description" & Format(j + 60, "000") 'H-v 26 + id3 = "Description" & Format(j + 120, "000") '-v 48 + + id4 = "Description" & Format(j + 20, "000") '- 15 + id5 = "Description" & Format(j + 80, "000") 'H- 37 + id6 = "Description" & Format(j + 140, "000") '- 59 + + + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id1), g, 4, shopName & "_DATA") + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id2), g, 26, shopName & "_DATA") + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id3), g, 48, shopName & "_DATA") + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id4), g, 15, shopName & "_DATA") + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id5), g, 37, shopName & "_DATA") + 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id6), g, 59, shopName & "_DATA") + + g = g + 7 + Next j + + End If + + 'Check + keys = res("Response")("Data")(i)("CheckHash").keys + items = res("Response")("Data")(i)("CheckHash").items + count = res("Response")("Data")(i)("CheckHash").count + For j = 0 To count - 1 + data.Add keys(j), items(j) + arrData(i, 6 + count * 3 + j + 1) = items(j) + Next j + + + Dim k, itemCount As Long + itemCount = data.count + For k = 1 To itemCount + If (i + lastRow - 1) = 1 Then + 'Sh.Cells((i + lastRow - 1), k) = data.keys(k - 1) + End If + + 'Sh.Cells((i + lastRow), k) = data.items(k - 1) + Next k + + data.RemoveAll + + Next i + + ' z̓eꊇŃV[gɏ + Sh.Range(Sh.Cells(lastRow + 1, 1), Sh.Cells(lastRow + dataCount, 100)).Value = arrData + + Debug.Print "o͊" +End Function + +Function exportJsonToSheet(dataStr, col, row, shName) + + Dim Sh As Worksheet + Set Sh = Worksheets(shName) + Sh.Range(Sh.Cells(row, col), Sh.Cells(row + 9, col + 5)).ClearContents + + If dataStr <> "" Then + Dim dataObj As Object + Set dataObj = JsonConverter.ParseJson(dataStr) + + Dim var, i + i = 0 + For Each var In dataObj + Sh.Cells(row + i, col) = stringToDate(var("1")) + Sh.Cells(row + i, col + 1) = var("2") + Sh.Cells(row + i, col + 2) = var("3") + Sh.Cells(row + i, col + 3) = var("4") + Sh.Cells(row + i, col + 4) = var("6") + Sh.Cells(row + i, col + 5) = var("7") + i = i + 1 + Next var + End If + +End Function \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/config.json b/XVBA/事業計画集計【簡易版】/config.json new file mode 100644 index 00000000..43d5928e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/config.json @@ -0,0 +1,14 @@ +{ + "app_name": "XVBA", + "description": "", + "author": "", + "email": "", + "create_ate": "Sat Nov 08 2025 11:35:41 GMT+0900 (日本標準時)", + "excel_file": "【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm", + "vba_folder": "vba-files", + "ribbon_file": "customUI14", + "ribbon_folder": "ribbons", + "logs": "on", + "xvba_packages": {}, + "xvba_dev_packages": {} +} \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/package.json b/XVBA/事業計画集計【簡易版】/package.json new file mode 100644 index 00000000..a8deae27 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/package.json @@ -0,0 +1,15 @@ +{ + "name": "xvba-app", + "version": "1.0.0", + "description": "A XVBA App", + "main": "index.js", + "author": "LocalSmart", + "license": "ISC", + "dependencies": { + "excel-types": "1.0.0", + "Xlog": "1.0.0" + }, + "devDependencies": { + "@localsmart/xvba-cli": "^1.0.2" + } +} \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls new file mode 100644 index 00000000..34122d33 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls new file mode 100644 index 00000000..26de6af1 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet10" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls new file mode 100644 index 00000000..9a6dee97 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet11" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls new file mode 100644 index 00000000..e252d8c0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet110" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls new file mode 100644 index 00000000..65530ac4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet12" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls new file mode 100644 index 00000000..b2cf6540 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet120" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls new file mode 100644 index 00000000..61e240a5 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1201" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls new file mode 100644 index 00000000..fd1c2113 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet121" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls new file mode 100644 index 00000000..7fd30445 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet122" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls new file mode 100644 index 00000000..76734a60 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet123" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls new file mode 100644 index 00000000..9c0950d2 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet124" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls new file mode 100644 index 00000000..7bb7c803 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet125" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls new file mode 100644 index 00000000..a1b236b5 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet126" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls new file mode 100644 index 00000000..d686605d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet127" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls new file mode 100644 index 00000000..39630ddd --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet128" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls new file mode 100644 index 00000000..44f7f763 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet129" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls new file mode 100644 index 00000000..90e7028a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet13" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls new file mode 100644 index 00000000..c1abb15a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet130" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls new file mode 100644 index 00000000..74ce3b7c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet131" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls new file mode 100644 index 00000000..b7884c51 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet132" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls new file mode 100644 index 00000000..6e773d0e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet133" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls new file mode 100644 index 00000000..49ae0cc7 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet134" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls new file mode 100644 index 00000000..3cc58afe --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet135" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls new file mode 100644 index 00000000..c9a26ff2 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet136" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls new file mode 100644 index 00000000..8c36e5b6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet137" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls new file mode 100644 index 00000000..f1cbf4fa --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet138" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls new file mode 100644 index 00000000..c983191e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet139" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls new file mode 100644 index 00000000..4324809d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet14" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls new file mode 100644 index 00000000..860f6956 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet140" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls new file mode 100644 index 00000000..158f8d5b --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet141" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls new file mode 100644 index 00000000..70552fe5 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet142" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls new file mode 100644 index 00000000..cc04faf5 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet143" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls new file mode 100644 index 00000000..90fe5871 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet144" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls new file mode 100644 index 00000000..9d9923c3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet145" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls new file mode 100644 index 00000000..1031f6f8 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet146" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls new file mode 100644 index 00000000..8d1a0111 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet147" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls new file mode 100644 index 00000000..281322ae --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet148" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls new file mode 100644 index 00000000..dc796369 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet149" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls new file mode 100644 index 00000000..3470200e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet15" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls new file mode 100644 index 00000000..49475638 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet150" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls new file mode 100644 index 00000000..0f669ec6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet151" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls new file mode 100644 index 00000000..7d91b612 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet152" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls new file mode 100644 index 00000000..c77f81ac --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet153" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls new file mode 100644 index 00000000..f463f889 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet16" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls new file mode 100644 index 00000000..b55e1e56 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet17" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls new file mode 100644 index 00000000..03b35007 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet18" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls new file mode 100644 index 00000000..3e6aaac9 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet19" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls new file mode 100644 index 00000000..bae245ef --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls new file mode 100644 index 00000000..2821c5ac --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet20" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls new file mode 100644 index 00000000..35a666cb --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet21" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls new file mode 100644 index 00000000..4d5eca11 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet210" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls new file mode 100644 index 00000000..f6139c91 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet215" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls new file mode 100644 index 00000000..664142bd --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2151" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls new file mode 100644 index 00000000..76ca9cf2 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet216" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls new file mode 100644 index 00000000..3ca63312 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2161" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls new file mode 100644 index 00000000..e34a0fc0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet217" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls new file mode 100644 index 00000000..fe8a54c0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet218" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls new file mode 100644 index 00000000..46ffaa4d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet219" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls new file mode 100644 index 00000000..26e440e3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet22" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls new file mode 100644 index 00000000..f7c3edc6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet220" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls new file mode 100644 index 00000000..e0ed163c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet221" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls new file mode 100644 index 00000000..8558e514 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet222" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls new file mode 100644 index 00000000..f468f4db --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet223" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls new file mode 100644 index 00000000..1a19802e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet224" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls new file mode 100644 index 00000000..88b7004d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet225" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls new file mode 100644 index 00000000..5f76b98c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet226" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls new file mode 100644 index 00000000..4ad4c051 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet227" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls new file mode 100644 index 00000000..10c5fbf3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet228" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls new file mode 100644 index 00000000..5bc2f307 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet229" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls new file mode 100644 index 00000000..807cc1e4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet23" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls new file mode 100644 index 00000000..5f5ea003 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet230" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls new file mode 100644 index 00000000..b75dff98 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet231" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls new file mode 100644 index 00000000..d74559fc --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet232" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls new file mode 100644 index 00000000..2fd328d6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet233" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls new file mode 100644 index 00000000..16291710 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet234" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls new file mode 100644 index 00000000..00c2fbd3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet235" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls new file mode 100644 index 00000000..9fa48682 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet236" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls new file mode 100644 index 00000000..5339f612 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet237" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls new file mode 100644 index 00000000..309ef224 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet238" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls new file mode 100644 index 00000000..1f28e4f3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet239" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls new file mode 100644 index 00000000..7f57500d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet24" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls new file mode 100644 index 00000000..976f399c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet240" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls new file mode 100644 index 00000000..2b3fca5a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet241" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls new file mode 100644 index 00000000..eae9cf9f --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet242" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls new file mode 100644 index 00000000..da503d85 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet243" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls new file mode 100644 index 00000000..11790629 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet244" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls new file mode 100644 index 00000000..cb091d26 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet245" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls new file mode 100644 index 00000000..408d972e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet246" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls new file mode 100644 index 00000000..b838f32c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet247" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls new file mode 100644 index 00000000..935df63e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet248" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls new file mode 100644 index 00000000..391008a8 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet249" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls new file mode 100644 index 00000000..9a0d662f --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet25" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls new file mode 100644 index 00000000..85d938c4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet26" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls new file mode 100644 index 00000000..a023af98 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet27" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls new file mode 100644 index 00000000..c090f504 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet28" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls new file mode 100644 index 00000000..3840b8d1 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet29" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls new file mode 100644 index 00000000..b0b36e83 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet3" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls new file mode 100644 index 00000000..f16dfb8c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet30" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls new file mode 100644 index 00000000..6905d0a6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet31" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls new file mode 100644 index 00000000..062c82ab --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet310" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls new file mode 100644 index 00000000..8cc0c7e4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet32" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls new file mode 100644 index 00000000..fb9f552f --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet33" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls new file mode 100644 index 00000000..74d054c6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet331" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls new file mode 100644 index 00000000..5d1e4c60 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet34" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls new file mode 100644 index 00000000..c484d768 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet341" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls new file mode 100644 index 00000000..2e36cc70 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet35" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls new file mode 100644 index 00000000..887a9f2a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet36" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls new file mode 100644 index 00000000..bfbf99c4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet37" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls new file mode 100644 index 00000000..38149f6a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet38" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls new file mode 100644 index 00000000..849aa162 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet39" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls new file mode 100644 index 00000000..c9ba7ab7 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet4" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls new file mode 100644 index 00000000..c7b2afa1 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet40" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls new file mode 100644 index 00000000..c27b7a0c --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet41" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls new file mode 100644 index 00000000..b2ff87c8 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet42" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls new file mode 100644 index 00000000..9978b5d4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet47" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls new file mode 100644 index 00000000..8f4b8cef --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet471" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls new file mode 100644 index 00000000..f5f17bf6 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet48" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls new file mode 100644 index 00000000..0693a6f0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet481" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls new file mode 100644 index 00000000..f31204b7 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet49" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls new file mode 100644 index 00000000..bbd7ce45 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet491" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls new file mode 100644 index 00000000..256756ea --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet5" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls new file mode 100644 index 00000000..44ee2531 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet51" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls new file mode 100644 index 00000000..eb370ff4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet6" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls new file mode 100644 index 00000000..0b98a59a --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet61" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls new file mode 100644 index 00000000..9d6db4a0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet7" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls new file mode 100644 index 00000000..4058c290 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet71" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls new file mode 100644 index 00000000..39390f11 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet8" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls new file mode 100644 index 00000000..c37cda0d --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet9" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls new file mode 100644 index 00000000..6e197c86 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas new file mode 100644 index 00000000..3aec36d2 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas @@ -0,0 +1,1123 @@ +Attribute VB_Name = "JsonConverter" +'' +' VBA-JSON v2.3.1 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON +' +' JSON Converter for VBA +' +' Errors: +' 10001 - JSON parse error +' +' @class JsonConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +' +' Based originally on vba-json (with extensive changes) +' BSD license included below +' +' JSONLib, http://code.google.com/p/vba-json/ +' +' Copyright (c) 2013, Ryo Yokoyama +' All rights reserved. +' +' Redistribution and use in source and binary forms, with or without +' modification, are permitted provided that the following conditions are met: +' * Redistributions of source code must retain the above copyright +' notice, this list of conditions and the following disclaimer. +' * Redistributions in binary form must reproduce the above copyright +' notice, this list of conditions and the following disclaimer in the +' documentation and/or other materials provided with the distribution. +' * Neither the name of the nor the +' names of its contributors may be used to endorse or promote products +' derived from this software without specific prior written permission. +' +' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +Option Explicit + +' === VBA-UTC Headers +#If Mac Then + +#If VBA7 Then + +' 64-bit Mac (2016) +Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr +Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _ + (ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _ + (ByVal utc_File As LongPtr) As LongPtr + +#Else + +' 32-bit Mac +Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As Long +Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _ + (ByVal utc_File As Long) As Long +Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long +Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _ + (ByVal utc_File As Long) As Long + +#End If + +#ElseIf VBA7 Then + +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx +Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#Else + +Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#End If + +#If Mac Then + +#If VBA7 Then +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As LongPtr +End Type + +#Else + +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As Long +End Type + +#End If + +#Else + +Private Type utc_SYSTEMTIME + utc_wYear As Integer + utc_wMonth As Integer + utc_wDayOfWeek As Integer + utc_wDay As Integer + utc_wHour As Integer + utc_wMinute As Integer + utc_wSecond As Integer + utc_wMilliseconds As Integer +End Type + +Private Type utc_TIME_ZONE_INFORMATION + utc_Bias As Long + utc_StandardName(0 To 31) As Integer + utc_StandardDate As utc_SYSTEMTIME + utc_StandardBias As Long + utc_DaylightName(0 To 31) As Integer + utc_DaylightDate As utc_SYSTEMTIME + utc_DaylightBias As Long +End Type + +#End If +' === End VBA-UTC + +Private Type json_Options + ' VBA only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits + ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True` + UseDoubleForLargeNumbers As Boolean + + ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys + AllowUnquotedKeys As Boolean + + ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson + EscapeSolidus As Boolean +End Type +Public JsonOptions As json_Options + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Convert JSON string to object (Dictionary/Collection) +' +' @method ParseJson +' @param {String} json_String +' @return {Object} (Dictionary or Collection) +' @throws 10001 - JSON parse error +'' +Public Function ParseJson(ByVal JsonString As String) As Object + Dim json_Index As Long + json_Index = 1 + + ' Remove vbCr, vbLf, and vbTab from json_String + JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "") + + json_SkipSpaces JsonString, json_Index + Select Case VBA.Mid$(JsonString, json_Index, 1) + Case "{" + Set ParseJson = json_ParseObject(JsonString, json_Index) + Case "[" + Set ParseJson = json_ParseArray(JsonString, json_Index) + Case Else + ' Error: Invalid JSON string + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['") + End Select +End Function + +'' +' Convert object (Dictionary/Collection/Array) to JSON +' +' @method ConvertToJson +' @param {Variant} JsonValue (Dictionary, Collection, or Array) +' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string +' @return {String} +'' +Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + Dim json_Index As Long + Dim json_LBound As Long + Dim json_UBound As Long + Dim json_IsFirstItem As Boolean + Dim json_Index2D As Long + Dim json_LBound2D As Long + Dim json_UBound2D As Long + Dim json_IsFirstItem2D As Boolean + Dim json_Key As Variant + Dim json_Value As Variant + Dim json_DateStr As String + Dim json_Converted As String + Dim json_SkipItem As Boolean + Dim json_PrettyPrint As Boolean + Dim json_Indentation As String + Dim json_InnerIndentation As String + + json_LBound = -1 + json_UBound = -1 + json_IsFirstItem = True + json_LBound2D = -1 + json_UBound2D = -1 + json_IsFirstItem2D = True + json_PrettyPrint = Not IsMissing(Whitespace) + + Select Case VBA.VarType(JsonValue) + Case VBA.vbNull + ConvertToJson = "null" + Case VBA.vbDate + ' Date + json_DateStr = ConvertToIso(VBA.CDate(JsonValue)) + + ConvertToJson = """" & json_DateStr & """" + Case VBA.vbString + ' String (or large number encoded as string) + If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then + ConvertToJson = JsonValue + Else + ConvertToJson = """" & json_Encode(JsonValue) & """" + End If + Case VBA.vbBoolean + If JsonValue Then + ConvertToJson = "true" + Else + ConvertToJson = "false" + End If + Case VBA.vbArray To VBA.vbArray + VBA.vbByte + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace) + End If + End If + + ' Array + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + + On Error Resume Next + + json_LBound = LBound(JsonValue, 1) + json_UBound = UBound(JsonValue, 1) + json_LBound2D = LBound(JsonValue, 2) + json_UBound2D = UBound(JsonValue, 2) + + If json_LBound >= 0 And json_UBound >= 0 Then + For json_Index = json_LBound To json_UBound + If json_IsFirstItem Then + json_IsFirstItem = False + Else + ' Append comma to previous line + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_LBound2D >= 0 And json_UBound2D >= 0 Then + ' 2D Array + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength + + For json_Index2D = json_LBound2D To json_UBound2D + If json_IsFirstItem2D Then + json_IsFirstItem2D = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_InnerIndentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Index2D + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + json_IsFirstItem2D = True + Else + ' 1D Array + json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Index + End If + + On Error GoTo 0 + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + + ' Dictionary or Collection + Case VBA.vbObject + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + End If + End If + + ' Dictionary + If VBA.TypeName(JsonValue) = "Dictionary" Then + json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength + For Each json_Key In JsonValue.keys + ' For Objects, undefined (Empty/Nothing) is not added to object + json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1) + If json_Converted = "" Then + json_SkipItem = json_IsUndefined(JsonValue(json_Key)) + Else + json_SkipItem = False + End If + + If Not json_SkipItem Then + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted + Else + json_Converted = """" & json_Key & """:" & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Key + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength + + ' Collection + ElseIf VBA.TypeName(JsonValue) = "Collection" Then + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + For Each json_Value In JsonValue + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(json_Value) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Value + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + End If + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal + ' Number (use decimals for numbers) + ConvertToJson = VBA.Replace(JsonValue, ",", ".") + Case Else + ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType + ' Use VBA's built-in to-string + On Error Resume Next + ConvertToJson = JsonValue + On Error GoTo 0 + End Select +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary + Dim json_Key As String + Dim json_NextChar As String + + Set json_ParseObject = New Dictionary + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "{" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "}" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_Key = json_ParseKey(json_String, json_Index) + json_NextChar = json_Peek(json_String, json_Index) + If json_NextChar = "[" Or json_NextChar = "{" Then + Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + Else + json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + End If + Loop + End If +End Function + +Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection + Set json_ParseArray = New Collection + + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "[" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "]" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_ParseArray.Add json_ParseValue(json_String, json_Index) + Loop + End If +End Function + +Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant + json_SkipSpaces json_String, json_Index + Select Case VBA.Mid$(json_String, json_Index, 1) + Case "{" + Set json_ParseValue = json_ParseObject(json_String, json_Index) + Case "[" + Set json_ParseValue = json_ParseArray(json_String, json_Index) + Case """", "'" + json_ParseValue = json_ParseString(json_String, json_Index) + Case Else + If VBA.Mid$(json_String, json_Index, 4) = "true" Then + json_ParseValue = True + json_Index = json_Index + 4 + ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then + json_ParseValue = False + json_Index = json_Index + 5 + ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then + json_ParseValue = Null + json_Index = json_Index + 4 + ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then + json_ParseValue = json_ParseNumber(json_String, json_Index) + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['") + End If + End Select +End Function + +Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String + Dim json_Quote As String + Dim json_Char As String + Dim json_Code As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + json_SkipSpaces json_String, json_Index + + ' Store opening quote to look for matching closing quote + json_Quote = VBA.Mid$(json_String, json_Index, 1) + json_Index = json_Index + 1 + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case "\" + ' Escaped string, \\, or \/ + json_Index = json_Index + 1 + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case """", "\", "/", "'" + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "b" + json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "f" + json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "n" + json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "r" + json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "t" + json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "u" + ' Unicode character escape (e.g. \u00a9 = Copyright) + json_Index = json_Index + 1 + json_Code = VBA.Mid$(json_String, json_Index, 4) + json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength + json_Index = json_Index + 4 + End Select + Case json_Quote + json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition) + json_Index = json_Index + 1 + Exit Function + Case Else + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + End Select + Loop +End Function + +Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant + Dim json_Char As String + Dim json_Value As String + Dim json_IsLargeNumber As Boolean + + json_SkipSpaces json_String, json_Index + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + If VBA.InStr("+-0123456789.eE", json_Char) Then + ' Unlikely to have massive number, so use simple append rather than buffer here + json_Value = json_Value & json_Char + json_Index = json_Index + 1 + Else + ' Excel only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number + ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16) + json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16) + If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then + json_ParseNumber = json_Value + Else + ' VBA.Val does not use regional settings, so guard for comma is not needed + json_ParseNumber = VBA.Val(json_Value) + End If + Exit Function + End If + Loop +End Function + +Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String + ' Parse key with single or double quotes + If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then + json_ParseKey = json_ParseString(json_String, json_Index) + ElseIf JsonOptions.AllowUnquotedKeys Then + Dim json_Char As String + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + If (json_Char <> " ") And (json_Char <> ":") Then + json_ParseKey = json_ParseKey & json_Char + json_Index = json_Index + 1 + Else + Exit Do + End If + Loop + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''") + End If + + ' Check for colon and skip if present or throw if not present + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> ":" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'") + Else + json_Index = json_Index + 1 + End If +End Function + +Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean + ' Empty / Nothing -> undefined + Select Case VBA.VarType(json_Value) + Case VBA.vbEmpty + json_IsUndefined = True + Case VBA.vbObject + Select Case VBA.TypeName(json_Value) + Case "Empty", "Nothing" + json_IsUndefined = True + End Select + End Select +End Function + +Private Function json_Encode(ByVal json_Text As Variant) As String + ' Reference: http://www.ietf.org/rfc/rfc4627.txt + ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab + Dim json_Index As Long + Dim json_Char As String + Dim json_AscCode As Long + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + For json_Index = 1 To VBA.Len(json_Text) + json_Char = VBA.Mid$(json_Text, json_Index, 1) + json_AscCode = VBA.AscW(json_Char) + + ' When AscW returns a negative number, it returns the twos complement form of that number. + ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result. + ' https://support.microsoft.com/en-us/kb/272138 + If json_AscCode < 0 Then + json_AscCode = json_AscCode + 65536 + End If + + ' From spec, ", \, and control characters must be escaped (solidus is optional) + + Select Case json_AscCode + Case 34 + ' " -> 34 -> \" + json_Char = "\""" + Case 92 + ' \ -> 92 -> \\ + json_Char = "\\" + Case 47 + ' / -> 47 -> \/ (optional) + If JsonOptions.EscapeSolidus Then + json_Char = "\/" + End If + Case 8 + ' backspace -> 8 -> \b + json_Char = "\b" + Case 12 + ' form feed -> 12 -> \f + json_Char = "\f" + Case 10 + ' line feed -> 10 -> \n + json_Char = "\n" + Case 13 + ' carriage return -> 13 -> \r + json_Char = "\r" + Case 9 + ' tab -> 9 -> \t + json_Char = "\t" + Case 0 To 31, 127 To 65535 + ' Non-ascii characters -> convert to 4-digit hex + json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4) + End Select + + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + Next json_Index + + json_Encode = json_BufferToString(json_Buffer, json_BufferPosition) +End Function + +Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String + ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef) + json_SkipSpaces json_String, json_Index + json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters) +End Function + +Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long) + ' Increment index to skip over spaces + Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " " + json_Index = json_Index + 1 + Loop +End Sub + +Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean + ' Check if the given string is considered a "large number" + ' (See json_ParseNumber) + + Dim json_Length As Long + Dim json_CharIndex As Long + json_Length = VBA.Len(json_String) + + ' Length with be at least 16 characters and assume will be less than 100 characters + If json_Length >= 16 And json_Length <= 100 Then + Dim json_CharCode As String + + json_StringIsLargeNumber = True + + For json_CharIndex = 1 To json_Length + json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1)) + Select Case json_CharCode + ' Look for .|0-9|E|e + Case 46, 48 To 57, 69, 101 + ' Continue through characters + Case Else + json_StringIsLargeNumber = False + Exit Function + End Select + Next json_CharIndex + End If +End Function + +Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String) + ' Provide detailed parse error message, including details of where and what occurred + ' + ' Example: + ' Error parsing JSON: + ' {"abcde":True} + ' ^ + ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '[' + + Dim json_StartIndex As Long + Dim json_StopIndex As Long + + ' Include 10 characters before and after error (if possible) + json_StartIndex = json_Index - 10 + json_StopIndex = json_Index + 10 + If json_StartIndex <= 0 Then + json_StartIndex = 1 + End If + If json_StopIndex > VBA.Len(json_String) Then + json_StopIndex = VBA.Len(json_String) + End If + + json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _ + VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _ + VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _ + ErrorMessage +End Function + +Private Sub json_BufferAppend(ByRef json_Buffer As String, _ + ByRef json_Append As Variant, _ + ByRef json_BufferPosition As Long, _ + ByRef json_BufferLength As Long) + ' VBA can be slow to append strings due to allocating a new string for each append + ' Instead of using the traditional append, allocate a large empty string and then copy string at append position + ' + ' Example: + ' Buffer: "abc " + ' Append: "def" + ' Buffer Position: 3 + ' Buffer Length: 5 + ' + ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer + ' Buffer: "abc " + ' Buffer Length: 10 + ' + ' Put "def" into buffer at position 3 (0-based) + ' Buffer: "abcdef " + ' + ' Approach based on cStringBuilder from vbAccelerator + ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp + ' + ' and clsStringAppend from Philip Swannell + ' https://github.com/VBA-tools/VBA-JSON/pull/82 + + Dim json_AppendLength As Long + Dim json_LengthPlusPosition As Long + + json_AppendLength = VBA.Len(json_Append) + json_LengthPlusPosition = json_AppendLength + json_BufferPosition + + If json_LengthPlusPosition > json_BufferLength Then + ' Appending would overflow buffer, add chunk + ' (double buffer length or append length, whichever is bigger) + Dim json_AddedLength As Long + json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength) + + json_Buffer = json_Buffer & VBA.Space$(json_AddedLength) + json_BufferLength = json_BufferLength + json_AddedLength + End If + + ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error: + ' Function call on left-hand side of assignment must return Variant or Object + Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append) + json_BufferPosition = json_BufferPosition + json_AppendLength +End Sub + +Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String + If json_BufferPosition > 0 Then + json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition) + End If +End Function + +'' +' VBA-UTC v1.0.6 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter +' +' UTC/ISO 8601 Converter for VBA +' +' Errors: +' 10011 - UTC parsing error +' 10012 - UTC conversion error +' 10013 - ISO 8601 parsing error +' 10014 - ISO 8601 conversion error +' +' @module UtcConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' + +' (Declarations moved to top) + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Parse UTC date to local date +' +' @method ParseUtc +' @param {Date} UtcDate +' @return {Date} Local date +' @throws 10011 - UTC parsing error +'' +Public Function ParseUtc(utc_UtcDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ParseUtc = utc_ConvertDate(utc_UtcDate) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_LocalDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate + + ParseUtc = utc_SystemTimeToDate(utc_LocalDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to UTC date +' +' @method ConvertToUrc +' @param {Date} utc_LocalDate +' @return {Date} UTC date +' @throws 10012 - UTC conversion error +'' +Public Function ConvertToUtc(utc_LocalDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_UtcDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate + + ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Parse ISO 8601 date string to local date +' +' @method ParseIso +' @param {Date} utc_IsoString +' @return {Date} Local date +' @throws 10013 - ISO 8601 parsing error +'' +Public Function ParseIso(utc_IsoString As String) As Date + On Error GoTo utc_ErrorHandling + + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + Dim utc_OffsetIndex As Long + Dim utc_HasOffset As Boolean + Dim utc_NegativeOffset As Boolean + Dim utc_OffsetParts() As String + Dim utc_Offset As Date + + utc_Parts = VBA.Split(utc_IsoString, "T") + utc_DateParts = VBA.Split(utc_Parts(0), "-") + ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2))) + + If UBound(utc_Parts) > 0 Then + If VBA.InStr(utc_Parts(1), "Z") Then + utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":") + Else + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+") + If utc_OffsetIndex = 0 Then + utc_NegativeOffset = True + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-") + End If + + If utc_OffsetIndex > 0 Then + utc_HasOffset = True + utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":") + utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":") + + Select Case UBound(utc_OffsetParts) + Case 0 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0) + Case 1 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2)))) + End Select + + If utc_NegativeOffset Then: utc_Offset = -utc_Offset + Else + utc_TimeParts = VBA.Split(utc_Parts(1), ":") + End If + End If + + Select Case UBound(utc_TimeParts) + Case 0 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0) + Case 1 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2)))) + End Select + + ParseIso = ParseUtc(ParseIso) + + If utc_HasOffset Then + ParseIso = ParseIso - utc_Offset + End If + End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to ISO 8601 string +' +' @method ConvertToIso +' @param {Date} utc_LocalDate +' @return {Date} ISO 8601 string +' @throws 10014 - ISO 8601 conversion error +'' +Public Function ConvertToIso(utc_LocalDate As Date) As String + On Error GoTo utc_ErrorHandling + + ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z") + + Exit Function + +utc_ErrorHandling: + Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +#If Mac Then + +Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date + Dim utc_ShellCommand As String + Dim utc_Result As utc_ShellResult + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + + If utc_ConvertToUtc Then + utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _ + " +'%s'` +'%Y-%m-%d %H:%M:%S'" + Else + utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _ + "+'%Y-%m-%d %H:%M:%S'" + End If + + utc_Result = utc_ExecuteInShell(utc_ShellCommand) + + If utc_Result.utc_Output = "" Then + Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed" + Else + utc_Parts = Split(utc_Result.utc_Output, " ") + utc_DateParts = Split(utc_Parts(0), "-") + utc_TimeParts = Split(utc_Parts(1), ":") + + utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _ + TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2)) + End If +End Function + +Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult +#If VBA7 Then + Dim utc_File As LongPtr + Dim utc_Read As LongPtr +#Else + Dim utc_File As Long + Dim utc_Read As Long +#End If + + Dim utc_Chunk As String + + On Error GoTo utc_ErrorHandling + utc_File = utc_popen(utc_ShellCommand, "r") + + If utc_File = 0 Then: Exit Function + + Do While utc_feof(utc_File) = 0 + utc_Chunk = VBA.Space$(50) + utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File)) + If utc_Read > 0 Then + utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read)) + utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk + End If + Loop + +utc_ErrorHandling: + utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File)) +End Function + +#Else + +Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME + utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value) + utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value) + utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value) + utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value) + utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value) + utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value) + utc_DateToSystemTime.utc_wMilliseconds = 0 +End Function + +Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date + utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _ + TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond) +End Function + +#End If diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas new file mode 100644 index 00000000..2e03992b --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas @@ -0,0 +1,195 @@ +Attribute VB_Name = "Module1" +Option Explicit + +Public apiKey As String +Public baseURL As String +Public yearFilter As String + +Function init() + 'Pleasanter API KEY + apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + baseURL = "https://nextoffice.Next-hd.co.jp" + + 'NxtB^擾 + yearFilter = Range("Nx").Value + +End Function + +Function exportCSVData(tableId As String) As Variant + 'ʕϐ + Dim apiUrl As String + Dim apiUrlParam As String + + 'NGXgURL + apiUrl = baseURL & "/pleasanter/api/items/" & tableId & "/" + apiUrlParam = "export" + + 'wb_ + Dim apiHeaders As New Dictionary + apiHeaders.Add "Content-Type", "application/json;charset=utf-8" + + 'NGXgf[^ + Dim apiBody As New Dictionary + apiBody.Add "ApiVersion", "1.1" + apiBody.Add "ApiKey", apiKey + apiBody.Add "ExportId", "1" + + 'Filterϐ + Dim colFilter As New Dictionary + colFilter.Add "ClassZ", "[" & yearFilter & "]" + + 'Viewϐ + Dim view As New Dictionary + view.Add "ColumnFilterHash", colFilter + apiBody.Add "View", view + + 'HTTPNGXgM\bhĂяo + Dim res As Object + Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody) + + If res("StatusCode") = 200 Then + Debug.Print "CSVf[^̎擾ɐ܂" + exportCSVData = res("Response")("Content") + + End If + +End Function + +Function exportCSVDataToSheet(csvData As Variant, targetSheet As String) + Debug.Print "CSVf[^V[gɏo͊Jn: " & targetSheet + '------------------------------------------ + 'CSVf[^ue[uvɏo͂鏈 + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(targetSheet) + + 'e[uiListObjectj擾 + Dim tbl As ListObject + Set tbl = Nothing + Dim lo As ListObject + For Each lo In ws.ListObjects + If InStr(lo.Name, "e[u") > 0 Then + Set tbl = lo + Exit For + End If + Next lo + + If tbl Is Nothing Then + MsgBox "e[u‚܂: " & targetSheet, vbCritical + Exit Function + End If + + 'e[ũf[^NA + If Not tbl.DataBodyRange Is Nothing Then + tbl.DataBodyRange.ClearContents + End If + + 'CSVf[^e[uɑ} + Dim lines() As String + Dim i As Long, j As Long + Dim values() As String + Dim arr() As Variant + Dim maxCols As Long + + lines = Split(csvData, vbCrLf) + maxCols = 0 + + ' ܂ő񐔂擾 + For i = LBound(lines) To UBound(lines) + If Trim(lines(i)) <> "" Then + values = Split(lines(i), ",") + If UBound(values) + 1 > maxCols Then + maxCols = UBound(values) + 1 + End If + End If + Next i + + ' 񎟌z + ReDim arr(0 To UBound(lines), 0 To maxCols - 1) + + ' zɊi[ + For i = LBound(lines) To UBound(lines) + If Trim(lines(i)) <> "" Then + values = Split(lines(i), ",") + For j = LBound(values) To UBound(values) + arr(i, j) = values(j) + Next j + End If + Next i + + ' e[uɃf[^lj + tbl.Resize tbl.Range.Resize(UBound(arr, 1) + 1, UBound(arr, 2) + 1) + tbl.DataBodyRange.Value = arr + + '------------------------------------------ + Debug.Print "CSVf[^V[gɏo͊: " & targetSheet + +End Function + +Sub run() + Worksheets("sx\Wv").Range("D3").Value = "捞..." + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + '------------------------------------------ + Debug.Print "Jn" + + ' + Call init + + 'CSVf[^擾 + Dim resData As Variant + + Debug.Print "ƌvf[^擾Jn" + 'ƌve[uCSVf[^擾 + resData = exportCSVData("214737") + 'CSVf[^V[gɏo + Call exportCSVDataToSheet(resData, "ƌv") + + Debug.Print "ƌvWvf[^擾Jn" + 'ƌve[uCSVf[^擾 + resData = exportCSVData("214922") + + 'CSVf[^V[gɏo + Call exportCSVDataToSheet(resData, "ƌvWv") + + + + Debug.Print "I" + '------------------------------------------ + Application.Calculation = xlAutomatic 'vZĊJ + Application.ScreenUpdating = True 'ʍXVĊJ + Worksheets("sx\Wv").Range("D3").Value = "捞" +End Sub + + +'****************************************************************************** +'REST APIďo +'@method@GetPOST +'@url@REST APIURL +'@urlParam@NGXgp[^iIvVj +'@headers@wb_iIvVj +Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object + + 'HTTPNGXg̃IuWFNg` + Dim objHTTP As Object + Set objHTTP = New XMLHTTP60 + + 'HTTPNGXg̐ڑݒ + objHTTP.Open method, url & urlParam, False + + 'NGXgwb_[ݒiꍇsetRequestHeader𕡐Ηǂ̂`j + Dim i As Long + For i = 0 To headers.count - 1 + objHTTP.setRequestHeader headers.keys(i), headers.items(i) + Next i + + 'NGXgM + objHTTP.send JsonConverter.ConvertToJson(body) + + Do While objHTTP.readyState < 4 + DoEvents + Loop + + 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp + Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText) + +End Function diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas new file mode 100644 index 00000000..214c10a3 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas @@ -0,0 +1,27 @@ +Attribute VB_Name = "Module2" +Option Explicit + +Function ToggleColumnGroups(sheetName As String, expand As Boolean) + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(sheetName) + + If expand Then + ws.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2 + Else + ws.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1 + End If +End Function + +Sub WJ() + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets("sx\Wv") + If ws.Range("S1").Value = 1 Then + Call ToggleColumnGroups("sx\Wv", False) + ws.Range("S1").Value = 0 + Elseif ws.Range("S1").Value = 0 Then + Call ToggleColumnGroups("sx\Wv", True) + ws.Range("S1").Value = 1 + End If + +End Sub + diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas new file mode 100644 index 00000000..add1e747 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas @@ -0,0 +1,77 @@ +Attribute VB_Name = "Module3" +Option Explicit + +Sub V[g܂Ƃ߂čĕ\() + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + Debug.Print "---START---" + + Dim ws As Worksheet + For Each ws In Worksheets + ws.Visible = True + Next + + Debug.Print "--- END ---" + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + +End Sub + +Sub 񕝂ݒ肷() + Dim ws As Worksheet + Set ws = ActiveSheet + + Dim lastCol As Long + lastCol = ws.Cells(4, ws.Columns.Count).End(xlToLeft).Column + + Dim col As Long + For col = 1 To lastCol + Select Case ws.Cells(4, col).Value + Case "z", "vz", "o험v" + ws.Columns(col).ColumnWidth = 11.5 + End Select + Next col +End Sub + +Sub I() + Dim ws As Worksheet + Set ws = ActiveSheet + + Dim lastCol As Long + lastCol = ws.Cells(4, ws.Columns.Count).End(xlToLeft).Column + + Dim col As Long + Dim rng As Range + + For col = 1 To lastCol + If ws.Cells(4, col).Value = "" Then + If rng Is Nothing Then + Set rng = ws.Columns(col) + Else + Set rng = Union(rng, ws.Columns(col)) + End If + End If + Next col + + If Not rng Is Nothing Then + rng.Select + End If +End Sub + + +Sub toggleColumnsER() + Dim ws As Worksheet + Set ws = Worksheets("sx\Wv") + Dim cell As Range + Set cell = ws.Range("E3") + Dim showCols As Boolean + + If cell.Value = 0 Then + ws.Range("E:R").EntireColumn.Hidden = False + cell.Value = 1 + Elseif cell.Value = 1 Then + ws.Range("E:R").EntireColumn.Hidden = True + cell.Value = 0 + End If +End Sub + diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md new file mode 100644 index 00000000..f1f3ad96 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog +## Xdebug (Under Construction) + +- This package provides a way to simulate VBA Immediate Window in Output VSCode window + +## [1.0.0b0] - 2020-09-16 +### Added + - Create XDebug.printx + - Create XDebug.printError + + + + \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md new file mode 100644 index 00000000..9d8b74f0 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md @@ -0,0 +1,58 @@ +# Xdebug (VBA Immediate Window in Output VSCode Window) + +## Description + - This package provides a way to simulate VBA Immediate Window in Output VSCode window + - Find the Output window (VBA Immediate Window) + + ## Methods + +

+VBA immediate Window +

+ + + ### Xdebug.printx + +- This method print any type os variable + + +``` + +Public Sub index() + + + Dim test(1) As Variant + + 'Add an Object + Set test(0) = Sheets(1) + 'Add a String + test(1) = "Test Xdebug Output" + + Xdebug.printx test + +End Sub + +``` + + + ### Xdebug.printError + +- This method is use for print error + + +``` + Public Sub index() + + On Error GoTo ErrorHandle: + 'throw an error + d = 1/0 + 'Your code here + + + ErrorHandle: + Xdebug.errorSource = "pageConsoller.index" + Xdebug.printError + + End Sub +``` + diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls new file mode 100644 index 00000000..dd1b1d3b --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls @@ -0,0 +1,241 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Xdebug" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False + +'namespace=xvba_modules\Xdebug + +Public env As String + +'Example of Package Create by XVBA-CLI + +Private OS_TMP__FOLDER_PATH As String + +Private IMMEDIATE_FOLDER As String + +Private IMMEDIATE_FILE As String + +Private DEBUG_FILE_PATH As String + +Const EMPTY_TYPE = 0 +Const NULL_TYPE = 1 +Const ERROR_TYPE = 10 +Const INTEGER_TYPE = 2 +Const LONG_TYPE = 3 +Const SINGLE_TYPE = 4 +Const DOUBLE_TYPE = 5 +Const CURRENCY_TYPE = 6 +Const DATE_TYPE = 7 +Const DECIMAL_TYPE = 14 +Const LONG_LONG_TYPE = 20 +Const BOOLEAN_TYPE = 11 +Const STRING_TYPE = 8 +Const ARRAY_TYPE = 8204 +Const OBJECT_TYPE = 9 +Const VARIANT_TYPE = 12 +Const DATA_OBJECT_TYPE = 13 +Private Const MESSAGE_SPACE = " " + +Public errorSource As String +Public errorTitle As String + +'/* +'Flag for Actrive os Deactive VBA Debug.Print +'*/ +Public vbaDebugPrintActive As Boolean + +Private Sub class_initialize() + + Dim fso As Object + Set fso = CreateObject("Scripting.FileSystemObject") + OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2) + IMMEDIATE_FOLDER = "xvba_immediate" + IMMEDIATE_FILE = "immediate.txt" + vbaDebugPrintActive = True + errorSource = "" + errorTitle = "XVBA: New Error Was Found" + env = "DEV" + + DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE + +End Sub + + + + +Public Function printx(inputValue As Variant, Optional messageType As Integer = 1) + + If (env = "DEV") Then + Dim messageText As String + + messageText = createOutputMessage(inputValue) + + Call writeDebugFileContent(messageText, messageType) + End If +End Function + +'/* +'Print A Error +' +'*/ +Public Function printError() + If (env = "DEV") Then + + Dim message As String + + message = ErrorHanddler() + + Call writeDebugFileContent(message, 0) + + End If +End Function + + +'/* +' +'Write Debug ino on File +' +' +'*/ +Private Function writeDebugFileContent(messageText, messageType) + + Dim filePath As String + Dim FileNum As Integer + Dim PREFIX As String + + filePath = DEBUG_FILE_PATH + + FileNum = FreeFile + + PREFIX = Now & " - " + + Open filePath For Append As #FileNum + + Dim debugMessage As String + Select Case messageType + + Case 0 'Error Message + + debugMessage = PREFIX & "Error:" & messageText + Case 1 'Success + debugMessage = PREFIX & messageText + Case Else 'No Type Set + + debugMessage = PREFIX & "Info:" & messageText + End Select + + Print #FileNum, debugMessage + + Close #FileNum + + If (vbaDebugPrintActive) Then + + Debug.Print debugMessage + + End If +End Function + + +Private Function createOutputMessage(inputValue) As String + + Dim typeOfVar As Integer + Dim response As String + + typeOfVar = VarType(inputValue) + + + 'Set Error Source Macro/Function name + Err.Source = "createOutputMessage" + Select Case typeOfVar + Case STRING_TYPE + response = "String: " & inputValue + Case INTEGER_TYPE + response = "Integer: " & CStr(inputValue) + Case LONG_TYPE + response = "Long: " & CStr(inputValue) + Case SINGLE_TYPE + response = "Single: " & CStr(inputValue) + Case DOUBLE_TYPE + response = "Double: " & CStr(inputValue) + Case CURRENCY_TYPE + response = "Currenty: " & CStr(inputValue) + Case DATE_TYPE + response = "Date: " & CStr(inputValue) + Case DECIMAL_TYPE + response = "Decimal: " & CStr(inputValue) + Case LONG_LONG_TYPE + response = "LongLong: " & CStr(inputValue) + Case BOOLEAN_TYPE + response = "Boolean: " & CStr(inputValue) + Case ARRAY_TYPE + response = makeArrayTypeMessage(inputValue) + Case EMPTY_TYPE + response = "Empty: " + Case OBJECT_TYPE + response = "Object: " & TypeName(inputValue) + Case NULL_TYPE + response = "Null: " + Case ERROR_TYPE + response = "Error: " + Case VARIANT_TYPE + response = "Variant: " + Case DATA_OBJECT_TYPE + response = "Data Object: " & TypeName(inputValue) + Case Else + response = "Type Not Supported yet please inform xvba developer " + Debug.Print typeOfVar + Debug.Print inputValue + + End Select + + + createOutputMessage = response + +End Function + + +Private Function makeArrayTypeMessage(inputValue) As String + Dim nextItem As Variant + Dim response As String + Dim message As String + + For Each nextItem In inputValue + message = createOutputMessage(nextItem) + response = response & " [ " & message & " ]" & vbCrLf + Next nextItem + makeArrayTypeMessage = "Array: " & vbCrLf & response +End Function + + + +Private Function ErrorHanddler() As String + Dim errorDescription As String + Dim numberDescription As String + Dim lineError As String + Dim sourceError As String + Dim errorTitleMsg As String + Dim errorSourceMsg As String + + errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle + errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource + + + Select Case Err.Number + Case 11 + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + Case Else + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + End Select + + + ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription + +End Function diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif new file mode 100644 index 00000000..dd641693 Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif differ diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json new file mode 100644 index 00000000..4a1da537 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "Xdebug", + "version": "1.0.0", + "author": "Alberto Edaurdo", + "email": "alberto.aeraphe@gmail.com", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/xdebug.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "www.xvba.dev" +} \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md new file mode 100644 index 00000000..39a71ff4 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +## excel@types (Under Construction) + +- This package provides a way to use auto-complete for excel class + + + + \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md new file mode 100644 index 00000000..dcf0411e --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md @@ -0,0 +1,51 @@ +# Excel VBA type Definitions Package (excel-types) + + - This package provides a way to use auto-complete for Excel VBA Class + - You can Create your own vba type definition packages our update this. + - Type definition packages are named like: name-types + - The packages are store in www.xvba.dev + - Ech excel vba class has your own file definition + - The files extension has to be filename.d.vb + - Auto-complete just expose Public types + + +## Create,install and share VBA Packages With Xvba-cli and Xvba Repository: + +- Xvba Repository : www.xvba.dev +- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli + +## Install + +- For instal excel-types just use XVBA-CLI install command + +``` + npx xvba install excel-types +``` +## Comments Block + +- Use comments blocks below for documenting class/methods/Subs/Functions/Properties +- The comments blocs has to start with '/* and ends with '*/ + +``` + +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +``` + +``` +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +``` \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb new file mode 100644 index 00000000..af74a242 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb @@ -0,0 +1,147 @@ +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +'/* +'Returns an object that represents the active sheet (the sheet on top) +'in the active workbook or in the specified window or workbook. +'Returns Nothing if no sheet is active. +' +'*/ +Public Property ActiveSheet As Worksheet + +'/* +'Returns a Workbook object that represents the workbook in the +'active window (the window on top). +'Returns Nothing if there are no windows open or if either +'the Info window or the Clipboard window is the active window. Read-only. +' +' +'*/ +Public Property ActiveWorkbook As Workbook + +'/* +'True if Microsoft Excel displays certain alerts and messages while +'a macro is running. Read/write Boolean. +' +'Example +'Application.DisplayAlerts = False +'Workbooks("BOOK1.XLS").Close +'Application.DisplayAlerts = True +' +'*/ +Public Property DisplayAlerts As Boolean + + +'/* +'Returns or sets an XlCalculation value that represents the calculation mode. +' +'Example +'Application.Calculation = xlCalculationManual +'Application.Calculation = xlAutomatic +' +'@type {XlCalculation} +'*/ +Public Property Calculation As XlCalculation + +'/* +'True if events are enabled for the specified object. Read/write Boolean. +' +'@type {Boolean} +'*/ +Public Property EnableEvents As Boolean + +'/* +'True if screen updating is turned on. Read/write Boolean. +'@type {Boolean} +'*/ +Public Property ScreenUpdating As Boolean + + +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +'/* +'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet). +'An embedded chart is considered active when it's either selected or activated. When no chart is active, +'this property returns Nothing. +' +'Example: +'ActiveChart.HasLegend = True +' +'@type {Object.} +'*/ +Public Property ActiveChart As Chart + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property ThisWorkbook As Workbook + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property Workbooks As Workbooks + +'/* +'Activates a Microsoft application. If the application is already running, +'this method activates the running application. +'If the application isn't running, this method starts a new instance of the application. +' +'Example: (This example starts and activates Word.) +' +'Application.ActivateMicrosoftApp xlMicrosoftWord +' +'@param {XlMSApplication} index +'*/ +Public Sub ActivateMicrosoftApp( index As XlMSApplication) + +End Sub + +'/* +'An event occurs when all pending refresh activity (both synchronous and asynchronous) +'and all of the resultant calculation activities have been completed. +' +'*/ +Public Event AfterCalculate() + +'/* +'Occurs when a new workbook is created. +' +'Example: +' +'Private Sub App_NewWorkbook(ByVal Wb As Workbook) +'Application.Windows.Arrange xlArrangeStyleTiled End Sub +' +'@param {Workbook} Wb +'*/ +Public Event NewWorkbook(ByVal Wb As Workbook) + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb new file mode 100644 index 00000000..6a580711 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb @@ -0,0 +1,109 @@ + + + +'/* +' +' +' +'/* +Public Class Scripting() + + +'/* +' +'Object that stores data key/item pairs. +' +'/* +Public Function Dictionary() + +End Function + +'/* +' +'Adds a new key/item pair to a Dictionary object. +' +'*/ +Public Sub Add() + +End Sub + +'/* +' +'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object. +' +'*/ +Public Sub Exists() + +End Sub + +'/* +' +'Returns an array of all the items in a Dictionary object. +' +'*/ +Public Sub Items() + +End Sub + +'/* +' +'Returns an array of all the keys in a Dictionary object. +' +'*/ +Public Sub Keys() + +End Sub + +'/* +' +'Removes one specified key/item pair from the Dictionary object. +' +'*/ +Public Sub Remove() + +End Sub + +'/* +' +'Removes all the key/item pairs in the Dictionary object. +' +'*/ +Public Sub RemoveAll() + +End Sub + + + +'/* +'Sets or returns the comparison mode for comparing keys in a Dictionary object. +' +' +'*/ +Public Property CompareMode As Variant + + +'/* +'Returns the number of key/item pairs in a Dictionary object. +' +' +'*/ +Public Property Count As Long + + +'/* +'Sets or returns the value of an item in a Dictionary object. +' +' +'*/ +Public Property Item As Variant + +'/* +'Sets a new key value for an existing key value in a Dictionary object. +' +' +'*/ +Public Property Key As Variant + + + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb new file mode 100644 index 00000000..7115cac1 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb @@ -0,0 +1,30 @@ +'/* +'Contains information about run-time errors. +' +' +'*/ +Public Class Err() + +'/* +'Returns or sets a string expression containing a +'descriptive string associated with an object. Read/write. +' +'*/ +Public Property Description As String + +'/* +'Returns or sets a numeric value specifying an error. +'Number is the Err object's default property. Read/write. +' +'*/ +Public Property Number As Integer + + +'/* +'Returns or sets a string expression specifying the name of +'the object or application that originally generated the error. Read/write. +' +'*/ +Public Property Source As String + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb new file mode 100644 index 00000000..38aba162 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb @@ -0,0 +1,547 @@ + +'/* +'[Conversion Func] +' +'*/ +Function Asc() +End Function + +'/* +'[Conversion Func] +'Returns a String containing the character associated +'with the specified character code. +' +'Example: +' +'Dim MyChar +'MyChar = Chr(65) ' Returns A. +'MyChar = Chr(97) ' Returns a. +'MyChar = Chr(62) ' Returns >. +'MyChar = Chr(37) ' Returns %. +'*/ +Function Chr() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Format() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Hex() +End Function + + +'/* +'[Conversion Func] +' +'*/ +Function Oct() +End Function + + +'/* +'[Conversion Func] +'Returns a Variant (String) representation of a number. +' +'Example: +'Dim MyString +'MyString = Str(459) ' Returns " 459". +'MyString = Str(-459.65) ' Returns "-459.65". +'MyString = Str(459.001) ' Returns " 459.001". +' +'*/ +Function Str() As Variant +End Function + + +'/* +'[Conversion Func] +'Returns the numbers contained in a string as +'a numeric value of appropriate type. +' +'Example: +' +'Dim MyValue +'MyValue = Val("2457") ' Returns 2457. +'MyValue = Val(" 2 45 7") ' Returns 2457. +'MyValue = Val("24 and 57") ' Returns 24. +'*/ +Function Val(String) +End Function + + + +Function CreateObject() +End Function + + +Function CurDir() +End Function + +'/* +'Returns a Variant (Date) containing the current system date. +' +'Example +' +'Dim MyDate +'MyDate = Date ' MyDate contains the current system date. +' +'*/ +Function Date() + +End Function + + + +Function DateDiff() +End Function + +Function DatePart() +End Function + +Function DateSerial() +End Function + +Function Day() +End Function + +Function DDB() +End Function + +Function Dir() +End Function + +Function DoEvents() +End Function + +Function Environ() +End Function + +Function EOF() +End Function + +Function Error() +End Function + + +Function FileAttr() +End Function + +Function FileDateTime() +End Function + +Function FileLen() +End Function + +Function Filter() +End Function + +Function FormatCurrency() +End Function + +Function FormatDateTime() +End Function + +Function FormatNumber() +End Function + +Function FormaPercent() +End Function + + +Function FreeFile() +End Function + +Function FV() +End Function + +Function GetAllSettings() +End Function + +Function GetAttr() +End Function + +Function GetObject() +End Function + +Function GetSetting() +End Function + + +Function Hour() +End Function + +Function IIf() +End Function + +Function IMEStatus() +End Function + +Function Input() +End Function + +Function InputBox() +End Function + +Function InStr() +End Function + +Function InStrRev() +End Function + +Function IPmt() +End Function + + + +Function IRR() +End Function + +Function IsArray() +End Function + +Function IsDate() +End Function + +'/* +' +'Returns a Boolean value indicating whether a variable has been initialized. +' +'*/ +Function IsEmpty() +End Function + + +Function IsError() +End Function + +Function IsMissing() +End Function + +Function IsNull() +End Function + +Function IsNumeric() +End Function + + +Function IsObject() +End Function + +'/* +'Returns a string created by joining a number of substrings contained in an array. +' +'*/ +Function Join() +End Function + + + +Function LBound() +End Function + +Function LCase() +End Function + +Function Left() +End Function + +Function Len() +End Function + + +Function Loc() +End Function + +Function LOF() +End Function + +Function LTrim() +End Function + +Function RTrim() +End Function + +Function Trim() +End Function + + +Function MacID() +End Function + + + +Function MacScript() +End Function + +'/* +'[Math Function] +'Returns a value of the same type that is passed to it specifying the absolute value of a number. +' +'*/ +Function Abs() +End Function + +'/* +'[Math Function] +'Returns a Double specifying the arctangent of a number. +' +'*/ +Function Atn() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Cos() +End Function + +'/* +'[Math Function] +' +'*/ +Function Exp() +End Function + +'/* +'[Math Function] +' +'*/ +Function Int() +End Function + +'/* +'[Math Function] +' +'*/ +Function Fix() +End Function + +'/* +'[Math Function] +' +'*/ +Function Log() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Rnd() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sgn() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sin() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sqr() +End Function + +'/* +'[Math Function] +' +'*/ +Function Tan() +End Function + + + +Function Mid() +End Function + + +Function Minute() +End Function + + +Function MIRR() +End Function + + +Function Month() +End Function + +Function MonthName() +End Function + +'/* +'Displays a message in a dialog box, waits for the user to click a button, +'and returns an Integer indicating which button the user clicked. +' +'*/ +Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ]) +End Function + + +Function Now() +End Function + + +Function NPer() +End Function + + +Function NPV() +End Function + +Function PPmt() +End Function + + +Function QBColor() +End Function + + +Function Rate() +End Function + +'/* +'Returns a string, which is a substring of a string +'expression beginning at the start position (defaults to 1), +'in which a specified substring has been replaced with another +'substring a specified number of times. +' +'*/ +Function Replace(expression, find, replace, [ start, [ count, [ compare ]]]) +End Function + +Function RGB() +End Function + + +Function Right() +End Function + + +Function Round() +End Function + + +Function Second() +End Function + + + +Function Seek() +End Function + + +Function Shell() +End Function + + +Function SNL() +End Function + + +Function Space() +End Function + + +Function Spc() +End Function + + +Function Split() +End Function + + +Function StrComp() +End Function + + + +Function StrConv() +End Function + + +Function String() +End Function + + +Function StrReverse() +End Function + + + +Function Switch() +End Function + + +Function SYD() +End Function + + +Function Tab() +End Function + + +Function Time() +End Function + + + +Function Timer() +End Function + + +Function TimeSerial() +End Function + + +Function TimeValue() +End Function + + + +Function TypeName() +End Function + + +Function UBound() +End Function + + +Function Ucase() +End Function + + +Function VarType() +End Function + + + +Function Weekday() +End Function + + +Function WeekdayName() +End Function + + +Function Year() +End Function \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb new file mode 100644 index 00000000..92a9c7d7 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb @@ -0,0 +1,625 @@ +'/* +'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range. +' +' +'*/ +Public Class Range() + +'/* +'(Range) +' +'Activates a single cell, which must be inside the current selection. +'To select a range of cells, use the Select method., +' +'Example +' +'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell. +' +' Worksheets("Sheet1").Activate +' Range("A1:C3").Select +' Range("B2").Activate +' +'*/ +Public Sub Activate() + +End Sub + + +'/* +'Adds a comment to the range. +' +'Example: +' +'Worksheets(1).Range("E5").AddComment "Current Sales" +' +'@param {String} text +'*/ +Public Sub AddComment(text As String) + +End Sub + +Public Sub AddCommentThreaded() + +End Sub + +Public Sub AdvancedFilter() + +End Sub + +Public Sub AllocateChanges() + +End Sub + +Public Sub ApplyName() + +End Sub + +Public Sub ApplyOutLineStyles() + +End Sub + +Public Sub AutoComplete() + +End Sub + +Public Sub AutoFill() + +End Sub + +Public Sub AutoFilter() + +End Sub + +Public Sub AutioFit() + +End Sub + +Public Sub AutoOutline() + +End Sub + +Public Sub BorderAround() + +End Sub + +Public Sub Calculate() + +End Sub + +Public Sub CalculateRowMajorOrder() + +End Sub + +Public Sub CheckSpelling() + +End Sub + +Public Sub Clear() + +End Sub + +Public Sub ClearComments() + +End Sub + +Public Sub ClearContents() + +End Sub + +Public Sub ClearFormats() + +End Sub + +Public Sub ClearHyperlinks() + +End Sub + +Public Sub ClearNotes() + +End Sub + +Public Sub ClearOutline() + +End Sub + +Public Sub ColumnDifferences() + +End Sub + +Public Sub Consolidate() + +End Sub + +Public Sub ConvertToLinkedDataType() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub CopyFromRecordset() + +End Sub + +Public Sub CopyPicture() + +End Sub + +Public Sub CreateNames() + +End Sub + +Public Sub Cut() + +End Sub + +Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend) + +End Function + +Public Function DataTypeToText() + +End Function + +Public Function Delete (Shift) + +End Function + +Public Function DialogBox() + +End Function + +Public Function Dirty() + +End Function +Public Function DiscardChanges() + +End Function +Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format) + +End Function +Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) + +End Function +Public Function FillDown() + +End Function +Public Function FillLeft() + +End Function + +Public Function FillRight() + +End Function + +Public Function FillUp() + +End Function + +Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) + +End Function + +Public Function FindNext (After) + +End Function + +Public Function FindPrevious (Before) + +End Function + +Public Function FlashFill () + +End Function + + +Public Function FunctionWizard () + +End Function + + +Public Function Group (Start, End, By, Periods) + +End Function + +Public Function Insert (Shift, CopyOrigin) + +End Function + + +Public Function InsertIndent (InsertAmount) + +End Function + + +Public Function Justify() + +End Function + + +Public Function ListNames() + +End Function + +Public Function Merge(Across) + +End Function + +Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber) + +End Function + +Public Function NoteText(Text, Start, Length) + +End Function + +Public Function Parse(ParseLine, Destination) + +End Function + +Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose) + +End Function + + +Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) + +End Function + +Public Function PrintPreview(EnableChanges) + +End Function + +Public Function RemoveDuplicates(Columns , Header) + +End Function + +Public Function RemoveSubtotal() + +End Function + + +Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) + +End Function + + +Public Function RowDifferences(Comparison) + +End Function + +Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...) + +End Function + +Public Function Select() + +End Function + +Public Function SetCellDataTypeFromCell(Range, LanguageCulture) + +End Function + + +Public Function SetPhonetic() + +End Function + + +Public Function Show() + +End Function + + +Public Function ShowCard() + +End Function + + +Public Function ShowDependents(Remove) + +End Function + + +Public Function ShowErrors() + +End Function + + +Public Function ShowPrecedents(Remove) + +End Function + + +Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3) + +End Function + + +Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3) + +End Function + +Public Function Speak(SpeakDirection, SpeakFormulas) + +End Function + + +Public Function SpecialCells(Type, Value) + +End Function + +Public Function SubscribeTo(Edition, Format) + +End Function + +Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData) + +End Function + + +Public Function Table(RowInput, ColumnInput) + +End Function + + +Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers + +End Function + + +Public Function Ungroup() + +End Function + + +Public Function UnMerge() + +End Function + +Public Property AddIndent As Variant + +Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant +End Function + +Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range +End Function + +Public Property Application As Application + +Public Property Areas As Areas + +Public Property Borders As Variant + +Public Property Cells As Range + +Public Function Characters(Start, Length) As Variant +End Function + +Public Property Column As Long + +Public Property Columns As Long + +Public Property ColumnWidth As Variant + +Public Property Comment As Variant + +Public Property CommentThreaded As Variant + + +Public Property Count As Long + + +Public Property CountLarge As Variant + + +Public Property Creator As Integer + + +Public Property CurrentArray As Range + +'/* +'Returns a Range object that represents the current region. +'The current region is a range bounded by any combination of blank rows and blank columns. Read-only. +' +'Example +'Worksheets("Sheet1").Activate +'ActiveCell.CurrentRegion.Select +'*/ +Public Property CurrentRegion As Range + +Public Property Dependents As Range + +Public Property DirectDependents As Range + +Public Property DirectPrecedents As Range + +Public Property DisplayFormat As Object + + +Public Function End(Direction) As Object +End Function + +Public Property EntireColumn As Range + + +Public Property EntireRow As Range + + +Public Property Errors As Errors + + +Public Property Font As Font + + +Public Property FormatConditions As Range + +Public Property Formula As Variant + +Public Property FormulaArray As Variant + +Public Property FormulaHidden As Variant + + +Public Property FormulaLocal As Object + +Public Property FormulaR1C1 As Varaint + +Public Property FormulaR1C1Local As Varaint + +Public Property HasArray As Varaint + +Public Property HasFormula As Varaint + +Public Property HasRichDataType As Varaint + +Public Property Height As Double + +Public Property Hidden As Variant + +Public Property HorizontalAlignment As Variant + +Public Property Hyperlinks As Object + +Public Property ID As String + +Public Property IndentLevel As Variant + +Public Property Interior As Double + +Public Function Item (RowIndex, ColumnIndex) As Range +End Function + + +Public Property Left As Variant + + +Public Property LinkedDataTypeState As Variant + +Public Property ListHeaderRows As Variant + + +Public Property ListObject As Object + +Public Property LocationInTable As Variant + +Public Property Locked As Variant + +Public Property MDX As String + +Public Property MergeArea As Range + +Public Property MergeCells As Boolean + +Public Property Name As Variant + +Public Property Next As Range + +Public Property NumberFormat As Variant + +Public Property NumberFormatLocal As Variant + +Public Function Offset (RowOffset, ColumnOffset) As Range + +End Function + + +Public Property Orientation As Variant + +Public Property OutlineLevel As Variant + +Public Property PageBreak As Variant + +Public Property Parent As Variant + +Public Property Phonetic As Variant + +Public Property Phonetics As Variant + +Public Property PivotCell As Variant + + +Public Property PivotField As Variant + + +Public Property PivotItem As Variant + +Public Property PivotTable As Variant + +Public Property Precedents As Range + +Public Property PrefixCharacter As Variant + + +Public Property Previous As Range + +Public Property QueryTable As Variant + +Public Function Range (Cell1, Cell2) As Range +End Function + +Public Property ReadingOrder As Variant + +Public Function Resize (RowSize, ColumnSize) As Range +End Function + + +Public Property Row As Long + +Public Property RowHeight As Double + +Public Property Rows As Range + +Public Property ServerActions As Variant + + +Public Property ShowDetail As Variant + + +Public Property ShrinkToFit As Variant + + +Public Property SoundNote As Variant + + +Public Property SparklineGroups As Variant + + +Public Property Style As Variant + +Public Property Summary As Variant + + +Public Property Text As String + +Public Property Top As Variant + +Public Property UseStandardHeight As Variant + +Public Property UseStandardWidth As Variant + +Public Property Validation As Variant + +Public Function Value (RangeValueDataType) As Variant +End Function + +Public Property Value2 As Variant + + +Public Property VerticalAlignment As Variant + +Public Property Width As Double + + + +Public Property Worksheet As Worksheet + + +Public Property WrapText As Variant + +Public Property XPath As XPath + + + +End Class diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb new file mode 100644 index 00000000..55764e2b --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb @@ -0,0 +1,157 @@ +'/* +'Represents a Microsoft Excel workbook. +' +' +'*/ +Public Class Workbook() + +'/* +'Returns a String that represents the complete path to the +'workbook/file that this workbook object represents. +' +'*/ +Public Property Path As String + + +Public Property Worksheets As Worksheet + +'/* +'True if a backup file is created when this file is saved. Read-only Boolean. +' +'@type {Boolean} +'*/ +Public Property CreateBackup As Boolean + +'/* +'Returns a String value that represents the name of the object. +' +'@type {Boolean} +'*/ +Public Property Name As String + +'/* +'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean. +' +'Example: +'If Not ActiveWorkbook.Saved Then +' MsgBox "This workbook contains unsaved changes." +'End If +' +'@type {Boolean} +'*/ +Public Property Saved As String + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + + +'/* +' +'Activates the first window associated with the workbook. +' +'*/ +Public Function Activate() + +End Function + +'/* +' +'Closes the object. +' +'Example +' +'Workbooks("BOOK1.XLS").Close SaveChanges:=False +' +'@param {Variant} SaveChanges:[Optional] True or false +'@param {Variant} FileName:[Optional] Saves changes under this file name. +'@param {Variant} RouteWorkbook:[Optional] True or False +'*/ +Public Function Close(SaveChanges,FileName,RouteWorkbook) + +End Function + +'/* +'Saves changes to the specified workbook. +'*/ +Public Function Save() + +End Function + +'/* +'Saves changes to the workbook in a different file. +' +'@param {Variant} FileName:[Optional] +'@param {Variant} FileFormat:[Optional] +'@param {Variant} Password:[Optional] +'@param {Variant} WriteResPassword:[Optional] +'@param {Variant} ReadOnlyRecommended:[Optional] +'@param {Variant} CreateBackup:[Optional] +'@param {Variant} AccessMode:[Optional] +'@param {Variant} ConflictResolution:[Optional] +'@param {Variant} AddToMru:[Optional] +'@param {Variant} TextCodepage:[Optional] +'@param {Variant} TextVisualLayout:[Optional] +'@param {Variant} Local:[Optional] +'*/ +Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local) + +End Function + + +'/* +'Exports the data that has been mapped to the specified XML schema map to an XML data file. +' +'@param {String} FileName:[Required] +'@param {XmlMap} Map:[Required] +'*/ +Public Function SaveAsXMLData(FileName, Map) + +End Function + + +'/* +'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory. +' +'Example +'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS" +' +'@param {Variant} FileName:[Required] +'*/ +Public Function SaveCopyAs(FileName, Map) + +End Function + +'/* +'Sends the workbook by using the installed mail system. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +' +'@param {Variant} Recipients:[Required] +'@param {Variant} Subject:[Optional] +'@param {Variant} ReturnReceipt:[Optional] +'*/ +Public Function SendMail(Recipients, Subject, ReturnReceipt) + +End Function + +'/* +' +'The ExportAsFixedFormat method is used to publish +'a workbook to either the PDF or XPS format. +' +'*/ +Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) +End Function + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb new file mode 100644 index 00000000..07f71c5f --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb @@ -0,0 +1,109 @@ +'/* +'A collection of all the Workbook objects that are currently open in the Microsoft Excel application. +' +'*/ +Public Class Workbooks() + +'/* +'Creates a new workbook. The new workbook becomes the active workbook. +' +'@param {Variant} Template:[Optional] Determines how the new workbook is created. +'If this argument is a string specifying the name of an existing Microsoft Excel file, +'the new workbook is created with the specified file as a template. +'*/ +Public Function Add(Template) + +End Function + + +'/* +'True if Microsoft Excel can check out a specified workbook from a server. +'Read/write Boolean. +' +'@param {String} FileName:[Required] The name of the file to check out. +' +'*/ +Public Function CanCheckOut (FileName) + +End Function + + +Public Function CheckOut (FileName) + +End Function + + +Public Function Close () + +End Function + +'/* +' +'Opens a workbook. +' +'Example +'Workbooks.Open "ANALYSIS.XLS" +'ActiveWorkbook.RunAutoMacros xlAutoOpen +'*/ +Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook + +End Function + +'/* +'Returns a Workbook object representing a database. +'*/ +Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs) + +End Function + + +'/* +'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data. +'*/ +Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local) + +End Function + +'/* +'Opens an XML data file. Returns a Workbook object. +'*/ +Public Function OpenXML (FileName, Stylesheets, LoadOption) + +End Function + + +'/* +'When used without an object qualifier, this property returns an +'Application object that represents the Microsoft Excel application. +' +'*/ +Public Property Application As Application + + +'/* +'Returns a Long value that represents the number of objects in the collection. +' +'*/ +Public Property Count As Long + +'/* +'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long. +' +'*/ +Public Property Creator As Integer + + + +'/* +'Returns a single object from a collection. +' +'*/ +Public Property Item(Index) As Object + +'/* +'Returns the parent object for the specified object. Read-only. +' +'*/ +Public Property Parent As Object + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb new file mode 100644 index 00000000..24a02271 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb @@ -0,0 +1,86 @@ +'/* +'Represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheet() + + +'/* +'Makes the current sheet the active sheet. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +'*/ +Public Sub Activate() + +End Sub + + +Public Sub Calculate() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub Past() + +End Sub + +Public Sub PastSpecial() + +End Sub + +Public Sub Select() +End Sub + +Public Sub SaveAs() + +End Sub + +'/* +' +'Returns a Range object that represents a cell or a range of cells. +' +'Example: +' +'Worksheets("Sheet1").Range("A1").Value = 3.14159 +' +'*/ +Public Property Range As Range + + +'/* +' +'Returns a Range object that represents all the rows on the specified worksheet. +' +'Example: +' +'Worksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Row As Range + + +'/* +' +'Returns a Long value that represents the index number of the +'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Index As Long + + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb new file mode 100644 index 00000000..7d775495 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb @@ -0,0 +1,54 @@ +'/* +'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheets() + +'/* +'Constructor +' +'*/ +Public Sub New(Name As String) As Worksheet + +End Sub + +Public Sub Add() + +End Sub + + +Public Sub Add2() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub FillAcrossSheets() + +End Sub + +Public Sub PrintOut() + +End Sub + +Public Sub PrintPreview() +End Sub + +Public Sub Select() + +End Sub + +End Class \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json new file mode 100644 index 00000000..2fb972d9 --- /dev/null +++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "excel-types", + "version": "1.0.0", + "author": "Alberto Oliveira", + "email": "alberto.aeraph@gmail.comn", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/excel-types.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "https://github.com/Aeraphe/xvba-cli" +} \ No newline at end of file diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip new file mode 100644 index 00000000..1d03ffcb Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip differ diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm new file mode 100644 index 00000000..aa33e1c4 Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm differ diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm new file mode 100644 index 00000000..fba324c8 Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm differ diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip new file mode 100644 index 00000000..9be9691f Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip differ diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm new file mode 100644 index 00000000..b14f6b0e Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm differ diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm new file mode 100644 index 00000000..d8981809 Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm differ diff --git a/XVBA/汎用ツール/vba-files/Module/Module1.bas b/XVBA/汎用ツール/vba-files/Module/Module1.bas index 0e0cc670..3a0bf0df 100644 --- a/XVBA/汎用ツール/vba-files/Module/Module1.bas +++ b/XVBA/汎用ツール/vba-files/Module/Module1.bas @@ -1,61 +1,201 @@ Attribute VB_Name = "Module1" Option Explicit +'****************************************************************************** +'REST APIďo +'@vU^[̔Cӂ̃e[uf[^擾͂pc[ +Public apiKey As String +Public baseURL As String +Sub run() + Call getDataFromPleasanterTable +End Sub -'Web APIJSONp[^t^ăf[^擾֐ -Public Sub FetchDataFromWebAPI(recordId As String) - 'APIL[ݒ - Dim apiKey As String - apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" +Function getDataFromPleasanterTable() + Debug.Print "------ START ------" + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ - Dim http As Object - Dim url As String - Dim response As String - Dim jsonBody As String - Dim postData As Object - Dim jsonRes As Object + '**************************************** + ' + Call init + '**************************************** - 'VBA-JSONDictionary𗘗p - Set postData = CreateObject("Scripting.Dictionary") - postData("ApiVersion") = "1.1" - postData("ApiKey") = apiKey + '擾ݒV[g + Dim wsݒ As Worksheet + Set wsݒ = ThisWorkbook.Sheets("擾ݒ") - 'JsonConverter.ConvertToJsonJSONɕϊ - jsonBody = JsonConverter.ConvertToJson(postData) - - 'url = "https://jsonplaceholder.typicode.com/todos" " POSTp̃Gh|Cg - url = "https://nextoffice.Next-hd.co.jp/pleasanter/api/items/" & recordId & "/Get" - - Debug.Print "URL: " & url - Debug.Print "JSON Body: " & jsonBody - - Set http = CreateObject("MSXML2.XMLHTTP") - http.Open "POST", url, False - http.setRequestHeader "Content-Type", "application/json" - http.send jsonBody - - Debug.Print http.Status & " " & http.statusText - - - If http.Status = 201 Or http.Status = 200 Then - response = http.responseText - 'X|XJSONƂăp[X - Set jsonRes = JsonConverter.ParseJson(response) - Debug.Print "擾f[^: " & jsonRes("Response")("Data")(1)("Title") - - Else - MsgBox "G[: " & http.Status & " - " & http.statusText + '擾e[uIDw + Dim e[uID As String + e[uID = wsݒ.Range("e[uID").Value + 'o̓V[g + Dim o̓V[g As String + o̓V[g = wsݒ.Range("o̓V[g").Value + If o̓V[g = "" Then + o̓V[g = e[uID & "_f[^" End If - Set http = Nothing -End Sub + 'ʕϐ + Dim apiUrl As String + Dim apiUrlParam As String -'FetchDataFromWebAPIĂяo -Public Sub TestFetchData() - Dim recordId As String - recordId = "119261" 'K؂ȃR[hIDɒuĂ - FetchDataFromWebAPI recordId + 'NGXgURL + apiUrl = baseURL & "/pleasanter/api/items/" & e[uID & "/" + apiUrlParam = "export" -End Sub + 'wb_ + Dim apiHeaders As New Dictionary + apiHeaders.Add "Content-Type", "application/json;charset=utf-8" + + 'NGXgf[^ + Dim apiBody As New Dictionary + apiBody.Add "ApiVersion", "1.1" + apiBody.Add "ApiKey", apiKey + + 'tB^ϐ + Dim colFilter As New Dictionary + Dim i As Long + For i = 8 To 17 + If wsݒ.Cells(i, 5).Value <> "" Then + colFilter.Add wsݒ.Cells(i, 2).Value, wsݒ.Cells(i, 5).Value + End If + Next i + For i = 3 To 22 + If wsݒ.Cells(i, 10).Value <> "" And wsݒ.Cells(i, 11).Value <> "" And wsݒ.Cells(i, 13).Value <> "" Then 'J, K, M + colFilter.Add wsݒ.Cells(i, 12).Value, wsݒ.Cells(i, 13).Value 'L, M + End If + Next i + + '\[gw + Dim colSorter As New Dictionary + For i = 8 To 17 + If wsݒ.Cells(i, 6).Value <> "" Then + colSorter.Add wsݒ.Cells(i, 2).Value, wsݒ.Cells(i, 7).Value + End If + Next i + For i = 3 To 22 + If wsݒ.Cells(i, 15).Value <> "" And wsݒ.Cells(i, 16).Value <> "" And wsݒ.Cells(i, 18).Value <> "" Then 'O, P, R + colSorter.Add wsݒ.Cells(i, 17).Value, wsݒ.Cells(i, 19).Value 'Q, S + End If + Next i + + 'Viewϐ + Dim view As New Dictionary + view.Add "ColumnFilterHash", colFilter + view.Add "ColumnSorterHash", colSorter + apiBody.Add "View", view + + 'HTTPNGXgM\bhĂяo + Dim res As Object + Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody) + + If res("StatusCode") = 200 Then + Debug.Print "------ f[^̎擾ɐ܂" + + 'f[^ۑ + Dim csvData As Variant + csvData = res("Response")("Content") + Call f[^ۑ(csvData, o̓V[g) + End If + + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + Debug.Print "------ " + Debug.Print "------ END ------" +End Function + +Function init() + 'pubNϐɒli[ + 'Pleasanter API KEY + apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + baseURL = "https://nextoffice.Next-hd.co.jp" + +End Function + +Function f[^ۑ(csvData As Variant, targetSheet As String) + Debug.Print "------ CSVf[^V[gɏo͊Jn" + + 'targetSheet݂Ȃꍇ͐VK쐬 + If Not V[gmF(targetSheet) Then + ThisWorkbook.Sheets.Add After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) + ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = targetSheet + End If + + 'CSVf[^ue[uvɏo͂鏈 + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(targetSheet & "") + ws.Cells.ClearContents + + 'csvDataꎞt@Cɕۑ + Dim tempFilePath As String + tempFilePath = Environ("TEMP") & "\pleasanter_temp.csv" + + Dim fileNum As Integer + fileNum = FreeFile + Open tempFilePath For Output As #fileNum + Print #fileNum, csvData + Close #fileNum + + Debug.Print "ꎞt@Cɕۑ: " & tempFilePath + + Dim tempWb As Workbook + Set tempWb = Workbooks.Open(tempFilePath) + + Dim tempWs As Worksheet + Set tempWs = tempWb.Sheets(1) + + tempWs.UsedRange.Copy ws.Range("A1") + + tempWb.Close SaveChanges:=False + Kill tempFilePath + + + + Debug.Print "------ " + Debug.Print "------ CSVf[^V[gɏo͊" +End Function + + +'****************************************************************************** +'REST APIďo +'@method@GetPOST +'@url@REST APIURL +'@urlParam@NGXgp[^iIvVj +'@headers@wb_iIvVj +Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object + + 'HTTPNGXg̃IuWFNg` + Dim objHTTP As Object + Set objHTTP = New XMLHTTP60 + + 'HTTPNGXg̐ڑݒ + objHTTP.Open method, url & urlParam, False + + 'NGXgwb_[ݒiꍇsetRequestHeader𕡐Ηǂ̂`j + Dim i As Long + For i = 0 To headers.count - 1 + objHTTP.setRequestHeader headers.keys(i), headers.items(i) + Next i + + 'NGXgM + objHTTP.send JsonConverter.ConvertToJson(body) + + Do While objHTTP.readyState < 4 + DoEvents + Loop + + 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp + Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText) + +End Function + +'V[g̑݊mF +Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean + Dim Sh As Excel.Worksheet + If wb Is Nothing Then Set wb = ThisWorkbook + On Error Resume Next + Set Sh = wb.Sheets(SheetName) + On Error Goto 0 + V[gmF = Not Sh Is Nothing +End Function \ No newline at end of file diff --git a/XVBA/汎用ツール/データ取得汎用ツール.xlsm b/XVBA/汎用ツール/データ取得汎用ツール.xlsm index 714f0dd0..0caae9c4 100644 Binary files a/XVBA/汎用ツール/データ取得汎用ツール.xlsm and b/XVBA/汎用ツール/データ取得汎用ツール.xlsm differ diff --git a/XVBA/稟議集計/.vscode/settings.json b/XVBA/稟議集計/.vscode/settings.json new file mode 100644 index 00000000..c0ebeb96 --- /dev/null +++ b/XVBA/稟議集計/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.encoding": "shiftjis", + "editor.fontFamily": "'HackGen35 Console'", + "editor.tokenColorCustomizations": { + "comments": { + "foreground": "#66ff33", + "fontStyle": "italic underline" + } + }, + "editor.defaultFormatter": "local-smart.excel-live-server", +} \ No newline at end of file diff --git a/XVBA/稟議集計/config.json b/XVBA/稟議集計/config.json new file mode 100644 index 00000000..4916f992 --- /dev/null +++ b/XVBA/稟議集計/config.json @@ -0,0 +1,14 @@ +{ + "app_name": "XVBA", + "description": "", + "author": "", + "email": "", + "create_ate": "Fri Nov 14 2025 11:05:37 GMT+0900 (日本標準時)", + "excel_file": "稟議集計.xlsm", + "vba_folder": "vba-files", + "ribbon_file": "customUI14", + "ribbon_folder": "ribbons", + "logs": "on", + "xvba_packages": {}, + "xvba_dev_packages": {} +} \ No newline at end of file diff --git a/XVBA/稟議集計/package.json b/XVBA/稟議集計/package.json new file mode 100644 index 00000000..a8deae27 --- /dev/null +++ b/XVBA/稟議集計/package.json @@ -0,0 +1,15 @@ +{ + "name": "xvba-app", + "version": "1.0.0", + "description": "A XVBA App", + "main": "index.js", + "author": "LocalSmart", + "license": "ISC", + "dependencies": { + "excel-types": "1.0.0", + "Xlog": "1.0.0" + }, + "devDependencies": { + "@localsmart/xvba-cli": "^1.0.2" + } +} \ No newline at end of file diff --git a/XVBA/稟議集計/vba-files/Class/Sheet1.cls b/XVBA/稟議集計/vba-files/Class/Sheet1.cls new file mode 100644 index 00000000..34122d33 --- /dev/null +++ b/XVBA/稟議集計/vba-files/Class/Sheet1.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet1" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/稟議集計/vba-files/Class/Sheet2.cls b/XVBA/稟議集計/vba-files/Class/Sheet2.cls new file mode 100644 index 00000000..bae245ef --- /dev/null +++ b/XVBA/稟議集計/vba-files/Class/Sheet2.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet2" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/稟議集計/vba-files/Class/Sheet3.cls b/XVBA/稟議集計/vba-files/Class/Sheet3.cls new file mode 100644 index 00000000..b0b36e83 --- /dev/null +++ b/XVBA/稟議集計/vba-files/Class/Sheet3.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "Sheet3" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls b/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls new file mode 100644 index 00000000..6e197c86 --- /dev/null +++ b/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls @@ -0,0 +1,11 @@ +VERSION 1.0 CLASS +BEGIN + MultiUse = -1 'True +END +Attribute VB_Name = "ThisWorkbook" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = True +Option Explicit + diff --git a/XVBA/稟議集計/vba-files/Module/JsonConverter.bas b/XVBA/稟議集計/vba-files/Module/JsonConverter.bas new file mode 100644 index 00000000..876b8650 --- /dev/null +++ b/XVBA/稟議集計/vba-files/Module/JsonConverter.bas @@ -0,0 +1,1123 @@ +Attribute VB_Name = "JsonConverter" +'' +' VBA-JSON v2.3.1 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON +' +' JSON Converter for VBA +' +' Errors: +' 10001 - JSON parse error +' +' @class JsonConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +' +' Based originally on vba-json (with extensive changes) +' BSD license included below +' +' JSONLib, http://code.google.com/p/vba-json/ +' +' Copyright (c) 2013, Ryo Yokoyama +' All rights reserved. +' +' Redistribution and use in source and binary forms, with or without +' modification, are permitted provided that the following conditions are met: +' * Redistributions of source code must retain the above copyright +' notice, this list of conditions and the following disclaimer. +' * Redistributions in binary form must reproduce the above copyright +' notice, this list of conditions and the following disclaimer in the +' documentation and/or other materials provided with the distribution. +' * Neither the name of the nor the +' names of its contributors may be used to endorse or promote products +' derived from this software without specific prior written permission. +' +' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' +Option Explicit + +' === VBA-UTC Headers +#If Mac Then + +#If VBA7 Then + +' 64-bit Mac (2016) +Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr +Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _ + (ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr +Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _ + (ByVal utc_File As LongPtr) As LongPtr + +#Else + +' 32-bit Mac +Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _ + (ByVal utc_Command As String, ByVal utc_Mode As String) As Long +Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _ + (ByVal utc_File As Long) As Long +Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _ + (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long +Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _ + (ByVal utc_File As Long) As Long + +#End If + +#ElseIf VBA7 Then + +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx +' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx +Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#Else + +Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long +Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long +Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _ + (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long + +#End If + +#If Mac Then + +#If VBA7 Then +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As LongPtr +End Type + +#Else + +Private Type utc_ShellResult + utc_Output As String + utc_ExitCode As Long +End Type + +#End If + +#Else + +Private Type utc_SYSTEMTIME + utc_wYear As Integer + utc_wMonth As Integer + utc_wDayOfWeek As Integer + utc_wDay As Integer + utc_wHour As Integer + utc_wMinute As Integer + utc_wSecond As Integer + utc_wMilliseconds As Integer +End Type + +Private Type utc_TIME_ZONE_INFORMATION + utc_Bias As Long + utc_StandardName(0 To 31) As Integer + utc_StandardDate As utc_SYSTEMTIME + utc_StandardBias As Long + utc_DaylightName(0 To 31) As Integer + utc_DaylightDate As utc_SYSTEMTIME + utc_DaylightBias As Long +End Type + +#End If +' === End VBA-UTC + +Private Type json_Options + ' VBA only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits + ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True` + UseDoubleForLargeNumbers As Boolean + + ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys + AllowUnquotedKeys As Boolean + + ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson + EscapeSolidus As Boolean +End Type +Public JsonOptions As json_Options + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Convert JSON string to object (Dictionary/Collection) +' +' @method ParseJson +' @param {String} json_String +' @return {Object} (Dictionary or Collection) +' @throws 10001 - JSON parse error +'' +Public Function ParseJson(ByVal JsonString As String) As Object + Dim json_Index As Long + json_Index = 1 + + ' Remove vbCr, vbLf, and vbTab from json_String + JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "") + + json_SkipSpaces JsonString, json_Index + Select Case VBA.Mid$(JsonString, json_Index, 1) + Case "{" + Set ParseJson = json_ParseObject(JsonString, json_Index) + Case "[" + Set ParseJson = json_ParseArray(JsonString, json_Index) + Case Else + ' Error: Invalid JSON string + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['") + End Select +End Function + +'' +' Convert object (Dictionary/Collection/Array) to JSON +' +' @method ConvertToJson +' @param {Variant} JsonValue (Dictionary, Collection, or Array) +' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string +' @return {String} +'' +Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + Dim json_Index As Long + Dim json_LBound As Long + Dim json_UBound As Long + Dim json_IsFirstItem As Boolean + Dim json_Index2D As Long + Dim json_LBound2D As Long + Dim json_UBound2D As Long + Dim json_IsFirstItem2D As Boolean + Dim json_Key As Variant + Dim json_Value As Variant + Dim json_DateStr As String + Dim json_Converted As String + Dim json_SkipItem As Boolean + Dim json_PrettyPrint As Boolean + Dim json_Indentation As String + Dim json_InnerIndentation As String + + json_LBound = -1 + json_UBound = -1 + json_IsFirstItem = True + json_LBound2D = -1 + json_UBound2D = -1 + json_IsFirstItem2D = True + json_PrettyPrint = Not IsMissing(Whitespace) + + Select Case VBA.VarType(JsonValue) + Case VBA.vbNull + ConvertToJson = "null" + Case VBA.vbDate + ' Date + json_DateStr = ConvertToIso(VBA.CDate(JsonValue)) + + ConvertToJson = """" & json_DateStr & """" + Case VBA.vbString + ' String (or large number encoded as string) + If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then + ConvertToJson = JsonValue + Else + ConvertToJson = """" & json_Encode(JsonValue) & """" + End If + Case VBA.vbBoolean + If JsonValue Then + ConvertToJson = "true" + Else + ConvertToJson = "false" + End If + Case VBA.vbArray To VBA.vbArray + VBA.vbByte + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace) + End If + End If + + ' Array + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + + On Error Resume Next + + json_LBound = LBound(JsonValue, 1) + json_UBound = UBound(JsonValue, 1) + json_LBound2D = LBound(JsonValue, 2) + json_UBound2D = UBound(JsonValue, 2) + + If json_LBound >= 0 And json_UBound >= 0 Then + For json_Index = json_LBound To json_UBound + If json_IsFirstItem Then + json_IsFirstItem = False + Else + ' Append comma to previous line + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_LBound2D >= 0 And json_UBound2D >= 0 Then + ' 2D Array + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength + + For json_Index2D = json_LBound2D To json_UBound2D + If json_IsFirstItem2D Then + json_IsFirstItem2D = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_InnerIndentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Index2D + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + json_IsFirstItem2D = True + Else + ' 1D Array + json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(JsonValue(json_Index)) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Index + End If + + On Error GoTo 0 + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + + ' Dictionary or Collection + Case VBA.vbObject + If json_PrettyPrint Then + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace) + Else + json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace) + End If + End If + + ' Dictionary + If VBA.TypeName(JsonValue) = "Dictionary" Then + json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength + For Each json_Key In JsonValue.Keys + ' For Objects, undefined (Empty/Nothing) is not added to object + json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1) + If json_Converted = "" Then + json_SkipItem = json_IsUndefined(JsonValue(json_Key)) + Else + json_SkipItem = False + End If + + If Not json_SkipItem Then + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted + Else + json_Converted = """" & json_Key & """:" & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + End If + Next json_Key + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength + + ' Collection + ElseIf VBA.TypeName(JsonValue) = "Collection" Then + json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength + For Each json_Value In JsonValue + If json_IsFirstItem Then + json_IsFirstItem = False + Else + json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength + End If + + json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1) + + ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null + If json_Converted = "" Then + ' (nest to only check if converted = "") + If json_IsUndefined(json_Value) Then + json_Converted = "null" + End If + End If + + If json_PrettyPrint Then + json_Converted = vbNewLine & json_Indentation & json_Converted + End If + + json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength + Next json_Value + + If json_PrettyPrint Then + json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength + + If VBA.VarType(Whitespace) = VBA.vbString Then + json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace) + Else + json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace) + End If + End If + + json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength + End If + + ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition) + Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal + ' Number (use decimals for numbers) + ConvertToJson = VBA.Replace(JsonValue, ",", ".") + Case Else + ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType + ' Use VBA's built-in to-string + On Error Resume Next + ConvertToJson = JsonValue + On Error GoTo 0 + End Select +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary + Dim json_Key As String + Dim json_NextChar As String + + Set json_ParseObject = New Dictionary + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "{" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "}" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_Key = json_ParseKey(json_String, json_Index) + json_NextChar = json_Peek(json_String, json_Index) + If json_NextChar = "[" Or json_NextChar = "{" Then + Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + Else + json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index) + End If + Loop + End If +End Function + +Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection + Set json_ParseArray = New Collection + + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> "[" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['") + Else + json_Index = json_Index + 1 + + Do + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) = "]" Then + json_Index = json_Index + 1 + Exit Function + ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then + json_Index = json_Index + 1 + json_SkipSpaces json_String, json_Index + End If + + json_ParseArray.Add json_ParseValue(json_String, json_Index) + Loop + End If +End Function + +Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant + json_SkipSpaces json_String, json_Index + Select Case VBA.Mid$(json_String, json_Index, 1) + Case "{" + Set json_ParseValue = json_ParseObject(json_String, json_Index) + Case "[" + Set json_ParseValue = json_ParseArray(json_String, json_Index) + Case """", "'" + json_ParseValue = json_ParseString(json_String, json_Index) + Case Else + If VBA.Mid$(json_String, json_Index, 4) = "true" Then + json_ParseValue = True + json_Index = json_Index + 4 + ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then + json_ParseValue = False + json_Index = json_Index + 5 + ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then + json_ParseValue = Null + json_Index = json_Index + 4 + ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then + json_ParseValue = json_ParseNumber(json_String, json_Index) + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['") + End If + End Select +End Function + +Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String + Dim json_Quote As String + Dim json_Char As String + Dim json_Code As String + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + json_SkipSpaces json_String, json_Index + + ' Store opening quote to look for matching closing quote + json_Quote = VBA.Mid$(json_String, json_Index, 1) + json_Index = json_Index + 1 + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case "\" + ' Escaped string, \\, or \/ + json_Index = json_Index + 1 + json_Char = VBA.Mid$(json_String, json_Index, 1) + + Select Case json_Char + Case """", "\", "/", "'" + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "b" + json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "f" + json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "n" + json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "r" + json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "t" + json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + Case "u" + ' Unicode character escape (e.g. \u00a9 = Copyright) + json_Index = json_Index + 1 + json_Code = VBA.Mid$(json_String, json_Index, 4) + json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength + json_Index = json_Index + 4 + End Select + Case json_Quote + json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition) + json_Index = json_Index + 1 + Exit Function + Case Else + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + json_Index = json_Index + 1 + End Select + Loop +End Function + +Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant + Dim json_Char As String + Dim json_Value As String + Dim json_IsLargeNumber As Boolean + + json_SkipSpaces json_String, json_Index + + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + + If VBA.InStr("+-0123456789.eE", json_Char) Then + ' Unlikely to have massive number, so use simple append rather than buffer here + json_Value = json_Value & json_Char + json_Index = json_Index + 1 + Else + ' Excel only stores 15 significant digits, so any numbers larger than that are truncated + ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits + ' See: http://support.microsoft.com/kb/269370 + ' + ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number + ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16) + json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16) + If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then + json_ParseNumber = json_Value + Else + ' VBA.Val does not use regional settings, so guard for comma is not needed + json_ParseNumber = VBA.Val(json_Value) + End If + Exit Function + End If + Loop +End Function + +Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String + ' Parse key with single or double quotes + If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then + json_ParseKey = json_ParseString(json_String, json_Index) + ElseIf JsonOptions.AllowUnquotedKeys Then + Dim json_Char As String + Do While json_Index > 0 And json_Index <= Len(json_String) + json_Char = VBA.Mid$(json_String, json_Index, 1) + If (json_Char <> " ") And (json_Char <> ":") Then + json_ParseKey = json_ParseKey & json_Char + json_Index = json_Index + 1 + Else + Exit Do + End If + Loop + Else + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''") + End If + + ' Check for colon and skip if present or throw if not present + json_SkipSpaces json_String, json_Index + If VBA.Mid$(json_String, json_Index, 1) <> ":" Then + Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'") + Else + json_Index = json_Index + 1 + End If +End Function + +Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean + ' Empty / Nothing -> undefined + Select Case VBA.VarType(json_Value) + Case VBA.vbEmpty + json_IsUndefined = True + Case VBA.vbObject + Select Case VBA.TypeName(json_Value) + Case "Empty", "Nothing" + json_IsUndefined = True + End Select + End Select +End Function + +Private Function json_Encode(ByVal json_Text As Variant) As String + ' Reference: http://www.ietf.org/rfc/rfc4627.txt + ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab + Dim json_Index As Long + Dim json_Char As String + Dim json_AscCode As Long + Dim json_Buffer As String + Dim json_BufferPosition As Long + Dim json_BufferLength As Long + + For json_Index = 1 To VBA.Len(json_Text) + json_Char = VBA.Mid$(json_Text, json_Index, 1) + json_AscCode = VBA.AscW(json_Char) + + ' When AscW returns a negative number, it returns the twos complement form of that number. + ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result. + ' https://support.microsoft.com/en-us/kb/272138 + If json_AscCode < 0 Then + json_AscCode = json_AscCode + 65536 + End If + + ' From spec, ", \, and control characters must be escaped (solidus is optional) + + Select Case json_AscCode + Case 34 + ' " -> 34 -> \" + json_Char = "\""" + Case 92 + ' \ -> 92 -> \\ + json_Char = "\\" + Case 47 + ' / -> 47 -> \/ (optional) + If JsonOptions.EscapeSolidus Then + json_Char = "\/" + End If + Case 8 + ' backspace -> 8 -> \b + json_Char = "\b" + Case 12 + ' form feed -> 12 -> \f + json_Char = "\f" + Case 10 + ' line feed -> 10 -> \n + json_Char = "\n" + Case 13 + ' carriage return -> 13 -> \r + json_Char = "\r" + Case 9 + ' tab -> 9 -> \t + json_Char = "\t" + Case 0 To 31, 127 To 65535 + ' Non-ascii characters -> convert to 4-digit hex + json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4) + End Select + + json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength + Next json_Index + + json_Encode = json_BufferToString(json_Buffer, json_BufferPosition) +End Function + +Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String + ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef) + json_SkipSpaces json_String, json_Index + json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters) +End Function + +Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long) + ' Increment index to skip over spaces + Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " " + json_Index = json_Index + 1 + Loop +End Sub + +Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean + ' Check if the given string is considered a "large number" + ' (See json_ParseNumber) + + Dim json_Length As Long + Dim json_CharIndex As Long + json_Length = VBA.Len(json_String) + + ' Length with be at least 16 characters and assume will be less than 100 characters + If json_Length >= 16 And json_Length <= 100 Then + Dim json_CharCode As String + + json_StringIsLargeNumber = True + + For json_CharIndex = 1 To json_Length + json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1)) + Select Case json_CharCode + ' Look for .|0-9|E|e + Case 46, 48 To 57, 69, 101 + ' Continue through characters + Case Else + json_StringIsLargeNumber = False + Exit Function + End Select + Next json_CharIndex + End If +End Function + +Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String) + ' Provide detailed parse error message, including details of where and what occurred + ' + ' Example: + ' Error parsing JSON: + ' {"abcde":True} + ' ^ + ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '[' + + Dim json_StartIndex As Long + Dim json_StopIndex As Long + + ' Include 10 characters before and after error (if possible) + json_StartIndex = json_Index - 10 + json_StopIndex = json_Index + 10 + If json_StartIndex <= 0 Then + json_StartIndex = 1 + End If + If json_StopIndex > VBA.Len(json_String) Then + json_StopIndex = VBA.Len(json_String) + End If + + json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _ + VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _ + VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _ + ErrorMessage +End Function + +Private Sub json_BufferAppend(ByRef json_Buffer As String, _ + ByRef json_Append As Variant, _ + ByRef json_BufferPosition As Long, _ + ByRef json_BufferLength As Long) + ' VBA can be slow to append strings due to allocating a new string for each append + ' Instead of using the traditional append, allocate a large empty string and then copy string at append position + ' + ' Example: + ' Buffer: "abc " + ' Append: "def" + ' Buffer Position: 3 + ' Buffer Length: 5 + ' + ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer + ' Buffer: "abc " + ' Buffer Length: 10 + ' + ' Put "def" into buffer at position 3 (0-based) + ' Buffer: "abcdef " + ' + ' Approach based on cStringBuilder from vbAccelerator + ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp + ' + ' and clsStringAppend from Philip Swannell + ' https://github.com/VBA-tools/VBA-JSON/pull/82 + + Dim json_AppendLength As Long + Dim json_LengthPlusPosition As Long + + json_AppendLength = VBA.Len(json_Append) + json_LengthPlusPosition = json_AppendLength + json_BufferPosition + + If json_LengthPlusPosition > json_BufferLength Then + ' Appending would overflow buffer, add chunk + ' (double buffer length or append length, whichever is bigger) + Dim json_AddedLength As Long + json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength) + + json_Buffer = json_Buffer & VBA.Space$(json_AddedLength) + json_BufferLength = json_BufferLength + json_AddedLength + End If + + ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error: + ' Function call on left-hand side of assignment must return Variant or Object + Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append) + json_BufferPosition = json_BufferPosition + json_AppendLength +End Sub + +Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String + If json_BufferPosition > 0 Then + json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition) + End If +End Function + +'' +' VBA-UTC v1.0.6 +' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter +' +' UTC/ISO 8601 Converter for VBA +' +' Errors: +' 10011 - UTC parsing error +' 10012 - UTC conversion error +' 10013 - ISO 8601 parsing error +' 10014 - ISO 8601 conversion error +' +' @module UtcConverter +' @author tim.hall.engr@gmail.com +' @license MIT (http://www.opensource.org/licenses/mit-license.php) +'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' + +' (Declarations moved to top) + +' ============================================= ' +' Public Methods +' ============================================= ' + +'' +' Parse UTC date to local date +' +' @method ParseUtc +' @param {Date} UtcDate +' @return {Date} Local date +' @throws 10011 - UTC parsing error +'' +Public Function ParseUtc(utc_UtcDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ParseUtc = utc_ConvertDate(utc_UtcDate) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_LocalDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate + + ParseUtc = utc_SystemTimeToDate(utc_LocalDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to UTC date +' +' @method ConvertToUrc +' @param {Date} utc_LocalDate +' @return {Date} UTC date +' @throws 10012 - UTC conversion error +'' +Public Function ConvertToUtc(utc_LocalDate As Date) As Date + On Error GoTo utc_ErrorHandling + +#If Mac Then + ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True) +#Else + Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION + Dim utc_UtcDate As utc_SYSTEMTIME + + utc_GetTimeZoneInformation utc_TimeZoneInfo + utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate + + ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate) +#End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description +End Function + +'' +' Parse ISO 8601 date string to local date +' +' @method ParseIso +' @param {Date} utc_IsoString +' @return {Date} Local date +' @throws 10013 - ISO 8601 parsing error +'' +Public Function ParseIso(utc_IsoString As String) As Date + On Error GoTo utc_ErrorHandling + + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + Dim utc_OffsetIndex As Long + Dim utc_HasOffset As Boolean + Dim utc_NegativeOffset As Boolean + Dim utc_OffsetParts() As String + Dim utc_Offset As Date + + utc_Parts = VBA.Split(utc_IsoString, "T") + utc_DateParts = VBA.Split(utc_Parts(0), "-") + ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2))) + + If UBound(utc_Parts) > 0 Then + If VBA.InStr(utc_Parts(1), "Z") Then + utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":") + Else + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+") + If utc_OffsetIndex = 0 Then + utc_NegativeOffset = True + utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-") + End If + + If utc_OffsetIndex > 0 Then + utc_HasOffset = True + utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":") + utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":") + + Select Case UBound(utc_OffsetParts) + Case 0 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0) + Case 1 + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2)))) + End Select + + If utc_NegativeOffset Then: utc_Offset = -utc_Offset + Else + utc_TimeParts = VBA.Split(utc_Parts(1), ":") + End If + End If + + Select Case UBound(utc_TimeParts) + Case 0 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0) + Case 1 + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0) + Case 2 + ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues + ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2)))) + End Select + + ParseIso = ParseUtc(ParseIso) + + If utc_HasOffset Then + ParseIso = ParseIso - utc_Offset + End If + End If + + Exit Function + +utc_ErrorHandling: + Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description +End Function + +'' +' Convert local date to ISO 8601 string +' +' @method ConvertToIso +' @param {Date} utc_LocalDate +' @return {Date} ISO 8601 string +' @throws 10014 - ISO 8601 conversion error +'' +Public Function ConvertToIso(utc_LocalDate As Date) As String + On Error GoTo utc_ErrorHandling + + ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z") + + Exit Function + +utc_ErrorHandling: + Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description +End Function + +' ============================================= ' +' Private Functions +' ============================================= ' + +#If Mac Then + +Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date + Dim utc_ShellCommand As String + Dim utc_Result As utc_ShellResult + Dim utc_Parts() As String + Dim utc_DateParts() As String + Dim utc_TimeParts() As String + + If utc_ConvertToUtc Then + utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _ + " +'%s'` +'%Y-%m-%d %H:%M:%S'" + Else + utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _ + "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _ + "+'%Y-%m-%d %H:%M:%S'" + End If + + utc_Result = utc_ExecuteInShell(utc_ShellCommand) + + If utc_Result.utc_Output = "" Then + Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed" + Else + utc_Parts = Split(utc_Result.utc_Output, " ") + utc_DateParts = Split(utc_Parts(0), "-") + utc_TimeParts = Split(utc_Parts(1), ":") + + utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _ + TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2)) + End If +End Function + +Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult +#If VBA7 Then + Dim utc_File As LongPtr + Dim utc_Read As LongPtr +#Else + Dim utc_File As Long + Dim utc_Read As Long +#End If + + Dim utc_Chunk As String + + On Error GoTo utc_ErrorHandling + utc_File = utc_popen(utc_ShellCommand, "r") + + If utc_File = 0 Then: Exit Function + + Do While utc_feof(utc_File) = 0 + utc_Chunk = VBA.Space$(50) + utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File)) + If utc_Read > 0 Then + utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read)) + utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk + End If + Loop + +utc_ErrorHandling: + utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File)) +End Function + +#Else + +Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME + utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value) + utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value) + utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value) + utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value) + utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value) + utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value) + utc_DateToSystemTime.utc_wMilliseconds = 0 +End Function + +Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date + utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _ + TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond) +End Function + +#End If diff --git a/XVBA/稟議集計/vba-files/Module/Module1.bas b/XVBA/稟議集計/vba-files/Module/Module1.bas new file mode 100644 index 00000000..6f94cdc1 --- /dev/null +++ b/XVBA/稟議集計/vba-files/Module/Module1.bas @@ -0,0 +1,230 @@ +Attribute VB_Name = "Module1" +Option Explicit +'ʕϐ +Public gc\e[uID As String +Public MSSe[uID As String +Public Jn As String +Public I As String + +Public GNX|[g1 As String +Public GNX|[g2 As String + +Public apiKey As String +Public baseURL As String + +Sub run() + Debug.Print "------ START ------" + 'smF + Dim rc As VbMsgBoxResult + rc = MsgBox("vU^[ŐVgc\f[^擾܂H" & Chr(13) & "̏ɂ͏XԂ|܂", vbYesNo + vbQuestion) + + If rc = vbYes Then + Application.ScreenUpdating = False 'ʍXV~ + Application.Calculation = xlManual 'vZ~ + + ' + Call init + + 'gc\CSVGNX|[g + Dim resCSV As Variant + resCSV = gc\CSVGNX|[g(GNX|[g1 & "") + 'CSVf[^V[gɕۑ + Call CSVf[^ۑ1(resCSV, "gc\") + + 'MSSf[^CSVGNX|[g + Dim resMSSCSV As Variant + resMSSCSV = MSSf[^CSVGNX|[g(GNX|[g2 & "") + + 'CSVf[^V[gɕۑ + Call CSVf[^ۑ1(resMSSCSV, "MSSf[^") + + Application.Calculation = xlAutomatic 'vZJn + Application.ScreenUpdating = True 'ʍXVJn + Else + MsgBox "𒆎~܂", vbCritical + + End If + + Debug.Print "------ " + Debug.Print "------ END ------" + +End Sub + +Function init() + 'pubNϐɒli[ + 'ƌve[u 214737 + gc\e[uID = Range("gc\e[uID").Value + MSSe[uID = Range("MSSe[uID").Value + Jn = Range("Jn").Value + I = Range("I").Value + + GNX|[g1 = Range("GNX|[g1").Value + GNX|[g2 = Range("GNX|[g2").Value + + 'Pleasanter API KEY + apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d" + baseURL = "https://nextoffice.Next-hd.co.jp" + +End Function + +Function gc\CSVGNX|[g(exportId As String) As Variant + 'ʕϐ + Dim apiUrl As String + Dim apiUrlParam As String + + 'NGXgURL + apiUrl = baseURL & "/pleasanter/api/items/" & gc\e[uID & "/" + apiUrlParam = "export" + + 'wb_ + Dim apiHeaders As New Dictionary + apiHeaders.Add "Content-Type", "application/json;charset=utf-8" + + 'NGXgf[^ + Dim apiBody As New Dictionary + apiBody.Add "ApiVersion", "1.1" + apiBody.Add "ApiKey", apiKey + apiBody.Add "ExportId", exportId + + 'Filterϐ + Dim colFilter As New Dictionary + colFilter.Add "Status", "[900]" + colFilter.Add "ClassC", "[1,3]" + colFilter.Add "DateA", "[""" & Jn & " 00:00:00" & "," & I & " 23:59:59""]" + + '\[gw + Dim colSorter As New Dictionary + colSorter.Add "DateA", "asc" + + 'Viewϐ + Dim view As New Dictionary + view.Add "ColumnFilterHash", colFilter + view.Add "ColumnSorterHash", colSorter + apiBody.Add "View", view + + 'HTTPNGXgM\bhĂяo + Dim res As Object + Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody) + + If res("StatusCode") = 200 Then + Debug.Print "---- CSVf[^̎擾ɐ܂" + gc\CSVGNX|[g = res("Response")("Content") + + End If + +End Function + +Function MSSf[^CSVGNX|[g(exportId As String) As Variant + 'ʕϐ + Dim apiUrl As String + Dim apiUrlParam As String + + 'NGXgURL + apiUrl = baseURL & "/pleasanter/api/items/" & MSSe[uID & "/" + apiUrlParam = "export" + + 'wb_ + Dim apiHeaders As New Dictionary + apiHeaders.Add "Content-Type", "application/json;charset=utf-8" + + 'NGXgf[^ + Dim apiBody As New Dictionary + apiBody.Add "ApiVersion", "1.1" + apiBody.Add "ApiKey", apiKey + apiBody.Add "ExportId", exportId + + 'Filterϐ + Dim colFilter As New Dictionary + + '\[gw + Dim colSorter As New Dictionary + colSorter.Add "DateA", "asc" + + 'Viewϐ + Dim view As New Dictionary + 'view.Add "ColumnFilterHash", colFilter + view.Add "ColumnSorterHash", colSorter + apiBody.Add "View", view + + 'HTTPNGXgM\bhĂяo + Dim res As Object + Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody) + + If res("StatusCode") = 200 Then + Debug.Print "---- CSVf[^̎擾ɐ܂" + MSSf[^CSVGNX|[g = res("Response")("Content") + + End If + +End Function + +Function CSVf[^ۑ1(csvData As Variant, targetSheet As String) + Debug.Print "------ CSVf[^V[gɏo͊Jn" + 'CSVf[^ue[uvɏo͂鏈 + Dim ws As Worksheet + Set ws = ThisWorkbook.Sheets(targetSheet & "") + ws.Cells.ClearContents + + 'CSVf[^zɕϊiJ}؂E_uNH[gΉj + Dim records As Collection: Set records = New Collection + Dim i As Long, c As String, inQuote As Boolean, field As String, rec As Collection + Dim pos As Long, l As Long + l = Len(csvData) + Set rec = New Collection + field = "" + inQuote = False + For i = 1 To l + c = Mid(csvData, i, 1) + If c = '"' Then + If inQuote And i < l And Mid(csvData, i + 1, 1) = '"' Then + field = field & '"' + i = i + 1 + Else + inQuote = Not inQuote + End If + Elseif c = "," And Not inQuote Then + rec.Add field + field = "" + Elseif (c = vbCr Or c = vbLf) And Not inQuote Then + If field <> "" Or rec.Count > 0 Then + rec.Add field + records.Add rec + Set rec = New Collection + field = "" + End If + Else + field = field & c + End If + Next i + 'Ō̃tB[h + If field <> "" Or rec.Count > 0 Then + rec.Add field + records.Add rec + End If + + 'ő񐔎擾 + Dim maxCols As Long: maxCols = 0 + For Each rec In records + If rec.Count > maxCols Then maxCols = rec.Count + Next + '񎟌z + Dim arr() As Variant + ReDim arr(1 To records.Count, 1 To maxCols) + Dim rowIdx As Long, colIdx As Long + rowIdx = 1 + For Each rec In records + For colIdx = 1 To maxCols + If colIdx <= rec.Count Then + arr(rowIdx, colIdx) = rec(colIdx) + Else + arr(rowIdx, colIdx) = "" + End If + Next colIdx + rowIdx = rowIdx + 1 + Next + 'V[gɏo + ws.Range(ws.Cells(1, 1), ws.Cells(UBound(arr, 1), UBound(arr, 2))).Value = arr + + Debug.Print "------ " + Debug.Print "------ CSVf[^V[gɏo͊" +End Function \ No newline at end of file diff --git a/XVBA/稟議集計/vba-files/Module/Module2.bas b/XVBA/稟議集計/vba-files/Module/Module2.bas new file mode 100644 index 00000000..47e094fc --- /dev/null +++ b/XVBA/稟議集計/vba-files/Module/Module2.bas @@ -0,0 +1,57 @@ +Attribute VB_Name = "Module2" +Option Explicit + +'****************************************************************************** +'REST APIďo +'@method@GetPOST +'@url@REST APIURL +'@urlParam@NGXgp[^iIvVj +'@headers@wb_iIvVj +Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object + + 'HTTPNGXg̃IuWFNg` + Dim objHTTP As Object + Set objHTTP = New XMLHTTP60 + + 'HTTPNGXg̐ڑݒ + objHTTP.Open method, url & urlParam, False + + 'NGXgwb_[ݒiꍇsetRequestHeader𕡐Ηǂ̂`j + Dim i As Long + For i = 0 To headers.count - 1 + objHTTP.setRequestHeader headers.keys(i), headers.items(i) + Next i + + 'NGXgM + objHTTP.send JsonConverter.ConvertToJson(body) + + Do While objHTTP.readyState < 4 + DoEvents + Loop + + 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp + Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText) + +End Function + +'̓tϊ +Function tϊ(Byval dateVal As String) As Variant + If dateVal = "1899-12-30T00:00:00" Then + tϊ = "" + Elseif dateVal = "" Then + tϊ = "" + Else + dateVal = Replace(dateVal, ".000Z", "") + tϊ = CDate(Replace(dateVal, "T", " ")) + End If +End Function + +'V[g̑݊mF +Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean + Dim Sh As Excel.Worksheet + If wb Is Nothing Then Set wb = ThisWorkbook + On Error Resume Next + Set Sh = wb.Sheets(SheetName) + On Error Goto 0 + V[gmF = Not Sh Is Nothing +End Function diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md new file mode 100644 index 00000000..f1f3ad96 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog +## Xdebug (Under Construction) + +- This package provides a way to simulate VBA Immediate Window in Output VSCode window + +## [1.0.0b0] - 2020-09-16 +### Added + - Create XDebug.printx + - Create XDebug.printError + + + + \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/README.md b/XVBA/稟議集計/xvba_modules/Xdebug/README.md new file mode 100644 index 00000000..9d8b74f0 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/Xdebug/README.md @@ -0,0 +1,58 @@ +# Xdebug (VBA Immediate Window in Output VSCode Window) + +## Description + - This package provides a way to simulate VBA Immediate Window in Output VSCode window + - Find the Output window (VBA Immediate Window) + + ## Methods + +

+VBA immediate Window +

+ + + ### Xdebug.printx + +- This method print any type os variable + + +``` + +Public Sub index() + + + Dim test(1) As Variant + + 'Add an Object + Set test(0) = Sheets(1) + 'Add a String + test(1) = "Test Xdebug Output" + + Xdebug.printx test + +End Sub + +``` + + + ### Xdebug.printError + +- This method is use for print error + + +``` + Public Sub index() + + On Error GoTo ErrorHandle: + 'throw an error + d = 1/0 + 'Your code here + + + ErrorHandle: + Xdebug.errorSource = "pageConsoller.index" + Xdebug.printError + + End Sub +``` + diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/Xdebug.cls b/XVBA/稟議集計/xvba_modules/Xdebug/Xdebug.cls new file mode 100644 index 00000000..0856356e --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/Xdebug/Xdebug.cls @@ -0,0 +1,241 @@ +VERSION 1.0 CLASS +BEGIN +MultiUse = -1 'True +END +Attribute VB_Name = "Xdebug" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = True +Attribute VB_Exposed = False + +'namespace=xvba_modules\Xdebug + +Public env As String + +'Example of Package Create by XVBA-CLI + +Private OS_TMP__FOLDER_PATH As String + +Private IMMEDIATE_FOLDER As String + +Private IMMEDIATE_FILE As String + +Private DEBUG_FILE_PATH As String + +Const EMPTY_TYPE = 0 +Const NULL_TYPE = 1 +Const ERROR_TYPE = 10 +Const INTEGER_TYPE = 2 +Const LONG_TYPE = 3 +Const SINGLE_TYPE = 4 +Const DOUBLE_TYPE = 5 +Const CURRENCY_TYPE = 6 +Const DATE_TYPE = 7 +Const DECIMAL_TYPE = 14 +Const LONG_LONG_TYPE = 20 +Const BOOLEAN_TYPE = 11 +Const STRING_TYPE = 8 +Const ARRAY_TYPE = 8204 +Const OBJECT_TYPE = 9 +Const VARIANT_TYPE = 12 +Const DATA_OBJECT_TYPE = 13 +Private Const MESSAGE_SPACE = " " + +Public errorSource As String +Public errorTitle As String + +'/* +'Flag for Actrive os Deactive VBA Debug.Print +'*/ +Public vbaDebugPrintActive As Boolean + +Private Sub class_initialize() + + Dim fso As Object + Set fso = CreateObject("Scripting.FileSystemObject") + OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2) + IMMEDIATE_FOLDER = "xvba_immediate" + IMMEDIATE_FILE = "immediate.txt" + vbaDebugPrintActive = True + errorSource = "" + errorTitle = "XVBA: New Error Was Found" + env = "DEV" + + DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE + +End Sub + + + + +Public Function printx(inputValue As Variant,Optional messageType As Integer = 1) + + if(env="DEV") Then + Dim messageText As String + + messageText = createOutputMessage(inputValue) + + Call writeDebugFileContent(messageText,messageType) + End If +End Function + +'/* +'Print A Error +' +'*/ +Public Function printError() + if(env="DEV") Then + + Dim message As String + + message = ErrorHanddler() + + Call writeDebugFileContent(message,0) + + End If +End Function + + +'/* +' +'Write Debug ino on File +' +' +'*/ +Private Function writeDebugFileContent(messageText,messageType) + + Dim filePath As String + Dim FileNum As Integer + Dim PREFIX As String + + filePath = DEBUG_FILE_PATH + + FileNum = FreeFile + + PREFIX = Now & " - " + + Open filePath For Append As #FileNum + + Dim debugMessage As String + Select Case messageType + + Case 0 'Error Message + + debugMessage= PREFIX & "Error:" & messageText + Case 1 'Success + debugMessage= PREFIX & messageText + Case Else 'No Type Set + + debugMessage= PREFIX & "Info:" & messageText + End Select + + Print #FileNum,debugMessage + + Close #FileNum + + If (vbaDebugPrintActive) Then + + Debug.Print debugMessage + + End If +End Function + + +Private Function createOutputMessage(inputValue) As String + + Dim typeOfVar As Integer + Dim response As String + + typeOfVar = VarType(inputValue) + + + 'Set Error Source Macro/Function name + Err.Source="createOutputMessage" + Select Case typeOfVar + Case STRING_TYPE + response = "String: " & inputValue + Case INTEGER_TYPE + response = "Integer: " & CStr(inputValue) + Case LONG_TYPE + response = "Long: " & CStr(inputValue) + Case SINGLE_TYPE + response = "Single: " & CStr(inputValue) + Case DOUBLE_TYPE + response = "Double: " & CStr(inputValue) + Case CURRENCY_TYPE + response = "Currenty: " & CStr(inputValue) + Case DATE_TYPE + response = "Date: " & CStr(inputValue) + Case DECIMAL_TYPE + response = "Decimal: " & CStr(inputValue) + Case LONG_LONG_TYPE + response = "LongLong: " & CStr(inputValue) + Case BOOLEAN_TYPE + response = "Boolean: " & CStr(inputValue) + Case ARRAY_TYPE + response = makeArrayTypeMessage(inputValue) + Case EMPTY_TYPE + response = "Empty: " + Case OBJECT_TYPE + response = "Object: " & TypeName(inputValue) + Case NULL_TYPE + response = "Null: " + Case ERROR_TYPE + response = "Error: " + Case VARIANT_TYPE + response = "Variant: " + Case DATA_OBJECT_TYPE + response = "Data Object: " & TypeName(inputValue) + Case Else + response = "Type Not Supported yet please inform xvba developer " + Debug.Print typeOfVar + Debug.Print inputValue + + End Select + + + createOutputMessage = response + +End Function + + +Private Function makeArrayTypeMessage(inputValue)As String + Dim nextItem As Variant + Dim response As String + Dim message As String + + For Each nextItem In inputValue + message = createOutputMessage(nextItem) + response = response & " [ " & message & " ]" & vbCrLf + Next nextItem + makeArrayTypeMessage = "Array: " & vbCrLf & response +End Function + + + +Private Function ErrorHanddler() As String + Dim errorDescription As String + Dim numberDescription As String + Dim lineError As String + Dim sourceError As String + Dim errorTitleMsg As String + Dim errorSourceMsg As String + + errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle + errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource + + + Select Case Err.Number + Case 11 + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + Case Else + numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number + errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description + End Select + + + ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription + +End Function \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/images/immediate.gif b/XVBA/稟議集計/xvba_modules/Xdebug/images/immediate.gif new file mode 100644 index 00000000..dd641693 Binary files /dev/null and b/XVBA/稟議集計/xvba_modules/Xdebug/images/immediate.gif differ diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/xvba.package.json b/XVBA/稟議集計/xvba_modules/Xdebug/xvba.package.json new file mode 100644 index 00000000..4a1da537 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/Xdebug/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "Xdebug", + "version": "1.0.0", + "author": "Alberto Edaurdo", + "email": "alberto.aeraphe@gmail.com", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/xdebug.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "www.xvba.dev" +} \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/CHANGELOG.md b/XVBA/稟議集計/xvba_modules/excel-types/CHANGELOG.md new file mode 100644 index 00000000..39a71ff4 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +## excel@types (Under Construction) + +- This package provides a way to use auto-complete for excel class + + + + \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/README.md b/XVBA/稟議集計/xvba_modules/excel-types/README.md new file mode 100644 index 00000000..dcf0411e --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/README.md @@ -0,0 +1,51 @@ +# Excel VBA type Definitions Package (excel-types) + + - This package provides a way to use auto-complete for Excel VBA Class + - You can Create your own vba type definition packages our update this. + - Type definition packages are named like: name-types + - The packages are store in www.xvba.dev + - Ech excel vba class has your own file definition + - The files extension has to be filename.d.vb + - Auto-complete just expose Public types + + +## Create,install and share VBA Packages With Xvba-cli and Xvba Repository: + +- Xvba Repository : www.xvba.dev +- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli + +## Install + +- For instal excel-types just use XVBA-CLI install command + +``` + npx xvba install excel-types +``` +## Comments Block + +- Use comments blocks below for documenting class/methods/Subs/Functions/Properties +- The comments blocs has to start with '/* and ends with '*/ + +``` + +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +``` + +``` +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +``` \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/application.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/application.d.vb new file mode 100644 index 00000000..af74a242 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/application.d.vb @@ -0,0 +1,147 @@ +'/* +'Represents the entire Microsoft Excel application. +' +' +'*/ +Public Class Application() + +'/* +'Returns an object that represents the active sheet (the sheet on top) +'in the active workbook or in the specified window or workbook. +'Returns Nothing if no sheet is active. +' +'*/ +Public Property ActiveSheet As Worksheet + +'/* +'Returns a Workbook object that represents the workbook in the +'active window (the window on top). +'Returns Nothing if there are no windows open or if either +'the Info window or the Clipboard window is the active window. Read-only. +' +' +'*/ +Public Property ActiveWorkbook As Workbook + +'/* +'True if Microsoft Excel displays certain alerts and messages while +'a macro is running. Read/write Boolean. +' +'Example +'Application.DisplayAlerts = False +'Workbooks("BOOK1.XLS").Close +'Application.DisplayAlerts = True +' +'*/ +Public Property DisplayAlerts As Boolean + + +'/* +'Returns or sets an XlCalculation value that represents the calculation mode. +' +'Example +'Application.Calculation = xlCalculationManual +'Application.Calculation = xlAutomatic +' +'@type {XlCalculation} +'*/ +Public Property Calculation As XlCalculation + +'/* +'True if events are enabled for the specified object. Read/write Boolean. +' +'@type {Boolean} +'*/ +Public Property EnableEvents As Boolean + +'/* +'True if screen updating is turned on. Read/write Boolean. +'@type {Boolean} +'*/ +Public Property ScreenUpdating As Boolean + + +'/* +'Returns a Range object that represents the active cell in the active window +'(the window on top) or in the specified window. If the window isn't displaying +'a worksheet, this property fails. Read-only. +' +'@type {Object.} +' +'*/ +Public Property ActiveCell As Range + +'/* +'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet). +'An embedded chart is considered active when it's either selected or activated. When no chart is active, +'this property returns Nothing. +' +'Example: +'ActiveChart.HasLegend = True +' +'@type {Object.} +'*/ +Public Property ActiveChart As Chart + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property ThisWorkbook As Workbook + +'/* +'Returns a Workbooks collection that represents all the open workbooks. Read-only. +' +'@type {Object.} Workbooks Collection +'*/ +Public Property Workbooks As Workbooks + +'/* +'Activates a Microsoft application. If the application is already running, +'this method activates the running application. +'If the application isn't running, this method starts a new instance of the application. +' +'Example: (This example starts and activates Word.) +' +'Application.ActivateMicrosoftApp xlMicrosoftWord +' +'@param {XlMSApplication} index +'*/ +Public Sub ActivateMicrosoftApp( index As XlMSApplication) + +End Sub + +'/* +'An event occurs when all pending refresh activity (both synchronous and asynchronous) +'and all of the resultant calculation activities have been completed. +' +'*/ +Public Event AfterCalculate() + +'/* +'Occurs when a new workbook is created. +' +'Example: +' +'Private Sub App_NewWorkbook(ByVal Wb As Workbook) +'Application.Windows.Arrange xlArrangeStyleTiled End Sub +' +'@param {Workbook} Wb +'*/ +Public Event NewWorkbook(ByVal Wb As Workbook) + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/dictionary.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/dictionary.d.vb new file mode 100644 index 00000000..6a580711 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/dictionary.d.vb @@ -0,0 +1,109 @@ + + + +'/* +' +' +' +'/* +Public Class Scripting() + + +'/* +' +'Object that stores data key/item pairs. +' +'/* +Public Function Dictionary() + +End Function + +'/* +' +'Adds a new key/item pair to a Dictionary object. +' +'*/ +Public Sub Add() + +End Sub + +'/* +' +'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object. +' +'*/ +Public Sub Exists() + +End Sub + +'/* +' +'Returns an array of all the items in a Dictionary object. +' +'*/ +Public Sub Items() + +End Sub + +'/* +' +'Returns an array of all the keys in a Dictionary object. +' +'*/ +Public Sub Keys() + +End Sub + +'/* +' +'Removes one specified key/item pair from the Dictionary object. +' +'*/ +Public Sub Remove() + +End Sub + +'/* +' +'Removes all the key/item pairs in the Dictionary object. +' +'*/ +Public Sub RemoveAll() + +End Sub + + + +'/* +'Sets or returns the comparison mode for comparing keys in a Dictionary object. +' +' +'*/ +Public Property CompareMode As Variant + + +'/* +'Returns the number of key/item pairs in a Dictionary object. +' +' +'*/ +Public Property Count As Long + + +'/* +'Sets or returns the value of an item in a Dictionary object. +' +' +'*/ +Public Property Item As Variant + +'/* +'Sets a new key value for an existing key value in a Dictionary object. +' +' +'*/ +Public Property Key As Variant + + + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/err.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/err.d.vb new file mode 100644 index 00000000..7115cac1 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/err.d.vb @@ -0,0 +1,30 @@ +'/* +'Contains information about run-time errors. +' +' +'*/ +Public Class Err() + +'/* +'Returns or sets a string expression containing a +'descriptive string associated with an object. Read/write. +' +'*/ +Public Property Description As String + +'/* +'Returns or sets a numeric value specifying an error. +'Number is the Err object's default property. Read/write. +' +'*/ +Public Property Number As Integer + + +'/* +'Returns or sets a string expression specifying the name of +'the object or application that originally generated the error. Read/write. +' +'*/ +Public Property Source As String + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/functions.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/functions.d.vb new file mode 100644 index 00000000..38aba162 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/functions.d.vb @@ -0,0 +1,547 @@ + +'/* +'[Conversion Func] +' +'*/ +Function Asc() +End Function + +'/* +'[Conversion Func] +'Returns a String containing the character associated +'with the specified character code. +' +'Example: +' +'Dim MyChar +'MyChar = Chr(65) ' Returns A. +'MyChar = Chr(97) ' Returns a. +'MyChar = Chr(62) ' Returns >. +'MyChar = Chr(37) ' Returns %. +'*/ +Function Chr() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Format() +End Function + +'/* +'[Conversion Func] +' +'*/ +Function Hex() +End Function + + +'/* +'[Conversion Func] +' +'*/ +Function Oct() +End Function + + +'/* +'[Conversion Func] +'Returns a Variant (String) representation of a number. +' +'Example: +'Dim MyString +'MyString = Str(459) ' Returns " 459". +'MyString = Str(-459.65) ' Returns "-459.65". +'MyString = Str(459.001) ' Returns " 459.001". +' +'*/ +Function Str() As Variant +End Function + + +'/* +'[Conversion Func] +'Returns the numbers contained in a string as +'a numeric value of appropriate type. +' +'Example: +' +'Dim MyValue +'MyValue = Val("2457") ' Returns 2457. +'MyValue = Val(" 2 45 7") ' Returns 2457. +'MyValue = Val("24 and 57") ' Returns 24. +'*/ +Function Val(String) +End Function + + + +Function CreateObject() +End Function + + +Function CurDir() +End Function + +'/* +'Returns a Variant (Date) containing the current system date. +' +'Example +' +'Dim MyDate +'MyDate = Date ' MyDate contains the current system date. +' +'*/ +Function Date() + +End Function + + + +Function DateDiff() +End Function + +Function DatePart() +End Function + +Function DateSerial() +End Function + +Function Day() +End Function + +Function DDB() +End Function + +Function Dir() +End Function + +Function DoEvents() +End Function + +Function Environ() +End Function + +Function EOF() +End Function + +Function Error() +End Function + + +Function FileAttr() +End Function + +Function FileDateTime() +End Function + +Function FileLen() +End Function + +Function Filter() +End Function + +Function FormatCurrency() +End Function + +Function FormatDateTime() +End Function + +Function FormatNumber() +End Function + +Function FormaPercent() +End Function + + +Function FreeFile() +End Function + +Function FV() +End Function + +Function GetAllSettings() +End Function + +Function GetAttr() +End Function + +Function GetObject() +End Function + +Function GetSetting() +End Function + + +Function Hour() +End Function + +Function IIf() +End Function + +Function IMEStatus() +End Function + +Function Input() +End Function + +Function InputBox() +End Function + +Function InStr() +End Function + +Function InStrRev() +End Function + +Function IPmt() +End Function + + + +Function IRR() +End Function + +Function IsArray() +End Function + +Function IsDate() +End Function + +'/* +' +'Returns a Boolean value indicating whether a variable has been initialized. +' +'*/ +Function IsEmpty() +End Function + + +Function IsError() +End Function + +Function IsMissing() +End Function + +Function IsNull() +End Function + +Function IsNumeric() +End Function + + +Function IsObject() +End Function + +'/* +'Returns a string created by joining a number of substrings contained in an array. +' +'*/ +Function Join() +End Function + + + +Function LBound() +End Function + +Function LCase() +End Function + +Function Left() +End Function + +Function Len() +End Function + + +Function Loc() +End Function + +Function LOF() +End Function + +Function LTrim() +End Function + +Function RTrim() +End Function + +Function Trim() +End Function + + +Function MacID() +End Function + + + +Function MacScript() +End Function + +'/* +'[Math Function] +'Returns a value of the same type that is passed to it specifying the absolute value of a number. +' +'*/ +Function Abs() +End Function + +'/* +'[Math Function] +'Returns a Double specifying the arctangent of a number. +' +'*/ +Function Atn() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Cos() +End Function + +'/* +'[Math Function] +' +'*/ +Function Exp() +End Function + +'/* +'[Math Function] +' +'*/ +Function Int() +End Function + +'/* +'[Math Function] +' +'*/ +Function Fix() +End Function + +'/* +'[Math Function] +' +'*/ +Function Log() +End Function + + +'/* +'[Math Function] +' +'*/ +Function Rnd() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sgn() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sin() +End Function + +'/* +'[Math Function] +' +'*/ +Function Sqr() +End Function + +'/* +'[Math Function] +' +'*/ +Function Tan() +End Function + + + +Function Mid() +End Function + + +Function Minute() +End Function + + +Function MIRR() +End Function + + +Function Month() +End Function + +Function MonthName() +End Function + +'/* +'Displays a message in a dialog box, waits for the user to click a button, +'and returns an Integer indicating which button the user clicked. +' +'*/ +Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ]) +End Function + + +Function Now() +End Function + + +Function NPer() +End Function + + +Function NPV() +End Function + +Function PPmt() +End Function + + +Function QBColor() +End Function + + +Function Rate() +End Function + +'/* +'Returns a string, which is a substring of a string +'expression beginning at the start position (defaults to 1), +'in which a specified substring has been replaced with another +'substring a specified number of times. +' +'*/ +Function Replace(expression, find, replace, [ start, [ count, [ compare ]]]) +End Function + +Function RGB() +End Function + + +Function Right() +End Function + + +Function Round() +End Function + + +Function Second() +End Function + + + +Function Seek() +End Function + + +Function Shell() +End Function + + +Function SNL() +End Function + + +Function Space() +End Function + + +Function Spc() +End Function + + +Function Split() +End Function + + +Function StrComp() +End Function + + + +Function StrConv() +End Function + + +Function String() +End Function + + +Function StrReverse() +End Function + + + +Function Switch() +End Function + + +Function SYD() +End Function + + +Function Tab() +End Function + + +Function Time() +End Function + + + +Function Timer() +End Function + + +Function TimeSerial() +End Function + + +Function TimeValue() +End Function + + + +Function TypeName() +End Function + + +Function UBound() +End Function + + +Function Ucase() +End Function + + +Function VarType() +End Function + + + +Function Weekday() +End Function + + +Function WeekdayName() +End Function + + +Function Year() +End Function \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/range.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/range.d.vb new file mode 100644 index 00000000..92a9c7d7 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/range.d.vb @@ -0,0 +1,625 @@ +'/* +'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range. +' +' +'*/ +Public Class Range() + +'/* +'(Range) +' +'Activates a single cell, which must be inside the current selection. +'To select a range of cells, use the Select method., +' +'Example +' +'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell. +' +' Worksheets("Sheet1").Activate +' Range("A1:C3").Select +' Range("B2").Activate +' +'*/ +Public Sub Activate() + +End Sub + + +'/* +'Adds a comment to the range. +' +'Example: +' +'Worksheets(1).Range("E5").AddComment "Current Sales" +' +'@param {String} text +'*/ +Public Sub AddComment(text As String) + +End Sub + +Public Sub AddCommentThreaded() + +End Sub + +Public Sub AdvancedFilter() + +End Sub + +Public Sub AllocateChanges() + +End Sub + +Public Sub ApplyName() + +End Sub + +Public Sub ApplyOutLineStyles() + +End Sub + +Public Sub AutoComplete() + +End Sub + +Public Sub AutoFill() + +End Sub + +Public Sub AutoFilter() + +End Sub + +Public Sub AutioFit() + +End Sub + +Public Sub AutoOutline() + +End Sub + +Public Sub BorderAround() + +End Sub + +Public Sub Calculate() + +End Sub + +Public Sub CalculateRowMajorOrder() + +End Sub + +Public Sub CheckSpelling() + +End Sub + +Public Sub Clear() + +End Sub + +Public Sub ClearComments() + +End Sub + +Public Sub ClearContents() + +End Sub + +Public Sub ClearFormats() + +End Sub + +Public Sub ClearHyperlinks() + +End Sub + +Public Sub ClearNotes() + +End Sub + +Public Sub ClearOutline() + +End Sub + +Public Sub ColumnDifferences() + +End Sub + +Public Sub Consolidate() + +End Sub + +Public Sub ConvertToLinkedDataType() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub CopyFromRecordset() + +End Sub + +Public Sub CopyPicture() + +End Sub + +Public Sub CreateNames() + +End Sub + +Public Sub Cut() + +End Sub + +Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend) + +End Function + +Public Function DataTypeToText() + +End Function + +Public Function Delete (Shift) + +End Function + +Public Function DialogBox() + +End Function + +Public Function Dirty() + +End Function +Public Function DiscardChanges() + +End Function +Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format) + +End Function +Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) + +End Function +Public Function FillDown() + +End Function +Public Function FillLeft() + +End Function + +Public Function FillRight() + +End Function + +Public Function FillUp() + +End Function + +Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) + +End Function + +Public Function FindNext (After) + +End Function + +Public Function FindPrevious (Before) + +End Function + +Public Function FlashFill () + +End Function + + +Public Function FunctionWizard () + +End Function + + +Public Function Group (Start, End, By, Periods) + +End Function + +Public Function Insert (Shift, CopyOrigin) + +End Function + + +Public Function InsertIndent (InsertAmount) + +End Function + + +Public Function Justify() + +End Function + + +Public Function ListNames() + +End Function + +Public Function Merge(Across) + +End Function + +Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber) + +End Function + +Public Function NoteText(Text, Start, Length) + +End Function + +Public Function Parse(ParseLine, Destination) + +End Function + +Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose) + +End Function + + +Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName) + +End Function + +Public Function PrintPreview(EnableChanges) + +End Function + +Public Function RemoveDuplicates(Columns , Header) + +End Function + +Public Function RemoveSubtotal() + +End Function + + +Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) + +End Function + + +Public Function RowDifferences(Comparison) + +End Function + +Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...) + +End Function + +Public Function Select() + +End Function + +Public Function SetCellDataTypeFromCell(Range, LanguageCulture) + +End Function + + +Public Function SetPhonetic() + +End Function + + +Public Function Show() + +End Function + + +Public Function ShowCard() + +End Function + + +Public Function ShowDependents(Remove) + +End Function + + +Public Function ShowErrors() + +End Function + + +Public Function ShowPrecedents(Remove) + +End Function + + +Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3) + +End Function + + +Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3) + +End Function + +Public Function Speak(SpeakDirection, SpeakFormulas) + +End Function + + +Public Function SpecialCells(Type, Value) + +End Function + +Public Function SubscribeTo(Edition, Format) + +End Function + +Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData) + +End Function + + +Public Function Table(RowInput, ColumnInput) + +End Function + + +Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers + +End Function + + +Public Function Ungroup() + +End Function + + +Public Function UnMerge() + +End Function + +Public Property AddIndent As Variant + +Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant +End Function + +Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range +End Function + +Public Property Application As Application + +Public Property Areas As Areas + +Public Property Borders As Variant + +Public Property Cells As Range + +Public Function Characters(Start, Length) As Variant +End Function + +Public Property Column As Long + +Public Property Columns As Long + +Public Property ColumnWidth As Variant + +Public Property Comment As Variant + +Public Property CommentThreaded As Variant + + +Public Property Count As Long + + +Public Property CountLarge As Variant + + +Public Property Creator As Integer + + +Public Property CurrentArray As Range + +'/* +'Returns a Range object that represents the current region. +'The current region is a range bounded by any combination of blank rows and blank columns. Read-only. +' +'Example +'Worksheets("Sheet1").Activate +'ActiveCell.CurrentRegion.Select +'*/ +Public Property CurrentRegion As Range + +Public Property Dependents As Range + +Public Property DirectDependents As Range + +Public Property DirectPrecedents As Range + +Public Property DisplayFormat As Object + + +Public Function End(Direction) As Object +End Function + +Public Property EntireColumn As Range + + +Public Property EntireRow As Range + + +Public Property Errors As Errors + + +Public Property Font As Font + + +Public Property FormatConditions As Range + +Public Property Formula As Variant + +Public Property FormulaArray As Variant + +Public Property FormulaHidden As Variant + + +Public Property FormulaLocal As Object + +Public Property FormulaR1C1 As Varaint + +Public Property FormulaR1C1Local As Varaint + +Public Property HasArray As Varaint + +Public Property HasFormula As Varaint + +Public Property HasRichDataType As Varaint + +Public Property Height As Double + +Public Property Hidden As Variant + +Public Property HorizontalAlignment As Variant + +Public Property Hyperlinks As Object + +Public Property ID As String + +Public Property IndentLevel As Variant + +Public Property Interior As Double + +Public Function Item (RowIndex, ColumnIndex) As Range +End Function + + +Public Property Left As Variant + + +Public Property LinkedDataTypeState As Variant + +Public Property ListHeaderRows As Variant + + +Public Property ListObject As Object + +Public Property LocationInTable As Variant + +Public Property Locked As Variant + +Public Property MDX As String + +Public Property MergeArea As Range + +Public Property MergeCells As Boolean + +Public Property Name As Variant + +Public Property Next As Range + +Public Property NumberFormat As Variant + +Public Property NumberFormatLocal As Variant + +Public Function Offset (RowOffset, ColumnOffset) As Range + +End Function + + +Public Property Orientation As Variant + +Public Property OutlineLevel As Variant + +Public Property PageBreak As Variant + +Public Property Parent As Variant + +Public Property Phonetic As Variant + +Public Property Phonetics As Variant + +Public Property PivotCell As Variant + + +Public Property PivotField As Variant + + +Public Property PivotItem As Variant + +Public Property PivotTable As Variant + +Public Property Precedents As Range + +Public Property PrefixCharacter As Variant + + +Public Property Previous As Range + +Public Property QueryTable As Variant + +Public Function Range (Cell1, Cell2) As Range +End Function + +Public Property ReadingOrder As Variant + +Public Function Resize (RowSize, ColumnSize) As Range +End Function + + +Public Property Row As Long + +Public Property RowHeight As Double + +Public Property Rows As Range + +Public Property ServerActions As Variant + + +Public Property ShowDetail As Variant + + +Public Property ShrinkToFit As Variant + + +Public Property SoundNote As Variant + + +Public Property SparklineGroups As Variant + + +Public Property Style As Variant + +Public Property Summary As Variant + + +Public Property Text As String + +Public Property Top As Variant + +Public Property UseStandardHeight As Variant + +Public Property UseStandardWidth As Variant + +Public Property Validation As Variant + +Public Function Value (RangeValueDataType) As Variant +End Function + +Public Property Value2 As Variant + + +Public Property VerticalAlignment As Variant + +Public Property Width As Double + + + +Public Property Worksheet As Worksheet + + +Public Property WrapText As Variant + +Public Property XPath As XPath + + + +End Class diff --git a/XVBA/稟議集計/xvba_modules/excel-types/workbook.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/workbook.d.vb new file mode 100644 index 00000000..55764e2b --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/workbook.d.vb @@ -0,0 +1,157 @@ +'/* +'Represents a Microsoft Excel workbook. +' +' +'*/ +Public Class Workbook() + +'/* +'Returns a String that represents the complete path to the +'workbook/file that this workbook object represents. +' +'*/ +Public Property Path As String + + +Public Property Worksheets As Worksheet + +'/* +'True if a backup file is created when this file is saved. Read-only Boolean. +' +'@type {Boolean} +'*/ +Public Property CreateBackup As Boolean + +'/* +'Returns a String value that represents the name of the object. +' +'@type {Boolean} +'*/ +Public Property Name As String + +'/* +'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean. +' +'Example: +'If Not ActiveWorkbook.Saved Then +' MsgBox "This workbook contains unsaved changes." +'End If +' +'@type {Boolean} +'*/ +Public Property Saved As String + +'/* +'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object. +' +'Example: +'Set newSheet = Sheets.Add(Type:=xlWorksheet) +'For i = 1 To Sheets.Count +' newSheet.Cells(i, 1).Value = Sheets(i).Name +' Next i +' +'@type {Sheets} +'*/ +Public Property Sheets As Worksheets + + +'/* +' +'Activates the first window associated with the workbook. +' +'*/ +Public Function Activate() + +End Function + +'/* +' +'Closes the object. +' +'Example +' +'Workbooks("BOOK1.XLS").Close SaveChanges:=False +' +'@param {Variant} SaveChanges:[Optional] True or false +'@param {Variant} FileName:[Optional] Saves changes under this file name. +'@param {Variant} RouteWorkbook:[Optional] True or False +'*/ +Public Function Close(SaveChanges,FileName,RouteWorkbook) + +End Function + +'/* +'Saves changes to the specified workbook. +'*/ +Public Function Save() + +End Function + +'/* +'Saves changes to the workbook in a different file. +' +'@param {Variant} FileName:[Optional] +'@param {Variant} FileFormat:[Optional] +'@param {Variant} Password:[Optional] +'@param {Variant} WriteResPassword:[Optional] +'@param {Variant} ReadOnlyRecommended:[Optional] +'@param {Variant} CreateBackup:[Optional] +'@param {Variant} AccessMode:[Optional] +'@param {Variant} ConflictResolution:[Optional] +'@param {Variant} AddToMru:[Optional] +'@param {Variant} TextCodepage:[Optional] +'@param {Variant} TextVisualLayout:[Optional] +'@param {Variant} Local:[Optional] +'*/ +Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local) + +End Function + + +'/* +'Exports the data that has been mapped to the specified XML schema map to an XML data file. +' +'@param {String} FileName:[Required] +'@param {XmlMap} Map:[Required] +'*/ +Public Function SaveAsXMLData(FileName, Map) + +End Function + + +'/* +'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory. +' +'Example +'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS" +' +'@param {Variant} FileName:[Required] +'*/ +Public Function SaveCopyAs(FileName, Map) + +End Function + +'/* +'Sends the workbook by using the installed mail system. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +' +'@param {Variant} Recipients:[Required] +'@param {Variant} Subject:[Optional] +'@param {Variant} ReturnReceipt:[Optional] +'*/ +Public Function SendMail(Recipients, Subject, ReturnReceipt) + +End Function + +'/* +' +'The ExportAsFixedFormat method is used to publish +'a workbook to either the PDF or XPS format. +' +'*/ +Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr) +End Function + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/workbooks.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/workbooks.d.vb new file mode 100644 index 00000000..07f71c5f --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/workbooks.d.vb @@ -0,0 +1,109 @@ +'/* +'A collection of all the Workbook objects that are currently open in the Microsoft Excel application. +' +'*/ +Public Class Workbooks() + +'/* +'Creates a new workbook. The new workbook becomes the active workbook. +' +'@param {Variant} Template:[Optional] Determines how the new workbook is created. +'If this argument is a string specifying the name of an existing Microsoft Excel file, +'the new workbook is created with the specified file as a template. +'*/ +Public Function Add(Template) + +End Function + + +'/* +'True if Microsoft Excel can check out a specified workbook from a server. +'Read/write Boolean. +' +'@param {String} FileName:[Required] The name of the file to check out. +' +'*/ +Public Function CanCheckOut (FileName) + +End Function + + +Public Function CheckOut (FileName) + +End Function + + +Public Function Close () + +End Function + +'/* +' +'Opens a workbook. +' +'Example +'Workbooks.Open "ANALYSIS.XLS" +'ActiveWorkbook.RunAutoMacros xlAutoOpen +'*/ +Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook + +End Function + +'/* +'Returns a Workbook object representing a database. +'*/ +Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs) + +End Function + + +'/* +'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data. +'*/ +Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local) + +End Function + +'/* +'Opens an XML data file. Returns a Workbook object. +'*/ +Public Function OpenXML (FileName, Stylesheets, LoadOption) + +End Function + + +'/* +'When used without an object qualifier, this property returns an +'Application object that represents the Microsoft Excel application. +' +'*/ +Public Property Application As Application + + +'/* +'Returns a Long value that represents the number of objects in the collection. +' +'*/ +Public Property Count As Long + +'/* +'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long. +' +'*/ +Public Property Creator As Integer + + + +'/* +'Returns a single object from a collection. +' +'*/ +Public Property Item(Index) As Object + +'/* +'Returns the parent object for the specified object. Read-only. +' +'*/ +Public Property Parent As Object + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/worksheet.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/worksheet.d.vb new file mode 100644 index 00000000..24a02271 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/worksheet.d.vb @@ -0,0 +1,86 @@ +'/* +'Represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheet() + + +'/* +'Makes the current sheet the active sheet. +' +'Example +'ActiveWorkbook.SendMail recipients:="Jean Selva" +'*/ +Public Sub Activate() + +End Sub + + +Public Sub Calculate() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub Past() + +End Sub + +Public Sub PastSpecial() + +End Sub + +Public Sub Select() +End Sub + +Public Sub SaveAs() + +End Sub + +'/* +' +'Returns a Range object that represents a cell or a range of cells. +' +'Example: +' +'Worksheets("Sheet1").Range("A1").Value = 3.14159 +' +'*/ +Public Property Range As Range + + +'/* +' +'Returns a Range object that represents all the rows on the specified worksheet. +' +'Example: +' +'Worksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Row As Range + + +'/* +' +'Returns a Long value that represents the index number of the +'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete +' +'*/ +Public Property Index As Long + + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/worksheets.d.vb b/XVBA/稟議集計/xvba_modules/excel-types/worksheets.d.vb new file mode 100644 index 00000000..7d775495 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/worksheets.d.vb @@ -0,0 +1,54 @@ +'/* +'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet. +' +'Example +' +'Worksheets(1).Visible = False +' +'*/ +Public Class Worksheets() + +'/* +'Constructor +' +'*/ +Public Sub New(Name As String) As Worksheet + +End Sub + +Public Sub Add() + +End Sub + + +Public Sub Add2() + +End Sub + +Public Sub Copy() + +End Sub + +Public Sub Delete() +End Sub + +Public Sub Move() + +End Sub + +Public Sub FillAcrossSheets() + +End Sub + +Public Sub PrintOut() + +End Sub + +Public Sub PrintPreview() +End Sub + +Public Sub Select() + +End Sub + +End Class \ No newline at end of file diff --git a/XVBA/稟議集計/xvba_modules/excel-types/xvba.package.json b/XVBA/稟議集計/xvba_modules/excel-types/xvba.package.json new file mode 100644 index 00000000..2fb972d9 --- /dev/null +++ b/XVBA/稟議集計/xvba_modules/excel-types/xvba.package.json @@ -0,0 +1,15 @@ +{ + "package": "excel-types", + "version": "1.0.0", + "author": "Alberto Oliveira", + "email": "alberto.aeraph@gmail.comn", + "license": "ISC", + "repository": { + "type": "git", + "url": "https://github.com/Aeraphe/excel-types.git" + }, + "description": "Creating amazing XVBA packages", + "dependencies": {}, + "dev_dependencies": {}, + "homepage": "https://github.com/Aeraphe/xvba-cli" +} \ No newline at end of file diff --git a/XVBA/稟議集計/稟議集計.xlsm b/XVBA/稟議集計/稟議集計.xlsm new file mode 100644 index 00000000..584bfe1d Binary files /dev/null and b/XVBA/稟議集計/稟議集計.xlsm differ diff --git a/develop2/テスト用サイトテーブル/script/03_script.js b/develop2/テスト用サイトテーブル/script/03_script.js new file mode 100644 index 00000000..c364fbed --- /dev/null +++ b/develop2/テスト用サイトテーブル/script/03_script.js @@ -0,0 +1,54 @@ +let sum = 0; + +function addToSum(value) { + let sum; + sum = sum + value; + console.log(`現在の合計: ${sum}`); + console.log(`ボブの値: ${bob}`); + + +} + +function setBob() { + let bob; + bob = 100; + console.log(`現在の合計: ${sum}`); + console.log(`ボブの値: ${bob}`); +} + +addToSum(300); +console.log(`現在の合計: ${sum}`); +console.log(`ボブの値: ${bob}`); + + + +function totalKingakuHyouzi() { + let kingaku = 5000; + let tax = 500; + let total = kingaku + tax; + + console.log("合計金額は" + total + "円です"); + console.log('合計金額は${total}円です'); + console.log(`合計金額は + ${total} + 円です`); + +} + +totalKingakuHyouzi(); + +function zeiritukeisan(kingaku, rate) { + let taxAmunt = kingaku * rate; + console.log("税額は" + taxAmunt + "円です"); +} + +zeiritukeisan(10000, 0.1); + +function zeiritukeisan2(kingaku, rate) { + let taxAmunt = kingaku * rate; + return taxAmunt; +} + +console.log("戻り値の税額は" + zeiritukeisan2(15000, 0.05) + "円です"); + + diff --git a/pleasanter/develop/##実行予算承認WF/sites/scripts/01_メインスクリプト.js b/pleasanter/develop/##実行予算承認WF/sites/scripts/01_メインスクリプト.js index 7c32cc10..afaacbec 100644 --- a/pleasanter/develop/##実行予算承認WF/sites/scripts/01_メインスクリプト.js +++ b/pleasanter/develop/##実行予算承認WF/sites/scripts/01_メインスクリプト.js @@ -43,25 +43,56 @@ $p.ex.init = function () { //初期化 //初期表示 - const classX = $('input[name="Results_ClassX"]:checked').val(); + let classX; + if ($('#Results_ClassX').attr('data-readonly') == '1') { + classX = $('#Results_ClassX').attr('data-value'); + } else { + classX = $('input[name="Results_ClassX"]:checked').val(); + } $p.ex.changeMode(classX); //ClassXの選択値を取得 $('input[name="Results_ClassX"]:radio').change(function () { + $p.clearMessage(); + const selectedValue = $(this).val(); console.log('Results_ClassX changed:', selectedValue); - // 必要な処理をここに追加 + //日付表示の切り替え $p.ex.changeMode(selectedValue); + + + //データ処理 + if (selectedValue === '6') { + // ここに処理を追加 + console.log('回数チェック処理を実行'); + checkNumberCount(); + } + + //ClassXの選択値に応じて、ClassYに値をセット + classXCheckData() + }); + //チェックボックスの状態を確認 + if (!$('#Results_CheckA').is(':checked')) { + //チェックが入っていない場合、工事名が未入力の場合はエラー + if ($('#Results_ClassA').val() == '') { + $('#Results_ClassA').addClass('code-required'); + $('label[for="Results_ClassA"]').addClass('code-required-font'); + } + } + + + //自身のデータを取得 + $p.ex.getMyData(); + console.log('initialize...done'); } - - $p.events.before_validate_Create = function (args) { //新規作成時の処理 console.log('New Create...'); + //担当監督、通知先のセット $p.ex.setUsers(); } @@ -70,6 +101,32 @@ $p.events.before_validate_Create = function (args) { $p.events.before_validate = function (args) { console.log('Before Validate...'); + //担当監督、通知先のセット + if (!$('#Results_CheckZ').is(':checked')) { + $p.ex.setUsers(); + } + + //チェックボックスの状態を確認 + //新規作成時のみチェック + if ($('#Results_Status').val() == '100') { + if (!$('#Results_CheckA').is(':checked')) { + //チェックが入っていない場合、工事名が未入力の場合はエラー + let classA; + if ($('#Results_ClassA').attr('data-readonly') == '1') { + classA = $('#Results_ClassA').attr('data-value'); + } else { + classA = $('#Results_ClassA').val(); + } + if (classA == '') { + $('#Results_ClassA').addClass('code-required'); + $('label[for="Results_ClassA"]').addClass('code-required-font'); + $p.clearMessage(); + $p.ex.setMyMessage('new-status-red', 'マスターシートを選択してください'); + return false; + } + } + } + //変更された項目をチェックし、特定の項目の値が変更された場合に処理を行う $.each($p.data.MainForm, function (key, value) { //console.log(key + ' : ' + value); @@ -86,6 +143,22 @@ $p.events.before_validate = function (args) { }); + if (!$('#Results_CheckY').is(':checked')) { + if ($('#Results_ClassX').val() === '6') { + // ここに処理を追加 + console.log('回数チェック処理を実行'); + checkNumberCount(); + } + } + + if (!$('#Results_CheckX').is(':checked')) { + if ($('#Results_CheckX').val() != '') { + //ClassXの選択値に応じて、ClassYに値をセット + classXCheckData() + } + } + + //console.log($p.data.MainForm); console.log('Before Validate...done'); @@ -145,6 +218,8 @@ function classXCheckData() { break; default: } + + $p.set($('#Results_CheckX'), true); //チェック済みフラグをセット } //保存後処理 @@ -155,7 +230,20 @@ $p.events.after_set = function (args) { //マスターシートからデータを取得 $p.on('change', 'ClassA', function () { - $p.ex.getMSSData(); + if (!$('#Results_CheckA').is(':checked')) { + if ($('#Results_ClassA').val() != '') { + $p.ex.getMSSData(); + } + } +}); + +//マスターシートからデータを取得 +$p.on('change', 'CheckA', function () { + console.log($('#Results_CheckA').is(':checked')); + if ($('#Results_CheckA').is(':checked')) { + //チェックありの場合、マスターシートの情報をクリア + $p.set($('#Results_ClassA'), ''); //工事名 + } }); //マスターシートの情報取得 @@ -215,6 +303,9 @@ $p.ex.getMSSData = function () { $p.clearMessage(); $p.ex.setMyMessage('new-status-lime', 'マスターシートの情報を取得しました'); + //チェックボックスをオフにする + $p.set($('#Results_CheckA'), false) + } else { //既存データクリア $p.clearMessage(); @@ -251,6 +342,9 @@ $p.ex.setUsers = function () { $p.set($('#Results_Class010'), classNotificationList[mode].list3); console.log('担当監督、通知先をセットしました'); + + //チェックZを入れる + $p.set($('#Results_CheckZ'), true); } else { console.log('担当監督、通知先のセットに失敗しました'); } @@ -314,10 +408,10 @@ function checkNumberCount() { let siteId = $p.siteId(); let keiyakuCode = $('#Results_ClassC').val() || ''; let classX = $('#Results_ClassX').val() || ''; - if (classX != '6') { - alert('契約コードの回数チェックは、「予算修正」の場合のみ実行できます'); - return; - } + //if (classX != '6') { + // alert('契約コードの回数チェックは、「予算修正」の場合のみ実行できます'); + // return; + //} if (keiyakuCode == '') { alert('契約コードが未入力です'); return; @@ -346,6 +440,7 @@ function checkNumberCount() { } $p.set($('#Results_Num001'), count); $p.ex.setMyMessage('new-status-lime', `予算修正回数は ${count} 回です`); + $p.set($('#Results_CheckY'), true); //回数チェック済みフラグをセット return; }, 'fail': function (data) { @@ -356,7 +451,6 @@ function checkNumberCount() { } - $p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) { clear && $p.clearMessage(); diff --git a/pleasanter/develop/##実行予算承認WF/sites/scripts/02_プロセス処理.js b/pleasanter/develop/##実行予算承認WF/sites/scripts/02_プロセス処理.js index 1eb54047..543ee11d 100644 --- a/pleasanter/develop/##実行予算承認WF/sites/scripts/02_プロセス処理.js +++ b/pleasanter/develop/##実行予算承認WF/sites/scripts/02_プロセス処理.js @@ -21,8 +21,35 @@ $p.ex.processScript = function (proccessButton) { switch (procNum) { case '1': console.log('processScript 1 入力完了'); + if (!$('#Results_CheckY').is(':checked')) { + if ($('#Results_ClassX').val() === '6') { + // ここに処理を追加 + console.log('回数チェック処理を実行'); + checkNumberCount(); + } + } + + classXCheckData(); + + if ($('#Results_ClassY').val() == '') { + $p.clearMessage(); + $p.ex.setMyMessage('new-status-red', '進行状況の次にある日付を入力してください。'); + + $('#Results_Date001').addClass('code-required'); + $('label[for="Results_Date001"]').addClass('code-required-font'); + $('#Results_Date002').addClass('code-required'); + $('label[for="Results_Date002"]').addClass('code-required-font'); + $('#Results_Date003').addClass('code-required'); + $('label[for="Results_Date003"]').addClass('code-required-font'); + $('#Results_Date004').addClass('code-required'); + $('label[for="Results_Date004"]').addClass('code-required-font'); + $('#Results_Date005').addClass('code-required'); + $('label[for="Results_Date005"]').addClass('code-required-font'); + + + return false; + } - break; case '2': console.log('processScript 2 承認申請'); @@ -34,7 +61,7 @@ $p.ex.processScript = function (proccessButton) { } // 差戻し権限者リストを作成 - remandUserList.push($('#Results_Class020').attr('data-value'));//申請者を追加 + remandUserList.push($p.userId().toString());//申請者を追加 remandUserList.push($('#Results_Class021').attr('data-value'));//担当監督承認者を追加 $p.set($('#Results_Class015'), JSON.stringify(remandUserList)); @@ -51,7 +78,7 @@ $p.ex.processScript = function (proccessButton) { $p.set($('#Results_Description025'), comments); // 差戻し権限者リストを作成 - remandUserList.push($('#Results_Class020').attr('data-value'));//申請者を追加 + remandUserList.push($p.userId().toString());//申請者を追加 remandUserList.push($('#Results_Class022').attr('data-value'));//最終決裁者を追加 $p.set($('#Results_Class015'), JSON.stringify(remandUserList)); @@ -95,8 +122,9 @@ $p.ex.processScript = function (proccessButton) { return false; } - // 差戻し権限者リストをクリア - $p.set($('#Results_Class015'), ""); + // 差戻し権限者リストを自分の身 + remandUserList.push($p.userId().toString()); + $p.set($('#Results_Class015'), JSON.stringify(remandUserList)); break; } @@ -106,3 +134,149 @@ $p.ex.processScript = function (proccessButton) { } +let myData; + +$p.ex.getMyData = function () { + let thisId = $p.id(); + + $p.apiGet({ + 'id': thisId, + 'data': { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + }, + 'async': false, + 'done': function (data) { + myData = data.Response.Data[0]; + $p.ex.createButtons(); + }, + 'fail': function (data) { + console.log(data); + } + + }); +} + +$p.ex.createNewRecord = async function (mode) { + const siteId = $p.siteId(); + const url = 'https://' + location.hostname + '/pleasanter/api/items/' + siteId + '/create' + + const jsonBody = { + 'ApiVersion': 1.1, + 'Body': myData.Body, + 'ClassHash': { + 'ClassA': myData.ClassHash.ClassA, + 'ClassB': myData.ClassHash.ClassB, + 'ClassC': myData.ClassHash.ClassC, + 'ClassD': myData.ClassHash.ClassD, + 'ClassI': myData.ClassHash.ClassI, + 'ClassJ': myData.ClassHash.ClassJ, + 'ClassK': myData.ClassHash.ClassK, + 'ClassL': myData.ClassHash.ClassL, + 'Class001': myData.ClassHash.Class001, + 'Class002': myData.ClassHash.Class002, + 'Class003': myData.ClassHash.Class003, + 'Class004': myData.ClassHash.Class004, + 'Class005': myData.ClassHash.Class005, + 'Class006': myData.ClassHash.Class006, + 'Class021': myData.ClassHash.Class021, + 'ClassX': mode + }, + 'NumHash': { + 'NumA': myData.NumHash.NumA, + 'NumB': myData.NumHash.NumB, + 'NumC': myData.NumHash.NumC, + }, + 'CheckHash': { + 'CheckA': myData.CheckHash.CheckA, + 'CheckZ': myData.CheckHash.CheckZ, + }, + 'DateHash': { + 'DateB': myData.DateHash.DateB, + 'DateC': myData.DateHash.DateC + } + } + const res = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(jsonBody) + }); + + const resData = await res.json(); + //console.log(resData); + + if (resData.StatusCode == '200') { + $p.clearMessage(); + $p.ex.setMyMessage('new-status-green', resData.Message + ' 3秒後に新しい申請画面へ遷移します。'); + + setTimeout(function () { + location.href = '/pleasanter/items/' + resData.Id; + }, 3000); + + } else { + $p.clearMessage(); + $p.ex.setMyMessage('new-status-red', '別の申請への遷移に失敗しました。システム担当へご連絡ください。'); + } + +} + +$p.ex.createButtons = function () { + + let status = myData.Status; + let classX = myData.ClassHash.ClassX; + + //新規作成時は処理しない + if ($p.action() == 'new') { + return; + } + + if (status != '900') { + return; + } + + let buttonData = [ + { + 'buttonId': 1, + 'buttonName': '基礎のみ' + }, { + 'buttonId': 2, + 'buttonName': '仮予算' + }, { + 'buttonId': 3, + 'buttonName': '仮予算確定' + }, { + 'buttonId': 4, + 'buttonName': 'A工種発注完了' + }, { + 'buttonId': 5, + 'buttonName': '構造確定' + }, { + 'buttonId': 6, + 'buttonName': '予算修正' + } + ]; + + let div = document.createElement('div'); + div.id = 'nextProcessDiv'; + if ($('#nextProcessDiv').length) { + $('#nextProcessDiv').remove(); + } + $('#Guide').after(div); + + for (buttonInfo of buttonData) { + if (classX == buttonInfo.buttonId && buttonInfo.buttonId != '6') { + continue; + } + let button = document.createElement('button'); + button.type = 'button'; + button.id = 'nextButton_' + buttonInfo.buttonId; + button.innerHTML = buttonInfo.buttonName + ' に移行'; + button.setAttribute('onclick', '$p.ex.createNewRecord(' + buttonInfo.buttonId + ')'); + div.append(button); + button.style.margin = '5px'; + $('#nextButton_' + buttonInfo.buttonId).button({ + icon: 'ui-icon-document' + }); + } + +} diff --git a/pleasanter/develop/##実行予算承認WF/sites/scripts/99.参照用.js b/pleasanter/develop/##実行予算承認WF/sites/scripts/99.参照用.js index b6432e9e..a3459991 100644 --- a/pleasanter/develop/##実行予算承認WF/sites/scripts/99.参照用.js +++ b/pleasanter/develop/##実行予算承認WF/sites/scripts/99.参照用.js @@ -34,4 +34,21 @@ } } } -] \ No newline at end of file +] + +let json = +{ + "ApiVersion": "1.1", + "ApiKey": "c63feb0027f958152bd376d1fa63fff7c8ee86e0a13de5ab2f2ea14303e6278cf507547a04a83d02d3b32650bac7b85e7e8f31e9ea1ab17ef620b378a2a02f16", + "View": { + "ColumnFilterHash": { + "ClassS": "[\"1\"]" + }, + "ColumnFilterSearchTypes": { + "ClassS": "ExactMatch" + }, + "ColumnSorterHash": { + "DateA": "asc" + } + } +} diff --git a/pleasanter/develop/##実行予算承認WF/sites/scripts/sample.js.txt b/pleasanter/develop/##実行予算承認WF/sites/scripts/sample.js.txt new file mode 100644 index 00000000..c98257af --- /dev/null +++ b/pleasanter/develop/##実行予算承認WF/sites/scripts/sample.js.txt @@ -0,0 +1,35 @@ +async function getData() { + const siteId = '999999'; + + //APIリクエスト用URLとJSONデータの作成 + const url = 'https://' + location.hostname + '/pleasanter/api/items/' + siteId + '/get' + const jsonBody = { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + 'View': { + 'ColumnFilterHash': { + 'Class001': bukkenId, + } + } + } + + //APIへデータ取得リクエスト + const res = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(jsonBody) + }); + + //データをJSON形式で取得 + const resData = await res.json(); + + //データの中身の確認 + if (resData.StatusCode == '200') { + console.log('新規レコード作成に成功しました。ID:' + resData.Response.Data.ID); + return resData.Response.Data; + } else { + console.log('新規レコード作成に失敗しました。'); + return false; + } + +} \ No newline at end of file diff --git a/pleasanter/develop/##実行予算承認WF/sites/styles/99_読み取り専用処理.css b/pleasanter/develop/##実行予算承認WF/sites/styles/99_読み取り専用処理.css index a3e966e6..e7e48e68 100644 --- a/pleasanter/develop/##実行予算承認WF/sites/styles/99_読み取り専用処理.css +++ b/pleasanter/develop/##実行予算承認WF/sites/styles/99_読み取り専用処理.css @@ -103,6 +103,7 @@ input[data-validate-required="1"] { } +.code-required-font, label[class="required"] { color: red !important; font-weight: bold !important; diff --git a/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/01_メインスクリプト.js b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/01_メインスクリプト.js new file mode 100644 index 00000000..f07f4697 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/01_メインスクリプト.js @@ -0,0 +1,119 @@ +let pageLoading = 0; +let apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d'; + +//---------------------------------------------------------------------- +//初期処理 +window.addEventListener('load', function () { + if (pageLoading == 0) { + console.log('Window load Event'); + $p.ex.onLoad(); + } +}); + +$p.events.on_editor_load = function () { + if (pageLoading == 0) { + console.log('on Editor Load'); + $p.ex.onLoad(); + } +} + +$p.ex.onLoad = function () { + //ロード開始 + pageLoading = 1; + + //初期処理 + $p.ex.init(); +} + +//保存後処理 +$p.events.after_set = function (args) { + //初期処理 + $p.ex.init(); +} + +//---------------------------------------------------------------------- +$p.ex.init = function () { + + $('button[data-to-site-id="397527"]').hide(); + $('#EditorComments').empty(); + //リンク作成ボタンの追加 + //$p.createAnkenButton(); + $p.createAnkenLinkButton(); + $p.createBukkenButton(); + $p.createTekenCheckButton(); + +} + +$p.createAnkenButton = function () { + let subjectId = $('#Results_ClassA').text(); + let url = "https://hp-core.net/WorkLogs/edit?wlid=" + subjectId; + + let button = document.createElement("button"); + button.id = 'HPC_AnkenButton'; + button.innerHTML = "助っ人クラウド 案件編集"; + button.setAttribute('onclick', 'window.open("' + url + '", \'_blank\');'); + button.style.margin = '5px'; + $('#EditorComments').append(button); + $('#HPC_AnkenButton').button({ + icon: 'ui-icon-document' + }); + $('#EditorComments').append('
'); + +} + +$p.createAnkenLinkButton = function () { + let button = document.createElement("button"); + button.id = 'HPC_AnkenLinkButton'; + button.innerHTML = "案件一覧更新"; + button.setAttribute('onclick', '$p.ex.subjectListLink();'); + button.style.margin = '5px'; + $('#Results_ClassZField').after(button); + $('#HPC_AnkenLinkButton').button({ + icon: 'ui-icon-document' + }); +} + +$p.createBukkenButton = function () { + let bukkenId = $('#Results_ClassA').text(); + let url = "https://hp-core.net/Properties/detail?prid=" + bukkenId; + + let button = document.createElement("button"); + button.id = 'HPC_BukkenButton'; + button.innerHTML = "助っ人クラウド 物件情報"; + button.setAttribute('onclick', 'window.open("' + url + '", \'_blank\');'); + button.style.margin = '5px'; + $('#EditorComments').append(button); + $('#HPC_BukkenButton').button({ + icon: 'ui-icon-document' + }); + $('#EditorComments').append('
'); + $('#EditorComments').append('
'); +} + +$p.createTekenCheckButton = function () { + let monthList = [2, 6, 12, 24, 60, 120]; + + monthList.forEach(function (month) { + let button1 = document.createElement("button"); + button1.id = 'HPC_TekenCheckButton1_' + month; + if (month >= 12) { + button1.innerHTML = month / 12 + "年点検確認"; + } else { + button1.innerHTML = month + "ヶ月点検確認"; + } + button1.setAttribute('onclick', '$p.ex.openTenkenCheckPage(' + month + ');'); + button1.style.margin = '5px'; + $('#EditorComments').append(button1); + $('#HPC_TekenCheckButton1_' + month).button({ + icon: 'ui-icon-document' + }); + + $('#EditorComments').append('
'); + }); +} + +$p.ex.openTenkenCheckPage = function (month) { + let bukkenId = $('#Results_ClassA').text(); + let url = "https://hp-core.net/CheckSheets/edit?prid=" + bukkenId + "&timeIdx=" + month; + window.open(url, '_blank'); +} diff --git a/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/02_案件情報リンク.js b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/02_案件情報リンク.js new file mode 100644 index 00000000..e29a9cb5 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/02_案件情報リンク.js @@ -0,0 +1,82 @@ +//案件情報テーブルの対象のテーブルを更新する +$p.ex.subjectListLink = async function () { + let bukkenId = $('#Results_ClassA').text(); + let recordId = $p.id(); + + if (bukkenId == '') { + return; + } + + //案件情報テーブルからレコードを取得 + const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397527/get'; + const getJson = { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + 'View': { + 'ColumnFilterHash': { + 'Class001': bukkenId, + 'ClassZ': '["\t"]' + } + } + } + const getRes = await fetch(getUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(getJson) + }); + const getResData = await getRes.json(); + console.log(getResData); + + + if (getResData.StatusCode != '200') { + console.log('案件情報レコードが取得できませんでした。'); + $p.ex.setMyMessage('new-status-red', '案件情報が取得できませんでした。'); + return; + } + + if (getResData.Response.TotalCount == 0) { + console.log('更新対象の案件情報レコードがありません。'); + $p.ex.setMyMessage('new-status-yellow', '更新対象の案件情報レコードがありません。'); + return; + } + + //取得したレコード一覧 + let resultList = getResData.Response.Data; + + //案件情報テーブル 一括更新 + for (i = 0; i < resultList.length; i++) { + let resultId = resultList[i].ResultId; + const updateUrl = 'https://' + location.hostname + '/pleasanter/api/items/' + resultId + '/update'; + const updateJson = { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + 'ClassHash': { + 'ClassZ': recordId + } + }; + const updateRes = await fetch(updateUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(updateJson) + }); + const updateResData = await updateRes.json(); + console.log(updateResData); + } + + setTimeout(() => { + document.getElementById('UpdateCommand').click(); + }, 1000); + +} + +//メッセージ追加表示 +$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) { + //クリアが指定されていたら事前にメッセージ消去 + clear && $p.clearMessage(); + + $p.setMessage('#Message', JSON.stringify({ + Css: 'alert-success ' + cssColor, + Text: message + })); + +} diff --git a/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/セルの色調整.css b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/セルの色調整.css new file mode 100644 index 00000000..d02c4783 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/01 物件/Scripts/セルの色調整.css @@ -0,0 +1,5 @@ +.control-text, +.control-markup { + background: white !important; + color: black !important; +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/01_メインスクリプト.js b/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/01_メインスクリプト.js new file mode 100644 index 00000000..28fbf162 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/01_メインスクリプト.js @@ -0,0 +1,119 @@ +let pageLoading = 0; +let apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d'; + +//---------------------------------------------------------------------- +//初期処理 +window.addEventListener('load', function () { + if (pageLoading == 0) { + console.log('Window load Event'); + $p.ex.onLoad(); + } +}); + +$p.events.on_editor_load = function () { + if (pageLoading == 0) { + console.log('on Editor Load'); + $p.ex.onLoad(); + } +} + +$p.ex.onLoad = function () { + //ロード開始 + pageLoading = 1; + + //初期処理 + $p.ex.init(); +} + +//---------------------------------------------------------------------- +$p.ex.init = function () { + + $('#EditorComments').empty(); + //リンク作成ボタンの追加 + $p.createAnkenButton(); + $p.createBukkenButton(); + $p.createTekenCheckButton(); + + $p.createBukkenLinkButton(); +} + +$p.createAnkenButton = function () { + let subjectId = $('#Results_ClassA').text(); + let url = "https://hp-core.net/WorkLogs/edit?wlid=" + subjectId; + + + let button = document.createElement("button"); + button.id = 'HPC_AnkenButton'; + button.innerHTML = "助っ人クラウド 案件編集"; + button.setAttribute('onclick', 'window.open("' + url + '", \'_blank\');'); + button.style.margin = '5px'; + $('#EditorComments').append(button); + $('#HPC_AnkenButton').button({ + icon: 'ui-icon-document' + }); + $('#EditorComments').append('
'); + +} + +$p.createBukkenLinkButton = function () { + let button = document.createElement("button"); + button.id = 'HPC_BukkenLinkButton'; + button.innerHTML = "物件リンク更新"; + button.setAttribute('onclick', '$p.ex.bukkenLink();'); + button.style.margin = '5px'; + $('#Results_ClassZField').after(button); + $('#HPC_BukkenLinkButton').button({ + icon: 'ui-icon-document' + }); +} + +$p.createBukkenButton = function () { + let bukkenId = $('#Results_Class001').text(); + let url = "https://hp-core.net/Properties/detail?prid=" + bukkenId; + + let button = document.createElement("button"); + button.id = 'HPC_BukkenButton'; + button.innerHTML = "助っ人クラウド 物件情報"; + button.setAttribute('onclick', 'window.open("' + url + '", \'_blank\');'); + button.style.margin = '5px'; + $('#EditorComments').append(button); + $('#HPC_BukkenButton').button({ + icon: 'ui-icon-document' + }); + $('#EditorComments').append('
'); + $('#EditorComments').append('
'); +} + +$p.createTekenCheckButton = function () { + let monthList = [2, 6, 12, 24, 60, 120]; + + monthList.forEach(function (month) { + let button1 = document.createElement("button"); + button1.id = 'HPC_TekenCheckButton1_' + month; + if (month >= 12) { + button1.innerHTML = month / 12 + "年点検確認"; + } else { + button1.innerHTML = month + "ヶ月点検確認"; + } + button1.setAttribute('onclick', '$p.ex.openTekenCheckPage(' + month + ');'); + button1.style.margin = '5px'; + $('#EditorComments').append(button1); + $('#HPC_TekenCheckButton1_' + month).button({ + icon: 'ui-icon-document' + }); + + $('#EditorComments').append('
'); + }); +} + +$p.ex.openTekenCheckPage = function (month) { + let bukkenId = $('#Results_Class001').val(); + let url = "https://hp-core.net/CheckSheets/edit?prid=" + bukkenId + "&timeIdx=" + month; + window.open(url, '_blank'); +} + +$p.ex.openHPCpage = function () { + let subjectId = $('#Results_ClassA').text(); + let url = "https://hp-core.net/WorkLogs/edit?wlid=" + subjectId; + window.open(url, '_blank'); +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/02_物件情報リンク.js b/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/02_物件情報リンク.js new file mode 100644 index 00000000..e0e737c3 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/02 案件/Scripts/02_物件情報リンク.js @@ -0,0 +1,76 @@ +//案件情報テーブルの対象のテーブルを更新する +$p.ex.bukkenLink = async function () { + if ($('#Results_ClassZ').val() != '') { + return; + } + + let bukkenId = $('#Results_Class001').text(); + let recordId = $p.id(); + + //案件情報テーブルからレコードを取得 + const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397526/get'; + const getJson = { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + 'View': { + 'ColumnFilterHash': { + 'ClassA': bukkenId, + } + } + } + const getRes = await fetch(getUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(getJson) + }); + const getResData = await getRes.json(); + console.log(getResData); + + if (getResData.StatusCode != '200' || getResData.Response.TotalCount == 0) { + console.log('物件情報レコードが取得できませんでした。'); + $p.ex.setMyMessage('new-status-red', '物件情報が取得できませんでした。'); + return; + } + + //取得したレコードIDを物件リンクにセット + $p.apiUpdate({ + 'id': recordId, + 'data': { + 'ApiVersion': 1.1, + 'ClassHash': { + 'ClassZ': getResData.Response.Data[0].ResultId + } + }, + done: function (data) { + console.log(data); + setTimeout(() => { + location.href = location.pathname + location.search + '#FieldSetTab1'; + location.reload(); + }, 1000); + } + }); + +} + +//メッセージ追加表示 +$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) { + //クリアが指定されていたら事前にメッセージ消去 + clear && $p.clearMessage(); + + $p.setMessage('#Message', JSON.stringify({ + Css: 'alert-success ' + cssColor, + Text: message + })); + +} + +let jsonBody = +{ + "ApiVersion": 1.1, + "ApiKey": "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d", + "View": { + "ColumnFilterHash": { + "ClassS": "1", + } + } +} diff --git a/pleasanter/develop/#助っ人クラウド連携/サイト情報取得.js b/pleasanter/develop/#助っ人クラウド連携/サイト情報取得.js new file mode 100644 index 00000000..a8f43c85 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/サイト情報取得.js @@ -0,0 +1,995 @@ +$p.apiGetSite({ + id: $p.siteId(), + "done": function (data) { + console.log(data); + console.log('サイト情報の取得に成功しました。'); + }, + "fail": function () { + console.log('サイト情報の取得に失敗しました。'); + }, + "always": function () { + console.log('サイト情報の取得が完了しました。'); + } +}); + +siteSettings = { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [ + "ClassF", + "ClassG", + "ClassH", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "ClassN", + "ClassO", + "ClassP", + "ClassQ", + "ClassR", + "ClassS", + "ClassT", + "ClassU", + "ClassV", + "ClassW", + "ClassX", + "ClassY", + "ClassZ", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "Class022", + "Class023", + "Class024", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "Class030", + "Class031", + "Class032", + "Class033", + "Class034", + "Class035", + "Class036", + "Class037", + "Class038", + "Class039", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "Class065", + "Class066", + "Class067", + "Class068", + "Class069", + "Class070", + "Class071", + "Class072", + "Class073", + "Class074", + "Class075", + "Class076", + "Class077", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Class106", + "Class107", + "Class108", + "Class109", + "Class110", + "Class111", + "Class112", + "Class113", + "Class114", + "Class115", + "Class116", + "Class117", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125", + "Class126", + "Class127", + "Class128", + "Class129", + "Class130", + "Class131", + "Class132", + "Class133", + "Class134", + "Class135", + "Class136", + "Class137", + "Class138", + "Class139", + "Class140", + "Class141", + "Class142", + "Class143", + "Class144", + "Class145", + "Class146", + "Class147", + "Class148", + "Class149", + "Class150", + "Class151", + "Class152", + "Class153", + "Class154", + "Class155", + "Class156", + "Class157", + "Class158", + "Class159", + "Class160", + "Class161", + "Class162", + "Class163", + "Class164", + "Class165", + "Class166", + "Class167", + "Class168", + "Class169", + "Class170", + "Class171", + "Class172", + "Class173", + "Class174", + "Class175", + "Class176", + "Class177", + "Class178", + "Class179", + "Class180", + "Class181", + "Class182", + "Class183", + "Class184", + "Class185", + "Class186", + "Class187", + "Class188", + "Class189", + "Class190", + "Class191", + "Class192", + "Class193", + "Class194", + "Class195", + "Class196", + "Class197", + "Class198", + "Class199", + "Class200", + "NumA", + "NumB", + "NumC", + "NumD", + "NumE", + "NumF", + "NumG", + "NumH", + "NumI", + "NumJ", + "NumK", + "NumL", + "NumM", + "NumN", + "NumO", + "NumP", + "NumQ", + "NumR", + "NumS", + "NumT", + "NumU", + "NumV", + "NumW", + "NumX", + "NumY", + "NumZ", + "Num001", + "Num002", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Num008", + "Num009", + "Num010", + "Num011", + "Num012", + "Num013", + "Num014", + "Num015", + "Num016", + "Num017", + "Num018", + "Num019", + "Num020", + "Num021", + "Num022", + "Num023", + "Num024", + "Num025", + "Num026", + "Num027", + "Num028", + "Num029", + "Num030", + "Num031", + "Num032", + "Num033", + "Num034", + "Num035", + "Num036", + "Num037", + "Num038", + "Num039", + "Num040", + "Num041", + "Num042", + "Num043", + "Num044", + "Num045", + "Num046", + "Num047", + "Num048", + "Num049", + "Num050", + "Num051", + "Num052", + "Num053", + "Num054", + "Num055", + "Num056", + "Num057", + "Num058", + "Num059", + "Num060", + "Num061", + "Num062", + "Num063", + "Num064", + "Num065", + "Num066", + "Num067", + "Num068", + "Num069", + "Num070", + "Num071", + "Num072", + "Num073", + "Num074", + "Num075", + "Num076", + "Num077", + "Num078", + "Num079", + "Num080", + "Num081", + "Num082", + "Num083", + "Num084", + "Num085", + "Num086", + "Num087", + "Num088", + "Num089", + "Num090", + "Num091", + "Num092", + "Num093", + "Num094", + "Num095", + "Num096", + "Num097", + "Num098", + "Num099", + "Num100", + "Num101", + "Num102", + "Num103", + "Num104", + "Num105", + "Num106", + "Num107", + "Num108", + "Num109", + "Num110", + "Num111", + "Num112", + "Num113", + "Num114", + "Num115", + "Num116", + "Num117", + "Num118", + "Num119", + "Num120", + "Num121", + "Num122", + "Num123", + "Num124", + "Num125", + "Num126", + "Num127", + "Num128", + "Num129", + "Num130", + "Num131", + "Num132", + "Num133", + "Num134", + "Num135", + "Num136", + "Num137", + "Num138", + "Num139", + "Num140", + "Num141", + "Num142", + "Num143", + "Num144", + "Num145", + "Num146", + "Num147", + "Num148", + "Num149", + "Num150", + "Num151", + "Num152", + "Num153", + "Num154", + "Num155", + "Num156", + "Num157", + "Num158", + "Num159", + "Num160", + "Num161", + "Num162", + "Num163", + "Num164", + "Num165", + "Num166", + "Num167", + "Num168", + "Num169", + "Num170", + "Num171", + "Num172", + "Num173", + "Num174", + "Num175", + "Num176", + "Num177", + "Num178", + "Num179", + "Num180", + "Num181", + "Num182", + "Num183", + "Num184", + "Num185", + "Num186", + "Num187", + "Num188", + "Num189", + "Num190", + "Num191", + "Num192", + "Num193", + "Num194", + "Num195", + "Num196", + "Num197", + "Num198", + "Num199", + "Num200", + "DateA", + "DateB", + "DateC", + "DateD", + "DateE", + "DateF", + "DateG", + "DateH", + "DateI", + "DateJ", + "DateK", + "DateL", + "DateM", + "DateN", + "DateO", + "DateP", + "DateQ", + "DateR", + "DateS", + "DateT", + "DateU", + "DateV", + "DateW", + "DateX", + "DateY", + "DateZ", + "Date001", + "Date002", + "Date003", + "Date004", + "Date005", + "Date006", + "Date007", + "Date008", + "Date009", + "Date010", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049", + "Date050", + "Date051", + "Date052", + "Date053", + "Date054", + "Date055", + "Date056", + "Date057", + "Date058", + "Date059", + "Date060", + "Date061", + "Date062", + "Date063", + "Date064", + "Date065", + "Date066", + "Date067", + "Date068", + "Date069", + "Date070", + "Date071", + "Date072", + "Date073", + "Date074", + "Date075", + "Date076", + "Date077", + "Date078", + "Date079", + "Date080", + "Date081", + "Date082", + "Date083", + "Date084", + "Date085", + "Date086", + "Date087", + "Date088", + "Date089", + "Date090", + "Date091", + "Date092", + "Date093", + "Date094", + "Date095", + "Date096", + "Date097", + "Date098", + "Date099", + "Date100", + "Date101", + "Date102", + "Date103", + "Date104", + "Date105", + "Date106", + "Date107", + "Date108", + "Date109", + "Date110", + "Date111", + "Date112", + "Date113", + "Date114", + "Date115", + "Date116", + "Date117", + "Date118", + "Date119", + "Date120", + "Date121", + "Date122", + "Date123", + "Date124", + "Date125", + "Date126", + "Date127", + "Date128", + "Date129", + "Date130", + "Date131", + "Date132", + "Date133", + "Date134", + "Date135", + "Date136", + "Date137", + "Date138", + "Date139", + "Date140", + "Date141", + "Date142", + "Date143", + "Date144", + "Date145", + "Date146", + "Date147", + "Date148", + "Date149", + "Date150", + "Date151", + "Date152", + "Date153", + "Date154", + "Date155", + "Date156", + "Date157", + "Date158", + "Date159", + "Date160", + "Date161", + "Date162", + "Date163", + "Date164", + "Date165", + "Date166", + "Date167", + "Date168", + "Date169", + "Date170", + "Date171", + "Date172", + "Date173", + "Date174", + "Date175", + "Date176", + "Date177", + "Date178", + "Date179", + "Date180", + "Date181", + "Date182", + "Date183", + "Date184", + "Date185", + "Date186", + "Date187", + "Date188", + "Date189", + "Date190", + "Date191", + "Date192", + "Date193", + "Date194", + "Date195", + "Date196", + "Date197", + "Date198", + "Date199", + "Date200", + "CheckA", + "CheckB", + "CheckC", + "CheckD", + "CheckE", + "CheckF", + "CheckG", + "CheckH", + "CheckI", + "CheckJ", + "CheckK", + "CheckL", + "CheckM", + "CheckN", + "CheckO", + "CheckP", + "CheckQ", + "CheckR", + "CheckS", + "CheckT", + "CheckU", + "CheckV", + "CheckW", + "CheckX", + "CheckY", + "CheckZ", + "Check001", + "Check002", + "Check003", + "Check004", + "Check005", + "Check006", + "Check007", + "Check008", + "Check009", + "Check010", + "Check011", + "Check012", + "Check013", + "Check014", + "Check015", + "Check016", + "Check017", + "Check018", + "Check019", + "Check020", + "Check021", + "Check022", + "Check023", + "Check024", + "Check025", + "Check026", + "Check027", + "Check028", + "Check029", + "Check030", + "Check031", + "Check032", + "Check033", + "Check034", + "Check035", + "Check036", + "Check037", + "Check038", + "Check039", + "Check040", + "Check041", + "Check042", + "Check043", + "Check044", + "Check045", + "Check046", + "Check047", + "Check048", + "Check049", + "Check050", + "Check051", + "Check052", + "Check053", + "Check054", + "Check055", + "Check056", + "Check057", + "Check058", + "Check059", + "Check060", + "Check061", + "Check062", + "Check063", + "Check064", + "Check065", + "Check066", + "Check067", + "Check068", + "Check069", + "Check070", + "Check071", + "Check072", + "Check073", + "Check074", + "Check075", + "Check076", + "Check077", + "Check078", + "Check079", + "Check080", + "Check081", + "Check082", + "Check083", + "Check084", + "Check085", + "Check086", + "Check087", + "Check088", + "Check089", + "Check090", + "Check091", + "Check092", + "Check093", + "Check094", + "Check095", + "Check096", + "Check097", + "Check098", + "Check099", + "Check100", + "Check101", + "Check102", + "Check103", + "Check104", + "Check105", + "Check106", + "Check107", + "Check108", + "Check109", + "Check110", + "Check111", + "Check112", + "Check113", + "Check114", + "Check115", + "Check116", + "Check117", + "Check118", + "Check119", + "Check120", + "Check121", + "Check122", + "Check123", + "Check124", + "Check125", + "Check126", + "Check127", + "Check128", + "Check129", + "Check130", + "Check131", + "Check132", + "Check133", + "Check134", + "Check135", + "Check136", + "Check137", + "Check138", + "Check139", + "Check140", + "Check141", + "Check142", + "Check143", + "Check144", + "Check145", + "Check146", + "Check147", + "Check148", + "Check149", + "Check150", + "Check151", + "Check152", + "Check153", + "Check154", + "Check155", + "Check156", + "Check157", + "Check158", + "Check159", + "Check160", + "Check161", + "Check162", + "Check163", + "Check164", + "Check165", + "Check166", + "Check167", + "Check168", + "Check169", + "Check170", + "Check171", + "Check172", + "Check173", + "Check174", + "Check175", + "Check176", + "Check177", + "Check178", + "Check179", + "Check180", + "Check181", + "Check182", + "Check183", + "Check184", + "Check185", + "Check186", + "Check187", + "Check188", + "Check189", + "Check190", + "Check191", + "Check192", + "Check193", + "Check194", + "Check195", + "Check196", + "Check197", + "Check198", + "Check199", + "Check200" + ], + "EditorColumnHash": { + "General": [ + "ResultId", + "Status", + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "Num001", + "Date001", + "Description001" + ] + }, + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID" + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名" + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号" + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地" + }, + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed" + }, + { + "ColumnName": "Date001", + "LabelText": "竣工日" + }, + { + "ColumnName": "Description001", + "LabelText": "部署" + }, + { + "ColumnName": "Num001", + "LabelText": "契約金額", + "TextAlign": 20 + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Status", + "Type": 0, + "Target": "" + } + ], + "NoDisplayIfReadOnly": false +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報_2025_12_06 14_22_49.json b/pleasanter/develop/#助っ人クラウド連携/案件情報_2025_12_06 14_22_49.json new file mode 100644 index 00000000..1f44785c --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報_2025_12_06 14_22_49.json @@ -0,0 +1,1217 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397527, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-06T14:22:49.2553216+09:00", + "Convertors": [ + { + "SiteId": 397527, + "SiteTitle": "案件情報", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397527, + "Title": "案件情報", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "[md]\n# ■助っ人クラウド 案件情報一覧\n### 右上のビューからエリアを選択してください。未完了かつ受付日順で表示されます。", + "EditorGuide": "[md]\n# ■助っ人クラウド 案件情報\n### こちらは参照のみとなります。情報の更新は右端に表示されているボタンをクリックし、助っ人クラウドを開いて更新してください。\n更新された情報は翌日反映されます。", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Class002", + "Status", + "Title", + "Class003", + "Class005", + "Class014", + "Class015", + "Date003", + "Date004", + "Date005", + "Date006", + "Class065", + "Date007", + "Description002", + "Description005", + "UpdatedTime" + ], + "FilterColumns": [ + "Status", + "Class005", + "Class014", + "Class015" + ], + "EditorColumnHash": { + "General": [ + "ClassA", + "Status", + "Class001", + "Class002", + "_Section-6", + "Class003", + "Date001", + "Date002", + "Class004", + "Class005", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "_Section-4", + "Class014", + "Class015", + "Class065", + "Description002", + "Description003", + "Description004", + "Description005", + "Description006", + "_Section-2", + "Description001", + "Class017", + "Date003", + "Class016", + "Date004", + "Class018", + "Date005", + "Class019", + "Date006", + "Class020", + "Date007", + "Class021", + "Class022", + "Class023", + "Class024", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "_Section-3", + "Num001", + "Num002", + "Class030", + "Class031", + "Num003", + "Num004", + "Class032", + "Num005", + "Num006", + "Class033", + "Num007", + "Num008", + "Class034", + "Num009", + "Num010", + "Num011", + "Num012", + "Class035", + "Class036", + "Class037", + "Num013", + "Num014", + "Class038", + "Num015", + "Num016", + "Class039", + "Num017", + "Num018", + "Class040", + "Num019", + "Num020", + "Num021", + "Num022", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "_Section-5", + "Class066", + "Date008", + "Description007", + "Class067", + "Date009", + "Description008", + "Class068", + "Date010", + "Description009", + "Class069", + "Date011", + "Description010", + "Class070", + "Date012", + "Description011", + "Class071", + "Date013", + "Description012", + "Class072", + "Date014", + "Description013", + "Class073", + "Date015", + "Description014", + "Class074", + "Date016", + "Description015", + "Class075", + "Class076", + "Class077", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094", + "Title", + "Comments" + ], + "_Tab-1": [ + "ClassZ", + "_Links-397526" + ] + }, + "TabLatestId": 1, + "Tabs": [ + { + "LabelText": "物件情報", + "Id": 1 + } + ], + "SectionLatestId": 6, + "Sections": [ + { + "Id": 6, + "LabelText": "物件情報", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 4, + "LabelText": "案件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": true, + "Expand": false + }, + { + "Id": 5, + "LabelText": "", + "AllowExpand": true, + "Expand": false + } + ], + "TitleColumns": [ + "Class009" + ], + "LinkColumns": [ + "Status", + "Class014", + "Class015", + "Date003", + "Date007", + "Class065", + "Description002", + "Description005" + ], + "Columns": [ + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed", + "NoWrap": true + }, + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID" + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Date001", + "LabelText": "竣工日" + }, + { + "ColumnName": "Date002", + "LabelText": "基準日" + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class007", + "LabelText": "共同住宅名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class008", + "LabelText": "共同住宅部屋番号" + }, + { + "ColumnName": "Class009", + "LabelText": "住宅名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class010", + "LabelText": "建築地電話番号" + }, + { + "ColumnName": "Class011", + "LabelText": "建築地携帯電話番号" + }, + { + "ColumnName": "Class012", + "LabelText": "案件・コード番号" + }, + { + "ColumnName": "Class013", + "LabelText": "経過月数", + "ChoicesText": "3,3ヶ月\n6,6ヶ月\n12,1年\n18,1年半\n24,2年\n36,3年\n48,4年\n60,5年\n72,6年\n84,7年\n96,8年\n108,9年\n120,10年\n132,11年\n144,12年\n156,13年\n168,14年\n180,15年\n192,16年\n204,17年\n216,18年\n228,19年\n240,20年\n252,21年\n264,22年\n276,23年\n288,24年\n300,25年\n312,26年\n324,27年\n336,28年\n348,29年\n360,30年\n372,31年\n384,32年\n396,33年\n408,34年\n420,35年\n432,36年\n444,37年\n456,38年\n468,39年\n480,40年\n492,41年\n504,42年\n516,43年\n528,44年\n540,45年\n552,46年\n564,47年\n576,48年\n588,49年\n600,50年", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class014", + "LabelText": "登録種別", + "ChoicesText": "点検\nメンテナンス\n設備交換\nリフォーム\n検査\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class015", + "LabelText": "受付方法", + "ChoicesText": "TEL\nコールセンター\nメール\nFAX\n訪問時受付\n点検時受付\n来場\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Description001", + "LabelText": "部署" + }, + { + "ColumnName": "Date003", + "LabelText": "受付日", + "NoWrap": true + }, + { + "ColumnName": "Class016", + "LabelText": "受付時間" + }, + { + "ColumnName": "Class017", + "LabelText": "受付種別カテゴリ" + }, + { + "ColumnName": "Date004", + "LabelText": "実施予定開始日", + "GridFormat": "Ymd", + "NoWrap": true, + "GridDesign": "[Date004]\n[Class018]" + }, + { + "ColumnName": "Class018", + "LabelText": "実施予定開始時刻" + }, + { + "ColumnName": "Date005", + "LabelText": "実施予定終了日", + "GridFormat": "Ymd", + "NoWrap": true, + "GridDesign": "[Date005]\n[Class019]" + }, + { + "ColumnName": "Class019", + "LabelText": "実施予定終了時刻" + }, + { + "ColumnName": "Date006", + "LabelText": "着手(対応)日", + "NoWrap": true, + "GridDesign": "[Date006]\n[Class020]" + }, + { + "ColumnName": "Class020", + "LabelText": "着手(対応)時刻" + }, + { + "ColumnName": "Date007", + "LabelText": "完了日", + "NoWrap": true + }, + { + "ColumnName": "Class021", + "LabelText": "完了時刻" + }, + { + "ColumnName": "Class022", + "LabelText": "受付者(ログインID)", + "NoWrap": true + }, + { + "ColumnName": "Class023", + "LabelText": "受付者(氏名)" + }, + { + "ColumnName": "Class024", + "LabelText": "対応者1(ログインID)", + "NoWrap": true + }, + { + "ColumnName": "Class025", + "LabelText": "対応者1(氏名)" + }, + { + "ColumnName": "Class026", + "LabelText": "対応者2(ログインID)", + "NoWrap": true + }, + { + "ColumnName": "Class027", + "LabelText": "対応者2(氏名)" + }, + { + "ColumnName": "Class028", + "LabelText": "対応者3(ログインID)", + "NoWrap": true + }, + { + "ColumnName": "Class029", + "LabelText": "対応者3(氏名)" + }, + { + "ColumnName": "Num001", + "LabelText": "契約金額", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num002", + "LabelText": "回収金額", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class030", + "LabelText": "回収状況", + "ChoicesText": "未完了\n完了\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class031", + "LabelText": "有償区分" + }, + { + "ColumnName": "Num003", + "LabelText": "消費税率1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num004", + "LabelText": "基本料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class032", + "LabelText": "基本料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num005", + "LabelText": "基本料金1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num006", + "LabelText": "作業料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class033", + "LabelText": "作業料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num007", + "LabelText": "作業料金1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num008", + "LabelText": "その他料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class034", + "LabelText": "その他料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num009", + "LabelText": "その他料金1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num010", + "LabelText": "課税合計1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num011", + "LabelText": "非課税合計1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num012", + "LabelText": "合計金額1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class035", + "LabelText": "請求先1" + }, + { + "ColumnName": "Class036", + "LabelText": "支払区分1", + "ChoicesText": "現金\nカード\n後日請求\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class037", + "LabelText": "進捗区分1", + "ChoicesText": "一次対応\n二次対応\nアフター\nクレーム\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num013", + "LabelText": "消費税率2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num014", + "LabelText": "基本料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class038", + "LabelText": "基本料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num015", + "LabelText": "基本料金2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num016", + "LabelText": "作業料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class039", + "LabelText": "作業料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num017", + "LabelText": "作業料金2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num018", + "LabelText": "その他料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class040", + "LabelText": "その他料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num019", + "LabelText": "その他料金2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num020", + "LabelText": "課税合計2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num021", + "LabelText": "非課税合計2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num022", + "LabelText": "合計金額2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class041", + "LabelText": "請求先2" + }, + { + "ColumnName": "Class042", + "LabelText": "支払区分2", + "ChoicesText": "現金\nカード\n後日請求\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class043", + "LabelText": "進捗区分2", + "ChoicesText": "一次対応\n二次対応\nアフター\nクレーム\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ1" + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ2" + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ3" + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ4" + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ5" + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ6" + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ7" + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ8" + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ9" + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ10" + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ11" + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ12" + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ13" + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ14" + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ15" + }, + { + "ColumnName": "Class059", + "LabelText": "フラグ16" + }, + { + "ColumnName": "Class060", + "LabelText": "フラグ17" + }, + { + "ColumnName": "Class061", + "LabelText": "フラグ18" + }, + { + "ColumnName": "Class062", + "LabelText": "フラグ19" + }, + { + "ColumnName": "Class063", + "LabelText": "フラグ20" + }, + { + "ColumnName": "Class064", + "LabelText": "背景色", + "ChoicesText": "白\n紫\n緑\n水\n橙\n桃\n黄\n灰", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class065", + "LabelText": "件名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Description002", + "LabelText": "依頼内容" + }, + { + "ColumnName": "Description003", + "LabelText": "現地状況​" + }, + { + "ColumnName": "Description004", + "LabelText": "原因" + }, + { + "ColumnName": "Description005", + "LabelText": "対応結果" + }, + { + "ColumnName": "Description006", + "LabelText": "備考" + }, + { + "ColumnName": "Class066", + "LabelText": "ステータス(依頼:依頼打診)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date008", + "LabelText": "日付(依頼:依頼打診)" + }, + { + "ColumnName": "Description007", + "LabelText": "備考(依頼:依頼打診)" + }, + { + "ColumnName": "Class067", + "LabelText": "ステータス(依頼:依頼受注)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date009", + "LabelText": "日付(依頼:依頼受注)" + }, + { + "ColumnName": "Description008", + "LabelText": "備考(依頼:依頼受注)" + }, + { + "ColumnName": "Class068", + "LabelText": "ステータス(見積:見積提示待)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date010", + "LabelText": "日付(見積:見積提示待)" + }, + { + "ColumnName": "Description009", + "LabelText": "備考(見積:見積提示待)" + }, + { + "ColumnName": "Class069", + "LabelText": "ステータス(見積:見積提出済)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date011", + "LabelText": "日付(見積:見積提出済)" + }, + { + "ColumnName": "Description010", + "LabelText": "備考(見積:見積提出済)" + }, + { + "ColumnName": "Class070", + "LabelText": "ステータス(見積:受注)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date012", + "LabelText": "日付(見積:受注)" + }, + { + "ColumnName": "Description011", + "LabelText": "備考(見積:受注)" + }, + { + "ColumnName": "Class071", + "LabelText": "ステータス(見積:日程調整中)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date013", + "LabelText": "日付(見積:日程調整中)" + }, + { + "ColumnName": "Description012", + "LabelText": "備考(見積:日程調整中)" + }, + { + "ColumnName": "Class072", + "LabelText": "ステータス(見積:キャンセル)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date014", + "LabelText": "日付(見積:キャンセル)" + }, + { + "ColumnName": "Description013", + "LabelText": "備考(見積:キャンセル)" + }, + { + "ColumnName": "Class073", + "LabelText": "ステータス(完了:キャンセル)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date015", + "LabelText": "日付(完了:キャンセル)" + }, + { + "ColumnName": "Description014", + "LabelText": "備考(完了:キャンセル)" + }, + { + "ColumnName": "Class074", + "LabelText": "ステータス(完了:請求処理)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date016", + "LabelText": "日付(完了:請求処理)" + }, + { + "ColumnName": "Description015", + "LabelText": "備考(完了:請求処理)" + }, + { + "ColumnName": "Class075", + "LabelText": "要請者名(漢字)" + }, + { + "ColumnName": "Class076", + "LabelText": "要請者名(かな)" + }, + { + "ColumnName": "Class077", + "LabelText": "入電電話番号" + }, + { + "ColumnName": "Class078", + "LabelText": "要請者電話番号" + }, + { + "ColumnName": "Class079", + "LabelText": "支払状況", + "ChoicesText": "後日請求にて完了\n現金入金にて完了\nクレジット決済にて完了\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class080", + "LabelText": "マスターコード1" + }, + { + "ColumnName": "Class081", + "LabelText": "マスターコード2" + }, + { + "ColumnName": "Class082", + "LabelText": "マスターコード3" + }, + { + "ColumnName": "Class083", + "LabelText": "マスターコード4" + }, + { + "ColumnName": "Class084", + "LabelText": "マスターコード5" + }, + { + "ColumnName": "Class085", + "LabelText": "マスターコード6" + }, + { + "ColumnName": "Class086", + "LabelText": "マスターコード7" + }, + { + "ColumnName": "Class087", + "LabelText": "マスターコード8" + }, + { + "ColumnName": "Class088", + "LabelText": "マスターコード9" + }, + { + "ColumnName": "Class089", + "LabelText": "自由設定コード1" + }, + { + "ColumnName": "Class090", + "LabelText": "自由設定コード2" + }, + { + "ColumnName": "Class091", + "LabelText": "自由設定コード3" + }, + { + "ColumnName": "Class092", + "LabelText": "自由設定コード4" + }, + { + "ColumnName": "Class093", + "LabelText": "自由設定コード5" + }, + { + "ColumnName": "Class094", + "LabelText": "自由設定コード6" + }, + { + "ColumnName": "Title", + "LabelText": "物件名" + }, + { + "ColumnName": "ClassZ", + "LabelText": "物件情報", + "ChoicesText": "[[397526]]", + "Hide": true, + "Link": true, + "SearchType": "PartialMatch" + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Status", + "Type": 0, + "Target": "" + }, + { + "Id": 2, + "GroupBy": "Class005", + "Type": 0, + "Target": "" + }, + { + "Id": 3, + "GroupBy": "Class014", + "Type": 0, + "Target": "" + }, + { + "Id": 4, + "GroupBy": "Class015", + "Type": 0, + "Target": "" + } + ], + "Links": [ + { + "ColumnName": "ClassZ", + "SiteId": 397526 + } + ], + "ViewLatestId": 5, + "Views": [ + { + "Id": 1, + "Name": "東京エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"埼玉県\",\"東京都\",\"神奈川県\",\"山梨県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 2, + "Name": "千葉エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"千葉県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 3, + "Name": "愛知エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"岐阜県\",\"愛知県\",\"三重県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 4, + "Name": "熊本エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"熊本県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 5, + "Name": "静岡エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"静岡県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + }, + { + "Title": "入力欄調整", + "New": true, + "Edit": true, + "Body": ".control-text,\n.control-markup{\n background: white !important;\n color:black !important;\n}", + "Id": 2 + } + ], + "Scripts": [ + { + "Title": "01_メインスクリプト", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n//----------------------------------------------------------------------\n$p.ex.init = function () {\n\n $('#EditorComments').empty();\n //リンク作成ボタンの追加\n $p.createAnkenButton();\n $p.createBukkenButton();\n $p.createTekenCheckButton();\n\n $p.createBukkenLinkButton();\n}\n\n$p.createAnkenButton = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenButton';\n button.innerHTML = \"助っ人クラウド 案件編集\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_AnkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n\n}\n\n$p.createBukkenLinkButton = function () {\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenLinkButton';\n button.innerHTML = \"物件リンク更新\";\n button.setAttribute('onclick', '$p.ex.bukkenLink();');\n button.style.margin = '5px';\n $('#Results_ClassZField').after(button);\n $('#HPC_BukkenLinkButton').button({\n icon: 'ui-icon-document'\n });\n}\n\n$p.createBukkenButton = function () {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/Properties/detail?prid=\" + bukkenId;\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenButton';\n button.innerHTML = \"助っ人クラウド 物件情報\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_BukkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n $('#EditorComments').append('
');\n}\n\n$p.createTekenCheckButton = function () {\n let monthList = [2, 6, 12, 24, 60, 120];\n\n monthList.forEach(function (month) {\n let button1 = document.createElement(\"button\");\n button1.id = 'HPC_TekenCheckButton1_' + month;\n if (month >= 12) {\n button1.innerHTML = month / 12 + \"年点検確認\";\n } else {\n button1.innerHTML = month + \"ヶ月点検確認\";\n }\n button1.setAttribute('onclick', '$p.ex.openTekenCheckPage(' + month + ');');\n button1.style.margin = '5px';\n $('#EditorComments').append(button1);\n $('#HPC_TekenCheckButton1_' + month).button({\n icon: 'ui-icon-document'\n });\n\n $('#EditorComments').append('
');\n });\n}\n\n$p.ex.openTekenCheckPage = function (month) {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/CheckSheets/edit?prid=\" + bukkenId + \"&timeIdx=\" + month;\n window.open(url, '_blank');\n}\n\n$p.ex.openHPCpage = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n window.open(url, '_blank');\n}", + "Id": 1 + }, + { + "Title": "02_物件情報リンク", + "Edit": true, + "Body": "//案件情報テーブルの対象のテーブルを更新する\n$p.ex.bukkenLink = async function () {\n if ($('#Results_ClassZ').val() != '') {\n return;\n }\n\n let bukkenId = $('#Results_Class001').val();\n let recordId = $p.id();\n\n //案件情報テーブルからレコードを取得\n const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397526/get';\n const getJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'View': {\n 'ColumnFilterHash': {\n 'ClassA': bukkenId,\n }\n }\n }\n const getRes = await fetch(getUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(getJson)\n });\n const getResData = await getRes.json();\n console.log(getResData);\n\n if (getResData.StatusCode != '200' || getResData.Response.TotalCount == 0) {\n console.log('物件情報レコードが取得できませんでした。');\n $p.ex.setMyMessage('new-status-red', '物件情報が取得できませんでした。');\n return;\n }\n\n //取得したレコードIDを物件リンクにセット\n $p.apiUpdate({\n 'id': recordId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ClassHash': {\n 'ClassZ': getResData.Response.Data[0].ResultId\n }\n },\n done: function (data) {\n console.log(data);\n setTimeout(() => {\n location.href = location.pathname + location.search + '#FieldSetTab1';\n location.reload();\n }, 1000);\n }\n });\n\n}\n\n//メッセージ追加表示\n$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) {\n //クリアが指定されていたら事前にメッセージ消去\n clear && $p.clearMessage();\n\n $p.setMessage('#Message', JSON.stringify({\n Css: 'alert-success ' + cssColor,\n Text: message\n }));\n\n}\n", + "Id": 2 + } + ], + "AllowCopy": false, + "HideLink": true, + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397527, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 15_46_07.json b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 15_46_07.json new file mode 100644 index 00000000..f7c10308 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 15_46_07.json @@ -0,0 +1,84 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397527, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-11-24T15:46:07.6341776+09:00", + "Convertors": [ + { + "SiteId": 397527, + "SiteTitle": "案件情報new", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397527, + "Title": "案件情報new", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "EditorColumnHash": { + "General": [ + "ResultId", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG" + ] + }, + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397527, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_09_40.json b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_09_40.json new file mode 100644 index 00000000..b3ef5c9e --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_09_40.json @@ -0,0 +1,125 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397527, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-11-24T16:09:40.0187586+09:00", + "Convertors": [ + { + "SiteId": 397527, + "SiteTitle": "案件情報new", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397527, + "Title": "案件情報new", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ResultId", + "Status", + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006" + ] + }, + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID" + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名" + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号" + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地" + }, + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed" + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Status", + "Type": 0, + "Target": "" + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397527, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_35_04.json b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_35_04.json new file mode 100644 index 00000000..a338494f --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_35_04.json @@ -0,0 +1,140 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397527, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-11-24T16:35:04.3086998+09:00", + "Convertors": [ + { + "SiteId": 397527, + "SiteTitle": "案件情報new", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397527, + "Title": "案件情報new", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "EditorColumnHash": { + "General": [ + "ResultId", + "Status", + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "Num001", + "Date001", + "Description001" + ] + }, + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID" + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名" + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号" + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地" + }, + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed" + }, + { + "ColumnName": "Date001", + "LabelText": "竣工日" + }, + { + "ColumnName": "Description001", + "LabelText": "部署" + }, + { + "ColumnName": "Num001", + "LabelText": "契約金額", + "TextAlign": 20 + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Status", + "Type": 0, + "Target": "" + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397527, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_58_40.json b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_58_40.json new file mode 100644 index 00000000..fcf1a553 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報new_2025_11_24 16_58_40.json @@ -0,0 +1,846 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397527, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-11-24T16:58:40.1078558+09:00", + "Convertors": [ + { + "SiteId": 397527, + "SiteTitle": "案件情報new", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397527, + "Title": "案件情報new", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [ + "Status" + ], + "EditorColumnHash": { + "General": [ + "ResultId", + "Status", + "ClassA", + "Class001", + "Class002", + "Class003", + "Date001", + "Date002", + "Class004", + "Class005", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Description001", + "Date003", + "Class016", + "Class017", + "Date004", + "Class018", + "Date005", + "Class019", + "Date006", + "Class020", + "Date007", + "Class021", + "Class022", + "Class023", + "Class024", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "Num001", + "Num002", + "Class030", + "Class031", + "Num003", + "Num004", + "Class032", + "Num005", + "Num006", + "Class033", + "Num007", + "Num008", + "Class034", + "Num009", + "Num010", + "Num011", + "Num012", + "Class035", + "Class036", + "Class037", + "Num013", + "Num014", + "Class038", + "Num015", + "Num016", + "Class039", + "Num017", + "Num018", + "Class040", + "Num019", + "Num020", + "Num021", + "Num022", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "Class065", + "Description002", + "Description003", + "Description004", + "Description005", + "Description006", + "Class066", + "Date008", + "Description007", + "Class067", + "Date009", + "Description008", + "Class068", + "Date010", + "Description009", + "Class069", + "Date011", + "Description010", + "Class070", + "Date012", + "Description011", + "Class071", + "Date013", + "Description012", + "Class072", + "Date014", + "Description013", + "Class073", + "Date015", + "Description014", + "Class074", + "Date016", + "Description015", + "Class075", + "Class076", + "Class077", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094" + ] + }, + "Columns": [ + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed" + }, + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID" + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名" + }, + { + "ColumnName": "Date001", + "LabelText": "竣工日" + }, + { + "ColumnName": "Date002", + "LabelText": "基準日" + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号" + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県" + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地" + }, + { + "ColumnName": "Class007", + "LabelText": "共同住宅名" + }, + { + "ColumnName": "Class008", + "LabelText": "共同住宅部屋番号" + }, + { + "ColumnName": "Class009", + "LabelText": "住宅名" + }, + { + "ColumnName": "Class010", + "LabelText": "建築地電話番号" + }, + { + "ColumnName": "Class011", + "LabelText": "建築地携帯電話番号" + }, + { + "ColumnName": "Class012", + "LabelText": "案件・コード番号" + }, + { + "ColumnName": "Class013", + "LabelText": "経過月数" + }, + { + "ColumnName": "Class014", + "LabelText": "登録種別" + }, + { + "ColumnName": "Class015", + "LabelText": "受付方法" + }, + { + "ColumnName": "Description001", + "LabelText": "部署" + }, + { + "ColumnName": "Date003", + "LabelText": "受付日" + }, + { + "ColumnName": "Class016", + "LabelText": "受付時間" + }, + { + "ColumnName": "Class017", + "LabelText": "受付種別カテゴリ" + }, + { + "ColumnName": "Date004", + "LabelText": "実施予定開始日" + }, + { + "ColumnName": "Class018", + "LabelText": "実施予定開始時刻" + }, + { + "ColumnName": "Date005", + "LabelText": "実施予定終了日" + }, + { + "ColumnName": "Class019", + "LabelText": "実施予定終了時刻" + }, + { + "ColumnName": "Date006", + "LabelText": "着手(対応)日" + }, + { + "ColumnName": "Class020", + "LabelText": "着手(対応)時刻" + }, + { + "ColumnName": "Date007", + "LabelText": "完了日" + }, + { + "ColumnName": "Class021", + "LabelText": "完了時刻" + }, + { + "ColumnName": "Class022", + "LabelText": "受付者(ログインID)" + }, + { + "ColumnName": "Class023", + "LabelText": "受付者(氏名)" + }, + { + "ColumnName": "Class024", + "LabelText": "対応者1(ログインID)" + }, + { + "ColumnName": "Class025", + "LabelText": "対応者1(氏名)" + }, + { + "ColumnName": "Class026", + "LabelText": "対応者2(ログインID)" + }, + { + "ColumnName": "Class027", + "LabelText": "対応者2(氏名)" + }, + { + "ColumnName": "Class028", + "LabelText": "対応者3(ログインID)" + }, + { + "ColumnName": "Class029", + "LabelText": "対応者3(氏名)" + }, + { + "ColumnName": "Num001", + "LabelText": "契約金額", + "TextAlign": 20 + }, + { + "ColumnName": "Num002", + "LabelText": "回収金額", + "TextAlign": 20 + }, + { + "ColumnName": "Class030", + "LabelText": "回収状況" + }, + { + "ColumnName": "Class031", + "LabelText": "有償区分" + }, + { + "ColumnName": "Num003", + "LabelText": "消費税率1", + "TextAlign": 20 + }, + { + "ColumnName": "Num004", + "LabelText": "基本料金1(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class032", + "LabelText": "基本料金1(課税対象)" + }, + { + "ColumnName": "Num005", + "LabelText": "基本料金1", + "TextAlign": 20 + }, + { + "ColumnName": "Num006", + "LabelText": "作業料金1(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class033", + "LabelText": "作業料金1(課税対象)" + }, + { + "ColumnName": "Num007", + "LabelText": "作業料金1", + "TextAlign": 20 + }, + { + "ColumnName": "Num008", + "LabelText": "その他料金1(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class034", + "LabelText": "その他料金1(課税対象)" + }, + { + "ColumnName": "Num009", + "LabelText": "その他料金1", + "TextAlign": 20 + }, + { + "ColumnName": "Num010", + "LabelText": "課税合計1", + "TextAlign": 20 + }, + { + "ColumnName": "Num011", + "LabelText": "非課税合計1", + "TextAlign": 20 + }, + { + "ColumnName": "Num012", + "LabelText": "合計金額1", + "TextAlign": 20 + }, + { + "ColumnName": "Class035", + "LabelText": "請求先1" + }, + { + "ColumnName": "Class036", + "LabelText": "支払区分1" + }, + { + "ColumnName": "Class037", + "LabelText": "進捗区分1" + }, + { + "ColumnName": "Num013", + "LabelText": "消費税率2", + "TextAlign": 20 + }, + { + "ColumnName": "Num014", + "LabelText": "基本料金2(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class038", + "LabelText": "基本料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num015", + "LabelText": "基本料金2", + "TextAlign": 20 + }, + { + "ColumnName": "Num016", + "LabelText": "作業料金2(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class039", + "LabelText": "作業料金2(課税対象)" + }, + { + "ColumnName": "Num017", + "LabelText": "作業料金2", + "TextAlign": 20 + }, + { + "ColumnName": "Num018", + "LabelText": "その他料金2(税抜金額)", + "TextAlign": 20 + }, + { + "ColumnName": "Class040", + "LabelText": "その他料金2(課税対象)" + }, + { + "ColumnName": "Num019", + "LabelText": "その他料金2", + "TextAlign": 20 + }, + { + "ColumnName": "Num020", + "LabelText": "課税合計2", + "TextAlign": 20 + }, + { + "ColumnName": "Num021", + "LabelText": "非課税合計2", + "TextAlign": 20 + }, + { + "ColumnName": "Num022", + "LabelText": "合計金額2", + "TextAlign": 20 + }, + { + "ColumnName": "Class041", + "LabelText": "請求先2" + }, + { + "ColumnName": "Class042", + "LabelText": "支払区分2" + }, + { + "ColumnName": "Class043", + "LabelText": "進捗区分2" + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ1" + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ2" + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ3" + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ4" + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ5" + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ6" + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ7" + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ8" + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ9" + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ10" + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ11" + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ12" + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ13" + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ14" + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ15" + }, + { + "ColumnName": "Class059", + "LabelText": "フラグ16" + }, + { + "ColumnName": "Class060", + "LabelText": "フラグ17" + }, + { + "ColumnName": "Class061", + "LabelText": "フラグ18" + }, + { + "ColumnName": "Class062", + "LabelText": "フラグ19" + }, + { + "ColumnName": "Class063", + "LabelText": "フラグ20" + }, + { + "ColumnName": "Class064", + "LabelText": "背景色" + }, + { + "ColumnName": "Class065", + "LabelText": "件名" + }, + { + "ColumnName": "Description002", + "LabelText": "依頼内容" + }, + { + "ColumnName": "Description003", + "LabelText": "現地状況​" + }, + { + "ColumnName": "Description004", + "LabelText": "原因" + }, + { + "ColumnName": "Description005", + "LabelText": "対応結果" + }, + { + "ColumnName": "Description006", + "LabelText": "備考" + }, + { + "ColumnName": "Class066", + "LabelText": "ステータス(依頼:依頼打診)" + }, + { + "ColumnName": "Date008", + "LabelText": "日付(依頼:依頼打診)" + }, + { + "ColumnName": "Description007", + "LabelText": "備考(依頼:依頼打診)" + }, + { + "ColumnName": "Class067", + "LabelText": "ステータス(依頼:依頼受注)" + }, + { + "ColumnName": "Date009", + "LabelText": "日付(依頼:依頼受注)" + }, + { + "ColumnName": "Description008", + "LabelText": "備考(依頼:依頼受注)" + }, + { + "ColumnName": "Class068", + "LabelText": "ステータス(見積:見積提示待)" + }, + { + "ColumnName": "Date010", + "LabelText": "日付(見積:見積提示待)" + }, + { + "ColumnName": "Description009", + "LabelText": "備考(見積:見積提示待)" + }, + { + "ColumnName": "Class069", + "LabelText": "ステータス(見積:見積提出済)" + }, + { + "ColumnName": "Date011", + "LabelText": "日付(見積:見積提出済)" + }, + { + "ColumnName": "Description010", + "LabelText": "備考(見積:見積提出済)" + }, + { + "ColumnName": "Class070", + "LabelText": "ステータス(見積:受注)" + }, + { + "ColumnName": "Date012", + "LabelText": "日付(見積:受注)" + }, + { + "ColumnName": "Description011", + "LabelText": "備考(見積:受注)" + }, + { + "ColumnName": "Class071", + "LabelText": "ステータス(見積:日程調整中)" + }, + { + "ColumnName": "Date013", + "LabelText": "日付(見積:日程調整中)" + }, + { + "ColumnName": "Description012", + "LabelText": "備考(見積:日程調整中)" + }, + { + "ColumnName": "Class072", + "LabelText": "ステータス(見積:キャンセル)" + }, + { + "ColumnName": "Date014", + "LabelText": "日付(見積:キャンセル)" + }, + { + "ColumnName": "Description013", + "LabelText": "備考(見積:キャンセル)" + }, + { + "ColumnName": "Class073", + "LabelText": "ステータス(完了:キャンセル)" + }, + { + "ColumnName": "Date015", + "LabelText": "日付(完了:キャンセル)" + }, + { + "ColumnName": "Description014", + "LabelText": "備考(完了:キャンセル)" + }, + { + "ColumnName": "Class074", + "LabelText": "ステータス(完了:請求処理)" + }, + { + "ColumnName": "Date016", + "LabelText": "日付(完了:請求処理)" + }, + { + "ColumnName": "Description015", + "LabelText": "備考(完了:請求処理)" + }, + { + "ColumnName": "Class075", + "LabelText": "要請者名(漢字)" + }, + { + "ColumnName": "Class076", + "LabelText": "要請者名(かな)" + }, + { + "ColumnName": "Class077", + "LabelText": "入電電話番号" + }, + { + "ColumnName": "Class078", + "LabelText": "要請者電話番号" + }, + { + "ColumnName": "Class079", + "LabelText": "支払状況" + }, + { + "ColumnName": "Class080", + "LabelText": "マスターコード1" + }, + { + "ColumnName": "Class081", + "LabelText": "マスターコード2" + }, + { + "ColumnName": "Class082", + "LabelText": "マスターコード3" + }, + { + "ColumnName": "Class083", + "LabelText": "マスターコード4" + }, + { + "ColumnName": "Class084", + "LabelText": "マスターコード5" + }, + { + "ColumnName": "Class085", + "LabelText": "マスターコード6" + }, + { + "ColumnName": "Class086", + "LabelText": "マスターコード7" + }, + { + "ColumnName": "Class087", + "LabelText": "マスターコード8" + }, + { + "ColumnName": "Class088", + "LabelText": "マスターコード9" + }, + { + "ColumnName": "Class089", + "LabelText": "自由設定コード1" + }, + { + "ColumnName": "Class090", + "LabelText": "自由設定コード2" + }, + { + "ColumnName": "Class091", + "LabelText": "自由設定コード3" + }, + { + "ColumnName": "Class092", + "LabelText": "自由設定コード4" + }, + { + "ColumnName": "Class093", + "LabelText": "自由設定コード5" + }, + { + "ColumnName": "Class094", + "LabelText": "自由設定コード6" + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397527, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/案件情報テーブル.js b/pleasanter/develop/#助っ人クラウド連携/案件情報テーブル.js new file mode 100644 index 00000000..14dccdb1 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/案件情報テーブル.js @@ -0,0 +1,1320 @@ + +function updateSite() { + $p.apiUpdateSite({ + "id": "397527", + "data": { + "SiteId": "397527", + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Class002", + "Status", + "Title", + "Class003", + "Class005", + "Class014", + "Class015", + "Date003", + "Date004", + "Date005", + "Date006", + "Class065", + "Date007", + "Description002", + "Description005", + "UpdatedTime" + ], + "FilterColumns": [ + "Status", + "Class005", + "Class014", + "Class015" + ], + "EditorColumnHash": { + "General": [ + "ClassA", + "Status", + "Class001", + "Class002", + "_Section-6", + "Class003", + "Date001", + "Date002", + "Class004", + "Class005", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "_Section-4", + "Class014", + "Class015", + "Class065", + "Description002", + "Description003", + "Description004", + "Description005", + "Description006", + "_Section-2", + "Description001", + "Class017", + "Date003", + "Class016", + "Date004", + "Class018", + "Date005", + "Class019", + "Date006", + "Class020", + "Date007", + "Class021", + "Class022", + "Class023", + "Class024", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "_Section-3", + "Num001", + "Num002", + "Class030", + "Class031", + "Num003", + "Num004", + "Class032", + "Num005", + "Num006", + "Class033", + "Num007", + "Num008", + "Class034", + "Num009", + "Num010", + "Num011", + "Num012", + "Class035", + "Class036", + "Class037", + "Num013", + "Num014", + "Class038", + "Num015", + "Num016", + "Class039", + "Num017", + "Num018", + "Class040", + "Num019", + "Num020", + "Num021", + "Num022", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "_Section-5", + "Class066", + "Date008", + "Description007", + "Class067", + "Date009", + "Description008", + "Class068", + "Date010", + "Description009", + "Class069", + "Date011", + "Description010", + "Class070", + "Date012", + "Description011", + "Class071", + "Date013", + "Description012", + "Class072", + "Date014", + "Description013", + "Class073", + "Date015", + "Description014", + "Class074", + "Date016", + "Description015", + "Class075", + "Class076", + "Class077", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094", + "Title", + "Comments" + ], + "_Tab-1": [ + "ClassZ", + "_Links-397526" + ] + }, + "TabLatestId": 1, + "Tabs": [ + { + "LabelText": "物件情報", + "Id": 1 + } + ], + "SectionLatestId": 6, + "Sections": [ + { + "Id": 6, + "LabelText": "物件情報", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 4, + "LabelText": "案件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": true, + "Expand": false + }, + { + "Id": 5, + "LabelText": "", + "AllowExpand": true, + "Expand": false + } + ], + "TitleColumns": [ + "Class009" + ], + "LinkColumns": [ + "Status", + "Class014", + "Class015", + "Date003", + "Date007", + "Class065", + "Description002", + "Description005" + ], + "Columns": [ + { + "ColumnName": "Status", + "LabelText": "ステータス", + "ChoicesText": "100,未対応,未,status-new\n300,対応中,対,status-review\n900,完了,完,status-closed", + "NoWrap": true + }, + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class001", + "LabelText": "物件システムID", + "EditorReadOnly": true + }, + { + "ColumnName": "Class002", + "LabelText": "物件管理ID", + "EditorReadOnly": true + }, + { + "ColumnName": "Class003", + "LabelText": "施主名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Date001", + "LabelText": "竣工日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date002", + "LabelText": "基準日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class004", + "LabelText": "建築地郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class005", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class006", + "LabelText": "建築地市区町村番地", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class007", + "LabelText": "共同住宅名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class008", + "LabelText": "共同住宅部屋番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class009", + "LabelText": "住宅名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class010", + "LabelText": "建築地電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class011", + "LabelText": "建築地携帯電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class012", + "LabelText": "案件・コード番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class013", + "LabelText": "経過月数", + "ChoicesText": "3,3ヶ月\n6,6ヶ月\n12,1年\n18,1年半\n24,2年\n36,3年\n48,4年\n60,5年\n72,6年\n84,7年\n96,8年\n108,9年\n120,10年\n132,11年\n144,12年\n156,13年\n168,14年\n180,15年\n192,16年\n204,17年\n216,18年\n228,19年\n240,20年\n252,21年\n264,22年\n276,23年\n288,24年\n300,25年\n312,26年\n324,27年\n336,28年\n348,29年\n360,30年\n372,31年\n384,32年\n396,33年\n408,34年\n420,35年\n432,36年\n444,37年\n456,38年\n468,39年\n480,40年\n492,41年\n504,42年\n516,43年\n528,44年\n540,45年\n552,46年\n564,47年\n576,48年\n588,49年\n600,50年", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class014", + "LabelText": "登録種別", + "ChoicesText": "点検\nメンテナンス\n設備交換\nリフォーム\n検査\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class015", + "LabelText": "受付方法", + "ChoicesText": "TEL\nコールセンター\nメール\nFAX\n訪問時受付\n点検時受付\n来場\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Description001", + "LabelText": "部署", + "EditorReadOnly": true + }, + { + "ColumnName": "Date003", + "LabelText": "受付日", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class016", + "LabelText": "受付時間", + "EditorReadOnly": true + }, + { + "ColumnName": "Class017", + "LabelText": "受付種別カテゴリ", + "EditorReadOnly": true + }, + { + "ColumnName": "Date004", + "LabelText": "実施予定開始日", + "GridFormat": "Ymd", + "NoWrap": true, + "GridDesign": "[Date004]\n[Class018]", + "EditorReadOnly": true + }, + { + "ColumnName": "Class018", + "LabelText": "実施予定開始時刻", + "EditorReadOnly": true + }, + { + "ColumnName": "Date005", + "LabelText": "実施予定終了日", + "GridFormat": "Ymd", + "NoWrap": true, + "GridDesign": "[Date005]\n[Class019]", + "EditorReadOnly": true + }, + { + "ColumnName": "Class019", + "LabelText": "実施予定終了時刻", + "EditorReadOnly": true + }, + { + "ColumnName": "Date006", + "LabelText": "着手(対応)日", + "NoWrap": true, + "GridDesign": "[Date006]\n[Class020]", + "EditorReadOnly": true + }, + { + "ColumnName": "Class020", + "LabelText": "着手(対応)時刻" + }, + { + "ColumnName": "Date007", + "LabelText": "完了日", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class021", + "LabelText": "完了時刻", + "EditorReadOnly": true + }, + { + "ColumnName": "Class022", + "LabelText": "受付者(ログインID)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class023", + "LabelText": "受付者(氏名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class024", + "LabelText": "対応者1(ログインID)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class025", + "LabelText": "対応者1(氏名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class026", + "LabelText": "対応者2(ログインID)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class027", + "LabelText": "対応者2(氏名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class028", + "LabelText": "対応者3(ログインID)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class029", + "LabelText": "対応者3(氏名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Num001", + "LabelText": "契約金額", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num002", + "LabelText": "回収金額", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class030", + "LabelText": "回収状況", + "ChoicesText": "未完了\n完了\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class031", + "LabelText": "有償区分", + "EditorReadOnly": true + }, + { + "ColumnName": "Num003", + "LabelText": "消費税率1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num004", + "LabelText": "基本料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class032", + "LabelText": "基本料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num005", + "LabelText": "基本料金1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num006", + "LabelText": "作業料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class033", + "LabelText": "作業料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num007", + "LabelText": "作業料金1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num008", + "LabelText": "その他料金1(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class034", + "LabelText": "その他料金1(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num009", + "LabelText": "その他料金1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num010", + "LabelText": "課税合計1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num011", + "LabelText": "非課税合計1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num012", + "LabelText": "合計金額1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class035", + "LabelText": "請求先1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class036", + "LabelText": "支払区分1", + "ChoicesText": "現金\nカード\n後日請求\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class037", + "LabelText": "進捗区分1", + "ChoicesText": "一次対応\n二次対応\nアフター\nクレーム\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num013", + "LabelText": "消費税率2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num014", + "LabelText": "基本料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class038", + "LabelText": "基本料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num015", + "LabelText": "基本料金2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num016", + "LabelText": "作業料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class039", + "LabelText": "作業料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num017", + "LabelText": "作業料金2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num018", + "LabelText": "その他料金2(税抜金額)", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class040", + "LabelText": "その他料金2(課税対象)", + "ChoicesText": "対象外\n課税対象", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num019", + "LabelText": "その他料金2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num020", + "LabelText": "課税合計2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num021", + "LabelText": "非課税合計2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num022", + "LabelText": "合計金額2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class041", + "LabelText": "請求先2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class042", + "LabelText": "支払区分2", + "ChoicesText": "現金\nカード\n後日請求\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class043", + "LabelText": "進捗区分2", + "ChoicesText": "一次対応\n二次対応\nアフター\nクレーム\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ6", + "EditorReadOnly": true + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ7", + "EditorReadOnly": true + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ8", + "EditorReadOnly": true + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ9", + "EditorReadOnly": true + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ10", + "EditorReadOnly": true + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ11", + "EditorReadOnly": true + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ12", + "EditorReadOnly": true + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ13", + "EditorReadOnly": true + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ14", + "EditorReadOnly": true + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ15", + "EditorReadOnly": true + }, + { + "ColumnName": "Class059", + "LabelText": "フラグ16", + "EditorReadOnly": true + }, + { + "ColumnName": "Class060", + "LabelText": "フラグ17", + "EditorReadOnly": true + }, + { + "ColumnName": "Class061", + "LabelText": "フラグ18", + "EditorReadOnly": true + }, + { + "ColumnName": "Class062", + "LabelText": "フラグ19", + "EditorReadOnly": true + }, + { + "ColumnName": "Class063", + "LabelText": "フラグ20", + "EditorReadOnly": true + }, + { + "ColumnName": "Class064", + "LabelText": "背景色", + "ChoicesText": "白\n紫\n緑\n水\n橙\n桃\n黄\n灰", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class065", + "LabelText": "件名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Description002", + "LabelText": "依頼内容", + "EditorReadOnly": true + }, + { + "ColumnName": "Description003", + "LabelText": "現地状況​", + "EditorReadOnly": true + }, + { + "ColumnName": "Description004", + "LabelText": "原因", + "EditorReadOnly": true + }, + { + "ColumnName": "Description005", + "LabelText": "対応結果", + "EditorReadOnly": true + }, + { + "ColumnName": "Description006", + "LabelText": "備考", + "EditorReadOnly": true + }, + { + "ColumnName": "Class066", + "LabelText": "ステータス(依頼:依頼打診)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date008", + "LabelText": "日付(依頼:依頼打診)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description007", + "LabelText": "備考(依頼:依頼打診)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class067", + "LabelText": "ステータス(依頼:依頼受注)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date009", + "LabelText": "日付(依頼:依頼受注)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description008", + "LabelText": "備考(依頼:依頼受注)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class068", + "LabelText": "ステータス(見積:見積提示待)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date010", + "LabelText": "日付(見積:見積提示待)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description009", + "LabelText": "備考(見積:見積提示待)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class069", + "LabelText": "ステータス(見積:見積提出済)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date011", + "LabelText": "日付(見積:見積提出済)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description010", + "LabelText": "備考(見積:見積提出済)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class070", + "LabelText": "ステータス(見積:受注)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date012", + "LabelText": "日付(見積:受注)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description011", + "LabelText": "備考(見積:受注)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class071", + "LabelText": "ステータス(見積:日程調整中)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date013", + "LabelText": "日付(見積:日程調整中)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description012", + "LabelText": "備考(見積:日程調整中)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class072", + "LabelText": "ステータス(見積:キャンセル)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date014", + "LabelText": "日付(見積:キャンセル)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description013", + "LabelText": "備考(見積:キャンセル)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class073", + "LabelText": "ステータス(完了:キャンセル)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date015", + "LabelText": "日付(完了:キャンセル)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description014", + "LabelText": "備考(完了:キャンセル)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class074", + "LabelText": "ステータス(完了:請求処理)", + "ChoicesText": "未対応\n対応中\n完了", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date016", + "LabelText": "日付(完了:請求処理)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description015", + "LabelText": "備考(完了:請求処理)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class075", + "LabelText": "要請者名(漢字)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class076", + "LabelText": "要請者名(かな)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class077", + "LabelText": "入電電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class078", + "LabelText": "要請者電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class079", + "LabelText": "支払状況", + "ChoicesText": "後日請求にて完了\n現金入金にて完了\nクレジット決済にて完了\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class080", + "LabelText": "マスターコード1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class081", + "LabelText": "マスターコード2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class082", + "LabelText": "マスターコード3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class083", + "LabelText": "マスターコード4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class084", + "LabelText": "マスターコード5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class085", + "LabelText": "マスターコード6", + "EditorReadOnly": true + }, + { + "ColumnName": "Class086", + "LabelText": "マスターコード7", + "EditorReadOnly": true + }, + { + "ColumnName": "Class087", + "LabelText": "マスターコード8", + "EditorReadOnly": true + }, + { + "ColumnName": "Class088", + "LabelText": "マスターコード9", + "EditorReadOnly": true + }, + { + "ColumnName": "Class089", + "LabelText": "自由設定コード1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class090", + "LabelText": "自由設定コード2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class091", + "LabelText": "自由設定コード3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class092", + "LabelText": "自由設定コード4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class093", + "LabelText": "自由設定コード5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class094", + "LabelText": "自由設定コード6", + "EditorReadOnly": true + }, + { + "ColumnName": "Title", + "LabelText": "物件名" + }, + { + "ColumnName": "ClassZ", + "LabelText": "物件情報", + "ChoicesText": "[[397526]]", + "Hide": true, + "Link": true, + "SearchType": "PartialMatch" + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Status", + "Type": 0, + "Target": "" + }, + { + "Id": 2, + "GroupBy": "Class005", + "Type": 0, + "Target": "" + }, + { + "Id": 3, + "GroupBy": "Class014", + "Type": 0, + "Target": "" + }, + { + "Id": 4, + "GroupBy": "Class015", + "Type": 0, + "Target": "" + } + ], + "Links": [ + { + "ColumnName": "ClassZ", + "SiteId": 397526 + } + ], + "ViewLatestId": 5, + "Views": [ + { + "Id": 1, + "Name": "東京エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"埼玉県\",\"東京都\",\"神奈川県\",\"山梨県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 2, + "Name": "千葉エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"千葉県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 3, + "Name": "愛知エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"岐阜県\",\"愛知県\",\"三重県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 4, + "Name": "熊本エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"熊本県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 5, + "Name": "静岡エリア", + "Incomplete": true, + "ColumnFilterHash": { + "Class005": "[\"静岡県\"]" + }, + "ColumnSorterHash": { + "Date003": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Status", + "CrosstabGroupByY": "Status", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num009", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + }, + { + "Title": "入力欄調整", + "New": true, + "Edit": true, + "Body": ".control-text,\n.control-markup{\n background: white !important;\n color:black !important;\n}", + "Id": 2 + } + ], + "Scripts": [ + { + "Title": "01_メインスクリプト", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n//----------------------------------------------------------------------\n$p.ex.init = function () {\n\n $('#EditorComments').empty();\n //リンク作成ボタンの追加\n $p.createAnkenButton();\n $p.createBukkenButton();\n $p.createTekenCheckButton();\n\n $p.createBukkenLinkButton();\n}\n\n$p.createAnkenButton = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenButton';\n button.innerHTML = \"助っ人クラウド 案件編集\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_AnkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n\n}\n\n$p.createBukkenLinkButton = function () {\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenLinkButton';\n button.innerHTML = \"物件リンク更新\";\n button.setAttribute('onclick', '$p.ex.bukkenLink();');\n button.style.margin = '5px';\n $('#Results_ClassZField').after(button);\n $('#HPC_BukkenLinkButton').button({\n icon: 'ui-icon-document'\n });\n}\n\n$p.createBukkenButton = function () {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/Properties/detail?prid=\" + bukkenId;\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenButton';\n button.innerHTML = \"助っ人クラウド 物件情報\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_BukkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n $('#EditorComments').append('
');\n}\n\n$p.createTekenCheckButton = function () {\n let monthList = [2, 6, 12, 24, 60, 120];\n\n monthList.forEach(function (month) {\n let button1 = document.createElement(\"button\");\n button1.id = 'HPC_TekenCheckButton1_' + month;\n if (month >= 12) {\n button1.innerHTML = month / 12 + \"年点検確認\";\n } else {\n button1.innerHTML = month + \"ヶ月点検確認\";\n }\n button1.setAttribute('onclick', '$p.ex.openTekenCheckPage(' + month + ');');\n button1.style.margin = '5px';\n $('#EditorComments').append(button1);\n $('#HPC_TekenCheckButton1_' + month).button({\n icon: 'ui-icon-document'\n });\n\n $('#EditorComments').append('
');\n });\n}\n\n$p.ex.openTekenCheckPage = function (month) {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/CheckSheets/edit?prid=\" + bukkenId + \"&timeIdx=\" + month;\n window.open(url, '_blank');\n}\n\n$p.ex.openHPCpage = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n window.open(url, '_blank');\n}", + "Id": 1 + }, + { + "Title": "02_物件情報リンク", + "Edit": true, + "Body": "//案件情報テーブルの対象のテーブルを更新する\n$p.ex.bukkenLink = async function () {\n if ($('#Results_ClassZ').val() != '') {\n return;\n }\n\n let bukkenId = $('#Results_Class001').val();\n let recordId = $p.id();\n\n //案件情報テーブルからレコードを取得\n const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397526/get';\n const getJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'View': {\n 'ColumnFilterHash': {\n 'ClassA': bukkenId,\n }\n }\n }\n const getRes = await fetch(getUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(getJson)\n });\n const getResData = await getRes.json();\n console.log(getResData);\n\n if (getResData.StatusCode != '200' || getResData.Response.TotalCount == 0) {\n console.log('物件情報レコードが取得できませんでした。');\n $p.ex.setMyMessage('new-status-red', '物件情報が取得できませんでした。');\n return;\n }\n\n //取得したレコードIDを物件リンクにセット\n $p.apiUpdate({\n 'id': recordId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ClassHash': {\n 'ClassZ': getResData.Response.Data[0].ResultId\n }\n },\n done: function (data) {\n console.log(data);\n setTimeout(() => {\n location.href = location.pathname + location.search + '#FieldSetTab1';\n location.reload();\n }, 1000);\n }\n });\n\n}\n\n//メッセージ追加表示\n$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) {\n //クリアが指定されていたら事前にメッセージ消去\n clear && $p.clearMessage();\n\n $p.setMessage('#Message', JSON.stringify({\n Css: 'alert-success ' + cssColor,\n Text: message\n }));\n\n}\n", + "Id": 2 + } + ], + "AllowCopy": false, + "HideLink": true, + "NoDisplayIfReadOnly": false + }, + }, + "done": function (data) { + console.log(data); + }, + "fail": function (data) { + console.log(data); + } + }); +} +updateSite(); + diff --git a/pleasanter/develop/#助っ人クラウド連携/物件情報_2025_12_06 11_40_57.json b/pleasanter/develop/#助っ人クラウド連携/物件情報_2025_12_06 11_40_57.json new file mode 100644 index 00000000..ae5758c5 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/物件情報_2025_12_06 11_40_57.json @@ -0,0 +1,1282 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397526, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-06T11:40:57.0841737+09:00", + "Convertors": [ + { + "SiteId": 397526, + "SiteTitle": "物件情報", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397526, + "Title": "物件情報", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "[md]\n# ■助っ人クラウド 物件情報一覧\n### 右上のビューからエリアを選択してください。", + "EditorGuide": "[md]\n# ■助っ人クラウド 物件情報\n### こちらは参照のみとなります。情報の更新は右端に表示されているボタンをクリックし、助っ人クラウドを開いて更新してください。\n更新された情報は翌日反映されます。", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "ClassA", + "Title", + "Class007", + "Class013", + "Class014", + "Class028", + "Date005", + "Date006", + "Date007", + "Date008", + "Description001", + "Description002", + "UpdatedTime" + ], + "FilterColumns": [ + "Title", + "Class013", + "Class007", + "Date005", + "Date006", + "Date007", + "Date008" + ], + "EditorColumnHash": { + "General": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-1", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "_Section-2", + "Class022", + "Num001", + "Num002", + "Class023", + "Class024", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Class025", + "Num008", + "Num009", + "Num010", + "Class026", + "Class027", + "Class028", + "Class029", + "Class030", + "Description001", + "Description002", + "_Section-3", + "Date001", + "Date002", + "Date003", + "Date004", + "Date005", + "Date006", + "Date007", + "Date008", + "Date009", + "Num011", + "_Section-4", + "Num012", + "Num013", + "Class031", + "Class032", + "Class033", + "Class034", + "Class035", + "Class036", + "Class037", + "Class038", + "_Section-5", + "Class039", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "_Section-6", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "Class065", + "Class066", + "Class067", + "Class068", + "Class069", + "Class070", + "_Section-9", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125", + "Title", + "Comments" + ], + "_Tab-1": [ + "Class071", + "Class072", + "Class073", + "Class074", + "Class075", + "Class076", + "Class077", + "Description003", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Description004", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Description005", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Description006", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Description007" + ], + "_Tab-2": [ + "Class106", + "Class107", + "Class108", + "Class109", + "Num014", + "Date010", + "Date011", + "Description008", + "Class110", + "Class111", + "Class112", + "Class113", + "Num015", + "Date012", + "Date013", + "Description009", + "Class114", + "Class115", + "Class116", + "Class117", + "Num016", + "Date014", + "Date015", + "Description010" + ], + "_Tab-3": [ + "ClassZ", + "_Links-397527" + ] + }, + "TabLatestId": 3, + "Tabs": [ + { + "LabelText": "家族情報", + "Id": 1 + }, + { + "LabelText": "保証情報", + "Id": 2 + }, + { + "LabelText": "案件情報", + "Id": 3 + } + ], + "Sections": [ + { + "Id": 1, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "フラグ", + "AllowExpand": false, + "Expand": false + }, + { + "Id": 6, + "LabelText": "塗装色", + "AllowExpand": true, + "Expand": false + }, + { + "Id": 9, + "LabelText": "担当", + "AllowExpand": false, + "Expand": false + } + ], + "TitleColumns": [ + "Class008" + ], + "LinkColumns": [ + "Title", + "Class013", + "Class014", + "Class028", + "Date005", + "Date006", + "Date007", + "Date008", + "Description001", + "Description002" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "施主名(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class002", + "LabelText": "施主名(名)" + }, + { + "ColumnName": "Class003", + "LabelText": "施主名かな(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class004", + "LabelText": "施主名かな(名)" + }, + { + "ColumnName": "Class005", + "LabelText": "建築地電話番号", + "NoWrap": true + }, + { + "ColumnName": "Class006", + "LabelText": "建築地携帯電話番号" + }, + { + "ColumnName": "Class007", + "LabelText": "戸建/共同住宅区分", + "GridLabelText": "区分", + "ChoicesText": "戸建\n共同住宅", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class008", + "LabelText": "住宅名(物件名)(区画番号)など", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class009", + "LabelText": "共同住宅名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class010", + "LabelText": "部屋番号" + }, + { + "ColumnName": "Class011", + "LabelText": "組合管理物件" + }, + { + "ColumnName": "Class012", + "LabelText": "建築地郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class013", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class014", + "LabelText": "建築地市区町村番地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "現住所郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class016", + "LabelText": "現住所都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class017", + "LabelText": "現住所市区町村番地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "現住所電話番号" + }, + { + "ColumnName": "Class019", + "LabelText": "書類送付先郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class020", + "LabelText": "書類送付先予備都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class021", + "LabelText": "書類送付先市区町村番地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "用途" + }, + { + "ColumnName": "Num001", + "LabelText": "地上階数", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num002", + "LabelText": "地下階数", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class023", + "LabelText": "基礎仕様", + "ChoicesText": "べた基礎\n布基礎\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class024", + "LabelText": "その他基礎仕様名称", + "ChoicesText": "べた基礎\n布基礎\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num003", + "LabelText": "土地面積", + "ChoicesText": "べた基礎\n布基礎\nその他", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num004", + "LabelText": "建築面積", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num005", + "LabelText": "延べ床面積", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num006", + "LabelText": "床面積詳細1階", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num007", + "LabelText": "床面積詳細2階", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class025", + "LabelText": "床面積詳細その他階名称" + }, + { + "ColumnName": "Num008", + "LabelText": "床面積詳細その他階", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num009", + "LabelText": "当初販売価格", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num010", + "LabelText": "土地仕入価格", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class026", + "LabelText": "要注意" + }, + { + "ColumnName": "Class027", + "LabelText": "サポートデスクの登録あり" + }, + { + "ColumnName": "Class028", + "LabelText": "管理ID", + "NoWrap": true + }, + { + "ColumnName": "Class029", + "LabelText": "予備ID" + }, + { + "ColumnName": "Description001", + "LabelText": "備考", + "EditorReadOnly": true, + "AllowImage": false + }, + { + "ColumnName": "Description002", + "LabelText": "現場メモ", + "EditorReadOnly": true, + "AllowImage": false + }, + { + "ColumnName": "Class030", + "LabelText": "顧客システムID" + }, + { + "ColumnName": "Date001", + "LabelText": "契約予定日" + }, + { + "ColumnName": "Date002", + "LabelText": "着工予定日" + }, + { + "ColumnName": "Date003", + "LabelText": "竣工予定日" + }, + { + "ColumnName": "Date004", + "LabelText": "引渡予定日" + }, + { + "ColumnName": "Date005", + "LabelText": "契約日" + }, + { + "ColumnName": "Date006", + "LabelText": "着工日(確認申請が下りた日)", + "GridLabelText": "着工日" + }, + { + "ColumnName": "Date007", + "LabelText": "竣工日" + }, + { + "ColumnName": "Date008", + "LabelText": "引渡日" + }, + { + "ColumnName": "Date009", + "LabelText": "基準日" + }, + { + "ColumnName": "Num011", + "LabelText": "請負金額", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num012", + "LabelText": "建蔽率", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Num013", + "LabelText": "容積率", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class031", + "LabelText": "工法", + "ChoicesText": "木造軸組\n2×4\n木質プレハブ\n鉄骨プレハブ\nコンクリートプレハブ\n鉄骨\nRC\nスチールハウス\nログハウス\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class032", + "LabelText": "その他工法名称" + }, + { + "ColumnName": "Class033", + "LabelText": "用途地域" + }, + { + "ColumnName": "Class034", + "LabelText": "シリーズ名" + }, + { + "ColumnName": "Class035", + "LabelText": "モデル名" + }, + { + "ColumnName": "Class036", + "LabelText": "施工会社" + }, + { + "ColumnName": "Class037", + "LabelText": "給湯器メーカー" + }, + { + "ColumnName": "Class038", + "LabelText": "給湯器型式" + }, + { + "ColumnName": "Class039", + "LabelText": "フラグ1" + }, + { + "ColumnName": "Class040", + "LabelText": "フラグ2" + }, + { + "ColumnName": "Class041", + "LabelText": "フラグ3" + }, + { + "ColumnName": "Class042", + "LabelText": "フラグ4" + }, + { + "ColumnName": "Class043", + "LabelText": "フラグ5" + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ6" + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ7" + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ8" + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ9" + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ10" + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ11" + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ12" + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ13" + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ14" + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ15" + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ16" + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ17" + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ18" + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ19" + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ20" + }, + { + "ColumnName": "Class059", + "LabelText": "外部塗装色 部位1", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class060", + "LabelText": "外部塗装色 色1" + }, + { + "ColumnName": "Class061", + "LabelText": "外部塗装色 部位2", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class062", + "LabelText": "外部塗装色 色2" + }, + { + "ColumnName": "Class063", + "LabelText": "外部塗装色 部位3", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class064", + "LabelText": "外部塗装色 色3" + }, + { + "ColumnName": "Class065", + "LabelText": "内部塗装色 部位1", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class066", + "LabelText": "内部塗装色 色1" + }, + { + "ColumnName": "Class067", + "LabelText": "内部塗装色 部位2", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class068", + "LabelText": "内部塗装色 色2" + }, + { + "ColumnName": "Class069", + "LabelText": "内部塗装色 部位3", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class070", + "LabelText": "内部塗装色 色3" + }, + { + "ColumnName": "Class071", + "LabelText": "家族名1(姓)" + }, + { + "ColumnName": "Class072", + "LabelText": "家族名1(名)" + }, + { + "ColumnName": "Class073", + "LabelText": "家族名かな1(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class074", + "LabelText": "家族名かな1(名)" + }, + { + "ColumnName": "Class075", + "LabelText": "家族電話番号1", + "NoWrap": true + }, + { + "ColumnName": "Class076", + "LabelText": "家族携帯メール1" + }, + { + "ColumnName": "Class077", + "LabelText": "家族PCメール1" + }, + { + "ColumnName": "Description003", + "LabelText": "家族備考1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class078", + "LabelText": "家族名2(姓)" + }, + { + "ColumnName": "Class079", + "LabelText": "家族名2(名)" + }, + { + "ColumnName": "Class080", + "LabelText": "家族名かな2(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class081", + "LabelText": "家族名かな2(名)" + }, + { + "ColumnName": "Class082", + "LabelText": "家族電話番号2", + "NoWrap": true + }, + { + "ColumnName": "Class083", + "LabelText": "家族携帯メール2" + }, + { + "ColumnName": "Class084", + "LabelText": "家族PCメール2" + }, + { + "ColumnName": "Description004", + "LabelText": "家族備考2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class085", + "LabelText": "家族名3(姓)" + }, + { + "ColumnName": "Class086", + "LabelText": "家族名3(名)" + }, + { + "ColumnName": "Class087", + "LabelText": "家族名かな3(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class088", + "LabelText": "家族名かな3(名)" + }, + { + "ColumnName": "Class089", + "LabelText": "家族電話番号3", + "NoWrap": true + }, + { + "ColumnName": "Class090", + "LabelText": "家族携帯メール3" + }, + { + "ColumnName": "Class091", + "LabelText": "家族PCメール3" + }, + { + "ColumnName": "Description005", + "LabelText": "家族備考3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class092", + "LabelText": "家族名4(姓)" + }, + { + "ColumnName": "Class093", + "LabelText": "家族名4(名)" + }, + { + "ColumnName": "Class094", + "LabelText": "家族名かな4(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class095", + "LabelText": "家族名かな4(名)" + }, + { + "ColumnName": "Class096", + "LabelText": "家族電話番号4", + "NoWrap": true + }, + { + "ColumnName": "Class097", + "LabelText": "家族携帯メール4" + }, + { + "ColumnName": "Class098", + "LabelText": "家族PCメール4" + }, + { + "ColumnName": "Description006", + "LabelText": "家族備考4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class099", + "LabelText": "家族名5(姓)" + }, + { + "ColumnName": "Class100", + "LabelText": "家族名5(名)" + }, + { + "ColumnName": "Class101", + "LabelText": "家族名かな5(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class102", + "LabelText": "家族名かな5(名)" + }, + { + "ColumnName": "Class103", + "LabelText": "家族電話番号5", + "NoWrap": true + }, + { + "ColumnName": "Class104", + "LabelText": "家族携帯メール5" + }, + { + "ColumnName": "Class105", + "LabelText": "家族PCメール5" + }, + { + "ColumnName": "Description007", + "LabelText": "家族備考5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class106", + "LabelText": "保証種別1", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class107", + "LabelText": "保険契約者の氏名または名称等1", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Date010", + "LabelText": "加入日1(保険始期の必要有り)" + }, + { + "ColumnName": "Date011", + "LabelText": "満了日1" + }, + { + "ColumnName": "Class108", + "LabelText": "保険証券番号等1" + }, + { + "ColumnName": "Num014", + "LabelText": "保険金の額(補償金額)等1", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class109", + "LabelText": "提供会社等1" + }, + { + "ColumnName": "Description008", + "LabelText": "備考1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class110", + "LabelText": "保証種別2", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class111", + "LabelText": "保険契約者の氏名または名称等2", + "NoWrap": true, + "FieldCss": "field-wide" + }, + { + "ColumnName": "Date012", + "LabelText": "加入日2(保険始期の必要有り)" + }, + { + "ColumnName": "Date013", + "LabelText": "満了日2" + }, + { + "ColumnName": "Class112", + "LabelText": "保険証券番号等2" + }, + { + "ColumnName": "Num015", + "LabelText": "保険金の額(補償金額)等2", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class113", + "LabelText": "提供会社等2" + }, + { + "ColumnName": "Description009", + "LabelText": "備考2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class114", + "LabelText": "保証種別3", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class115", + "LabelText": "保険契約者の氏名または名称等3", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Date014", + "LabelText": "加入日3(保険始期の必要有り)" + }, + { + "ColumnName": "Date015", + "LabelText": "満了日3" + }, + { + "ColumnName": "Class116", + "LabelText": "保険証券番号等3" + }, + { + "ColumnName": "Num016", + "LabelText": "保険金の額(補償金額)等3", + "DecimalPlaces": 2, + "TextAlign": 20 + }, + { + "ColumnName": "Class117", + "LabelText": "提供会社等3" + }, + { + "ColumnName": "Description010", + "LabelText": "備考3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class118", + "LabelText": "担当支店" + }, + { + "ColumnName": "Class119", + "LabelText": "担当者ID1" + }, + { + "ColumnName": "Class120", + "LabelText": "担当者ID2" + }, + { + "ColumnName": "Class121", + "LabelText": "担当者ID3" + }, + { + "ColumnName": "Class122", + "LabelText": "担当者ID4" + }, + { + "ColumnName": "Class123", + "LabelText": "担当者ID5" + }, + { + "ColumnName": "Class124", + "LabelText": "担当者ID6" + }, + { + "ColumnName": "Class125", + "LabelText": "担当者ID7" + }, + { + "ColumnName": "Title", + "LabelText": "物件名" + }, + { + "ColumnName": "ClassZ", + "Hide": true + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Class013", + "Type": 0, + "Target": "" + } + ], + "ViewLatestId": 5, + "Views": [ + { + "Id": 1, + "Name": "東京エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"埼玉県\",\"東京都\",\"神奈川県\",\"山梨県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "ApiDataType": 0 + }, + { + "Id": 2, + "Name": "愛知エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"岐阜県\",\"愛知県\",\"三重県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 3, + "Name": "千葉エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"千葉県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 4, + "Name": "静岡エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"静岡県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + }, + { + "Id": 5, + "Name": "熊本エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"熊本県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + } + ], + "Scripts": [ + { + "Title": "01_メインスクリプト", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n//----------------------------------------------------------------------\n$p.ex.init = function () {\n\n $('button[data-to-site-id=\"397527\"]').hide();\n $('#EditorComments').empty();\n //リンク作成ボタンの追加\n //$p.createAnkenButton();\n $p.createAnkenLinkButton();\n $p.createBukkenButton();\n $p.createTekenCheckButton();\n}\n\n$p.createAnkenButton = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenButton';\n button.innerHTML = \"助っ人クラウド 案件編集\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_AnkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n\n}\n\n$p.createAnkenLinkButton = function () {\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenLinkButton';\n button.innerHTML = \"案件一覧更新\";\n button.setAttribute('onclick', '$p.ex.subjectListLink();');\n button.style.margin = '5px';\n $('#Results_ClassZField').after(button);\n $('#HPC_AnkenLinkButton').button({\n icon: 'ui-icon-document'\n });\n}\n\n$p.createBukkenButton = function () {\n let bukkenId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/Properties/detail?prid=\" + bukkenId;\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenButton';\n button.innerHTML = \"助っ人クラウド 物件情報\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_BukkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n $('#EditorComments').append('
');\n}\n\n$p.createTekenCheckButton = function () {\n let monthList = [2, 6, 12, 24, 60, 120];\n\n monthList.forEach(function (month) {\n let button1 = document.createElement(\"button\");\n button1.id = 'HPC_TekenCheckButton1_' + month;\n if (month >= 12) {\n button1.innerHTML = month / 12 + \"年点検確認\";\n } else {\n button1.innerHTML = month + \"ヶ月点検確認\";\n }\n button1.setAttribute('onclick', '$p.ex.openTekenCheckPage(' + month + ');');\n button1.style.margin = '5px';\n $('#EditorComments').append(button1);\n $('#HPC_TekenCheckButton1_' + month).button({\n icon: 'ui-icon-document'\n });\n\n $('#EditorComments').append('
');\n });\n}\n\n$p.ex.openTekenCheckPage = function (month) {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/CheckSheets/edit?prid=\" + bukkenId + \"&timeIdx=\" + month;\n window.open(url, '_blank');\n}\n\n$p.ex.openHPCpage = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n window.open(url, '_blank');\n}", + "Id": 1 + }, + { + "Title": "02_案件情報リンク", + "Edit": true, + "Body": "//案件情報テーブルの対象のテーブルを更新する\n$p.ex.subjectListLink = async function () {\n let bukkenId = $('#Results_ClassA').val();\n let recordId = $p.id();\n\n //案件情報テーブルからレコードを取得\n const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397527/get';\n const getJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'View': {\n 'ColumnFilterHash': {\n 'Class001': bukkenId,\n 'ClassZ': ''\n }\n }\n }\n const getRes = await fetch(getUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(getJson)\n });\n const getResData = await getRes.json();\n console.log(getResData);\n\n if (getResData.StatusCode != '200' || getResData.Response.TotalCount == 0) {\n console.log('案件情報レコードが取得できませんでした。');\n $p.ex.setMyMessage('new-status-red', '案件情報が取得できませんでした。');\n return;\n }\n\n //取得したレコード一覧\n let resultList = getResData.Response.Data;\n\n //案件情報テーブル 一括更新\n for (i = 0; i < resultList.length; i++) {\n let resultId = resultList[i].ResultId;\n const updateUrl = 'https://' + location.hostname + '/pleasanter/api/items/' + resultId + '/update';\n const updateJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'ClassHash': {\n 'ClassZ': recordId\n }\n };\n const updateRes = await fetch(updateUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(updateJson)\n });\n const updateResData = await updateRes.json();\n console.log(updateResData);\n }\n\n setTimeout(() => {\n document.getElementById('UpdateCommand').click();\n }, 1000);\n\n}\n\n//メッセージ追加表示\n$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) {\n //クリアが指定されていたら事前にメッセージ消去\n clear && $p.clearMessage();\n\n $p.setMessage('#Message', JSON.stringify({\n Css: 'alert-success ' + cssColor,\n Text: message\n }));\n\n}\n", + "Id": 2 + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397526, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル.js b/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル.js new file mode 100644 index 00000000..4ee03459 --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル.js @@ -0,0 +1,366 @@ +function updateSite() { + $p.apiUpdateSite({ + "id": "397526", + "data": { + "SiteId": "397526", + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [ + ], + "EditorColumnHash": { + "General": [ + "ResultId", + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "Class022", + "Num001", + "Num002", + "Class023", + "Class024", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Class025", + "Num008", + "Num009", + "Num010", + "Class026", + "Class027", + "Class028", + "Class029", + "Description001", + "Description002", + "Class030", + "Date001", + "Date002", + "Date003", + "Date004", + "Date005", + "Date006", + "Date007", + "Date008", + "Date009", + "Num011", + "Num012", + "Num013", + "Class031", + "Class032", + "Class033", + "Class034", + "Class035", + "Class036", + "Class037", + "Class038", + "Class039", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "Class065", + "Class066", + "Class067", + "Class068", + "Class069", + "Class070", + "Class071", + "Class072", + "Class073", + "Class074", + "Class075", + "Class076", + "Class077", + "Description003", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Description004", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Description005", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Description006", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Description007", + "Class106", + "Class107", + "Date010", + "Date011", + "Class108", + "Num014", + "Class109", + "Description008", + "Class110", + "Class111", + "Date012", + "Date013", + "Class112", + "Num015", + "Class113", + "Description009", + "Class114", + "Class115", + "Date014", + "Date015", + "Class116", + "Num016", + "Class117", + "Description010", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125" + ] + }, + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, { "ColumnName": "Class001", "LabelText": "施主名(姓)" }, + { "ColumnName": "Class002", "LabelText": "施主名(名)" }, + { "ColumnName": "Class003", "LabelText": "施主名かな(姓)" }, + { "ColumnName": "Class004", "LabelText": "施主名かな(名)" }, + { "ColumnName": "Class005", "LabelText": "建築地電話番号" }, + { "ColumnName": "Class006", "LabelText": "建築地携帯電話番号" }, + { "ColumnName": "Class007", "LabelText": "戸建/共同住宅区分", "ChoicesText": "戸建\n共同住宅", "SearchType": "PartialMatch" }, + { "ColumnName": "Class008", "LabelText": "住宅名(物件名)(区画番号)など" }, + { "ColumnName": "Class009", "LabelText": "共同住宅名" }, + { "ColumnName": "Class010", "LabelText": "部屋番号" }, + { "ColumnName": "Class011", "LabelText": "組合管理物件" }, + { "ColumnName": "Class012", "LabelText": "建築地郵便番号" }, + { "ColumnName": "Class013", "LabelText": "建築地都道府県", "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", "SearchType": "PartialMatch" }, + { "ColumnName": "Class014", "LabelText": "建築地市区町村番地" }, + { "ColumnName": "Class015", "LabelText": "現住所郵便番号" }, + { "ColumnName": "Class016", "LabelText": "現住所都道府県", "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", "SearchType": "PartialMatch" }, + { "ColumnName": "Class017", "LabelText": "現住所市区町村番地" }, + { "ColumnName": "Class018", "LabelText": "現住所電話番号" }, + { "ColumnName": "Class019", "LabelText": "書類送付先郵便番号" }, + { "ColumnName": "Class020", "LabelText": "書類送付先予備都道府県", "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", "SearchType": "PartialMatch" }, + { "ColumnName": "Class021", "LabelText": "書類送付先市区町村番地" }, + { "ColumnName": "Class022", "LabelText": "用途" }, + { "ColumnName": "Num001", "LabelText": "地上階数", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num002", "LabelText": "地下階数", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class023", "LabelText": "基礎仕様", "ChoicesText": "べた基礎\n布基礎\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class024", "LabelText": "その他基礎仕様名称", "ChoicesText": "べた基礎\n布基礎\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Num003", "LabelText": "土地面積", "DecimalPlaces": 2, "TextAlign": 20, "ChoicesText": "べた基礎\n布基礎\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Num004", "LabelText": "建築面積", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num005", "LabelText": "延べ床面積", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num006", "LabelText": "床面積詳細1階", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num007", "LabelText": "床面積詳細2階", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class025", "LabelText": "床面積詳細その他階名称" }, + { "ColumnName": "Num008", "LabelText": "床面積詳細その他階", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num009", "LabelText": "当初販売価格", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num010", "LabelText": "土地仕入価格", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class026", "LabelText": "要注意" }, + { "ColumnName": "Class027", "LabelText": "サポートデスクの登録あり" }, + { "ColumnName": "Class028", "LabelText": "管理ID" }, + { "ColumnName": "Class029", "LabelText": "予備ID" }, + { "ColumnName": "Description001", "LabelText": "備考" }, + { "ColumnName": "Description002", "LabelText": "現場メモ" }, + { "ColumnName": "Class030", "LabelText": "顧客システムID" }, + { "ColumnName": "Date001", "LabelText": "契約予定日" }, + { "ColumnName": "Date002", "LabelText": "着工予定日" }, + { "ColumnName": "Date003", "LabelText": "竣工予定日" }, + { "ColumnName": "Date004", "LabelText": "引渡予定日" }, + { "ColumnName": "Date005", "LabelText": "契約日" }, + { "ColumnName": "Date006", "LabelText": "着工日(確認申請が下りた日)" }, + { "ColumnName": "Date007", "LabelText": "竣工日" }, + { "ColumnName": "Date008", "LabelText": "引渡日" }, + { "ColumnName": "Date009", "LabelText": "基準日" }, + { "ColumnName": "Num011", "LabelText": "請負金額", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num012", "LabelText": "建蔽率", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Num013", "LabelText": "容積率", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class031", "LabelText": "工法", "ChoicesText": "木造軸組\n2×4\n木質プレハブ\n鉄骨プレハブ\nコンクリートプレハブ\n鉄骨\nRC\nスチールハウス\nログハウス\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class032", "LabelText": "その他工法名称" }, + { "ColumnName": "Class033", "LabelText": "用途地域" }, + { "ColumnName": "Class034", "LabelText": "シリーズ名" }, + { "ColumnName": "Class035", "LabelText": "モデル名" }, + { "ColumnName": "Class036", "LabelText": "施工会社" }, + { "ColumnName": "Class037", "LabelText": "給湯器メーカー" }, + { "ColumnName": "Class038", "LabelText": "給湯器型式" }, + { "ColumnName": "Class039", "LabelText": "フラグ1" }, + { "ColumnName": "Class040", "LabelText": "フラグ2" }, + { "ColumnName": "Class041", "LabelText": "フラグ3" }, + { "ColumnName": "Class042", "LabelText": "フラグ4" }, + { "ColumnName": "Class043", "LabelText": "フラグ5" }, + { "ColumnName": "Class044", "LabelText": "フラグ6" }, + { "ColumnName": "Class045", "LabelText": "フラグ7" }, + { "ColumnName": "Class046", "LabelText": "フラグ8" }, + { "ColumnName": "Class047", "LabelText": "フラグ9" }, + { "ColumnName": "Class048", "LabelText": "フラグ10" }, + { "ColumnName": "Class049", "LabelText": "フラグ11" }, + { "ColumnName": "Class050", "LabelText": "フラグ12" }, + { "ColumnName": "Class051", "LabelText": "フラグ13" }, + { "ColumnName": "Class052", "LabelText": "フラグ14" }, + { "ColumnName": "Class053", "LabelText": "フラグ15" }, + { "ColumnName": "Class054", "LabelText": "フラグ16" }, + { "ColumnName": "Class055", "LabelText": "フラグ17" }, + { "ColumnName": "Class056", "LabelText": "フラグ18" }, + { "ColumnName": "Class057", "LabelText": "フラグ19" }, + { "ColumnName": "Class058", "LabelText": "フラグ20" }, + { "ColumnName": "Class059", "LabelText": "外部塗装色 部位1", "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class060", "LabelText": "外部塗装色 色1" }, + { "ColumnName": "Class061", "LabelText": "外部塗装色 部位2", "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class062", "LabelText": "外部塗装色 色2" }, + { "ColumnName": "Class063", "LabelText": "外部塗装色 部位3", "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class064", "LabelText": "外部塗装色 色3" }, + { "ColumnName": "Class065", "LabelText": "内部塗装色 部位1", "ChoicesText": "床\n壁\n天井\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class066", "LabelText": "内部塗装色 色1" }, + { "ColumnName": "Class067", "LabelText": "内部塗装色 部位2", "ChoicesText": "床\n壁\n天井\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class068", "LabelText": "内部塗装色 色2" }, + { "ColumnName": "Class069", "LabelText": "内部塗装色 部位3", "ChoicesText": "床\n壁\n天井\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class070", "LabelText": "内部塗装色 色3" }, + { "ColumnName": "Class071", "LabelText": "家族名1(姓)" }, + { "ColumnName": "Class072", "LabelText": "家族名1(名)" }, + { "ColumnName": "Class073", "LabelText": "家族名かな1(姓)" }, + { "ColumnName": "Class074", "LabelText": "家族名かな1(名)" }, + { "ColumnName": "Class075", "LabelText": "家族電話番号1" }, + { "ColumnName": "Class076", "LabelText": "家族携帯メール1" }, + { "ColumnName": "Class077", "LabelText": "家族PCメール1" }, + { "ColumnName": "Description003", "LabelText": "家族備考1" }, + { "ColumnName": "Class078", "LabelText": "家族名2(姓)" }, + { "ColumnName": "Class079", "LabelText": "家族名2(名)" }, + { "ColumnName": "Class080", "LabelText": "家族名かな2(姓)" }, + { "ColumnName": "Class081", "LabelText": "家族名かな2(名)" }, + { "ColumnName": "Class082", "LabelText": "家族電話番号2" }, + { "ColumnName": "Class083", "LabelText": "家族携帯メール2" }, + { "ColumnName": "Class084", "LabelText": "家族PCメール2" }, + { "ColumnName": "Description004", "LabelText": "家族備考2" }, + { "ColumnName": "Class085", "LabelText": "家族名3(姓)" }, + { "ColumnName": "Class086", "LabelText": "家族名3(名)" }, + { "ColumnName": "Class087", "LabelText": "家族名かな3(姓)" }, + { "ColumnName": "Class088", "LabelText": "家族名かな3(名)" }, + { "ColumnName": "Class089", "LabelText": "家族電話番号3" }, + { "ColumnName": "Class090", "LabelText": "家族携帯メール3" }, + { "ColumnName": "Class091", "LabelText": "家族PCメール3" }, + { "ColumnName": "Description005", "LabelText": "家族備考3" }, + { "ColumnName": "Class092", "LabelText": "家族名4(姓)" }, + { "ColumnName": "Class093", "LabelText": "家族名4(名)" }, + { "ColumnName": "Class094", "LabelText": "家族名かな4(姓)" }, + { "ColumnName": "Class095", "LabelText": "家族名かな4(名)" }, + { "ColumnName": "Class096", "LabelText": "家族電話番号4" }, + { "ColumnName": "Class097", "LabelText": "家族携帯メール4" }, + { "ColumnName": "Class098", "LabelText": "家族PCメール4" }, + { "ColumnName": "Description006", "LabelText": "家族備考4" }, + { "ColumnName": "Class099", "LabelText": "家族名5(姓)" }, + { "ColumnName": "Class100", "LabelText": "家族名5(名)" }, + { "ColumnName": "Class101", "LabelText": "家族名かな5(姓)" }, + { "ColumnName": "Class102", "LabelText": "家族名かな5(名)" }, + { "ColumnName": "Class103", "LabelText": "家族電話番号5" }, + { "ColumnName": "Class104", "LabelText": "家族携帯メール5" }, + { "ColumnName": "Class105", "LabelText": "家族PCメール5" }, + { "ColumnName": "Description007", "LabelText": "家族備考5" }, + { "ColumnName": "Class106", "LabelText": "保証種別1", "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class107", "LabelText": "保険契約者の氏名または名称等1" }, + { "ColumnName": "Date010", "LabelText": "加入日1(保険始期の必要有り)" }, + { "ColumnName": "Date011", "LabelText": "満了日1" }, + { "ColumnName": "Class108", "LabelText": "保険証券番号等1" }, + { "ColumnName": "Num014", "LabelText": "保険金の額(補償金額)等1", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class109", "LabelText": "提供会社等1" }, + { "ColumnName": "Description008", "LabelText": "備考1" }, + { "ColumnName": "Class110", "LabelText": "保証種別2", "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class111", "LabelText": "保険契約者の氏名または名称等2" }, + { "ColumnName": "Date012", "LabelText": "加入日2(保険始期の必要有り)" }, + { "ColumnName": "Date013", "LabelText": "満了日2" }, + { "ColumnName": "Class112", "LabelText": "保険証券番号等2" }, + { "ColumnName": "Num015", "LabelText": "保険金の額(補償金額)等2", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class113", "LabelText": "提供会社等2" }, + { "ColumnName": "Description009", "LabelText": "備考2" }, + { "ColumnName": "Class114", "LabelText": "保証種別3", "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", "SearchType": "PartialMatch" }, + { "ColumnName": "Class115", "LabelText": "保険契約者の氏名または名称等3" }, + { "ColumnName": "Date014", "LabelText": "加入日3(保険始期の必要有り)" }, + { "ColumnName": "Date015", "LabelText": "満了日3" }, + { "ColumnName": "Class116", "LabelText": "保険証券番号等3" }, + { "ColumnName": "Num016", "LabelText": "保険金の額(補償金額)等3", "DecimalPlaces": 2, "TextAlign": 20 }, + { "ColumnName": "Class117", "LabelText": "提供会社等3" }, + { "ColumnName": "Description010", "LabelText": "備考3" }, + { "ColumnName": "Class118", "LabelText": "担当支店" }, + { "ColumnName": "Class119", "LabelText": "担当者ID1" }, + { "ColumnName": "Class120", "LabelText": "担当者ID2" }, + { "ColumnName": "Class121", "LabelText": "担当者ID3" }, + { "ColumnName": "Class122", "LabelText": "担当者ID4" }, + { "ColumnName": "Class123", "LabelText": "担当者ID5" }, + { "ColumnName": "Class124", "LabelText": "担当者ID6" }, + { "ColumnName": "Class125", "LabelText": "担当者ID7" } + ] + } + }, + "done": function (data) { + console.log(data); + }, + "fail": function (data) { + console.log(data); + } + }); +} +updateSite(); + diff --git a/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル2.js b/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル2.js new file mode 100644 index 00000000..5fa2d63d --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/物件情報テーブル2.js @@ -0,0 +1,1398 @@ +function updateSite() { + $p.apiUpdateSite({ + "id": "397526", + "data": { + "SiteId": "397526", + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "ClassA", + "Title", + "Class007", + "Class013", + "Class014", + "Class028", + "Date005", + "Date006", + "Date007", + "Date008", + "Description001", + "Description002", + "UpdatedTime" + ], + "FilterColumns": [ + "Title", + "Class013", + "Class007", + "Date005", + "Date006", + "Date007", + "Date008" + ], + "EditorColumnHash": { + "General": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-1", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "_Section-2", + "Class022", + "Num001", + "Num002", + "Class023", + "Class024", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Class025", + "Num008", + "Num009", + "Num010", + "Class026", + "Class027", + "Class028", + "Class029", + "Class030", + "Description001", + "Description002", + "_Section-3", + "Date001", + "Date002", + "Date003", + "Date004", + "Date005", + "Date006", + "Date007", + "Date008", + "Date009", + "Num011", + "_Section-4", + "Num012", + "Num013", + "Class031", + "Class032", + "Class033", + "Class034", + "Class035", + "Class036", + "Class037", + "Class038", + "_Section-5", + "Class039", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "_Section-6", + "Class059", + "Class060", + "Class061", + "Class062", + "Class063", + "Class064", + "Class065", + "Class066", + "Class067", + "Class068", + "Class069", + "Class070", + "_Section-9", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125", + "Title", + "Comments" + ], + "_Tab-1": [ + "Class071", + "Class072", + "Class073", + "Class074", + "Class075", + "Class076", + "Class077", + "Description003", + "Class078", + "Class079", + "Class080", + "Class081", + "Class082", + "Class083", + "Class084", + "Description004", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Description005", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Description006", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Description007" + ], + "_Tab-2": [ + "Class106", + "Class107", + "Class108", + "Class109", + "Num014", + "Date010", + "Date011", + "Description008", + "Class110", + "Class111", + "Class112", + "Class113", + "Num015", + "Date012", + "Date013", + "Description009", + "Class114", + "Class115", + "Class116", + "Class117", + "Num016", + "Date014", + "Date015", + "Description010" + ], + "_Tab-3": [ + "ClassZ", + "_Links-397527" + ] + }, + "TabLatestId": 3, + "Tabs": [ + { + "LabelText": "家族情報", + "Id": 1, + }, + { + "LabelText": "保証情報", + "Id": 2, + }, + { + "LabelText": "案件情報", + "Id": 3, + } + ], + "Sections": [ + { + "Id": 1, + "LabelText": "", + "AllowExpand": false, + "Expand": true, + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": false, + "Expand": true, + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": false, + "Expand": true, + }, + { + "Id": 4, + "LabelText": "", + "AllowExpand": false, + "Expand": true, + }, + { + "Id": 5, + "LabelText": "フラグ", + "AllowExpand": false, + "Expand": false, + }, + { + "Id": 6, + "LabelText": "塗装色", + "AllowExpand": true, + "Expand": false, + }, + { + "Id": 9, + "LabelText": "担当", + "AllowExpand": false, + "Expand": false, + } + ], + "TitleColumns": [ + "Class008" + ], + "LinkColumns": [ + "Title", + "Class013", + "Class014", + "Class028", + "Date005", + "Date006", + "Date007", + "Date008", + "Description001", + "Description002" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class001", + "LabelText": "施主名(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class002", + "LabelText": "施主名(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class003", + "LabelText": "施主名かな(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class004", + "LabelText": "施主名かな(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class005", + "LabelText": "建築地電話番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class006", + "LabelText": "建築地携帯電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class007", + "LabelText": "戸建/共同住宅区分", + "GridLabelText": "区分", + "ChoicesText": "戸建\n共同住宅", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class008", + "LabelText": "住宅名(物件名)(区画番号)など", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class009", + "LabelText": "共同住宅名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class010", + "LabelText": "部屋番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class011", + "LabelText": "組合管理物件", + "EditorReadOnly": true + }, + { + "ColumnName": "Class012", + "LabelText": "建築地郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class013", + "LabelText": "建築地都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class014", + "LabelText": "建築地市区町村番地", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class015", + "LabelText": "現住所郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class016", + "LabelText": "現住所都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class017", + "LabelText": "現住所市区町村番地", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class018", + "LabelText": "現住所電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class019", + "LabelText": "書類送付先郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class020", + "LabelText": "書類送付先予備都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class021", + "LabelText": "書類送付先市区町村番地", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class022", + "LabelText": "用途", + "EditorReadOnly": true + }, + { + "ColumnName": "Num001", + "LabelText": "地上階数", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num002", + "LabelText": "地下階数", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class023", + "LabelText": "基礎仕様", + "ChoicesText": "べた基礎\n布基礎\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class024", + "LabelText": "その他基礎仕様名称", + "ChoicesText": "べた基礎\n布基礎\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num003", + "LabelText": "土地面積", + "ChoicesText": "べた基礎\n布基礎\nその他", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num004", + "LabelText": "建築面積", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num005", + "LabelText": "延べ床面積", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num006", + "LabelText": "床面積詳細1階", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num007", + "LabelText": "床面積詳細2階", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class025", + "LabelText": "床面積詳細その他階名称", + "EditorReadOnly": true + }, + { + "ColumnName": "Num008", + "LabelText": "床面積詳細その他階", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num009", + "LabelText": "当初販売価格", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num010", + "LabelText": "土地仕入価格", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class026", + "LabelText": "要注意", + "EditorReadOnly": true + }, + { + "ColumnName": "Class027", + "LabelText": "サポートデスクの登録あり", + "EditorReadOnly": true + }, + { + "ColumnName": "Class028", + "LabelText": "管理ID", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class029", + "LabelText": "予備ID", + "EditorReadOnly": true + }, + { + "ColumnName": "Description001", + "LabelText": "備考", + "EditorReadOnly": true, + "AllowImage": false + }, + { + "ColumnName": "Description002", + "LabelText": "現場メモ", + "EditorReadOnly": true, + "AllowImage": false + }, + { + "ColumnName": "Class030", + "LabelText": "顧客システムID", + "EditorReadOnly": true + }, + { + "ColumnName": "Date001", + "LabelText": "契約予定日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date002", + "LabelText": "着工予定日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date003", + "LabelText": "竣工予定日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date004", + "LabelText": "引渡予定日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date005", + "LabelText": "契約日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date006", + "LabelText": "着工日(確認申請が下りた日)", + "GridLabelText": "着工日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date007", + "LabelText": "竣工日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date008", + "LabelText": "引渡日", + "EditorReadOnly": true + }, + { + "ColumnName": "Date009", + "LabelText": "基準日", + "EditorReadOnly": true + }, + { + "ColumnName": "Num011", + "LabelText": "請負金額", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num012", + "LabelText": "建蔽率", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num013", + "LabelText": "容積率", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class031", + "LabelText": "工法", + "ChoicesText": "木造軸組\n2×4\n木質プレハブ\n鉄骨プレハブ\nコンクリートプレハブ\n鉄骨\nRC\nスチールハウス\nログハウス\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class032", + "LabelText": "その他工法名称", + "EditorReadOnly": true + }, + { + "ColumnName": "Class033", + "LabelText": "用途地域", + "EditorReadOnly": true + }, + { + "ColumnName": "Class034", + "LabelText": "シリーズ名", + "EditorReadOnly": true + }, + { + "ColumnName": "Class035", + "LabelText": "モデル名", + "EditorReadOnly": true + }, + { + "ColumnName": "Class036", + "LabelText": "施工会社", + "EditorReadOnly": true + }, + { + "ColumnName": "Class037", + "LabelText": "給湯器メーカー", + "EditorReadOnly": true + }, + { + "ColumnName": "Class038", + "LabelText": "給湯器型式", + "EditorReadOnly": true + }, + { + "ColumnName": "Class039", + "LabelText": "フラグ1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class040", + "LabelText": "フラグ2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class041", + "LabelText": "フラグ3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class042", + "LabelText": "フラグ4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class043", + "LabelText": "フラグ5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ6", + "EditorReadOnly": true + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ7", + "EditorReadOnly": true + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ8", + "EditorReadOnly": true + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ9", + "EditorReadOnly": true + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ10", + "EditorReadOnly": true + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ11", + "EditorReadOnly": true + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ12", + "EditorReadOnly": true + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ13", + "EditorReadOnly": true + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ14", + "EditorReadOnly": true + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ15", + "EditorReadOnly": true + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ16", + "EditorReadOnly": true + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ17", + "EditorReadOnly": true + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ18", + "EditorReadOnly": true + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ19", + "EditorReadOnly": true + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ20", + "EditorReadOnly": true + }, + { + "ColumnName": "Class059", + "LabelText": "外部塗装色 部位1", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class060", + "LabelText": "外部塗装色 色1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class061", + "LabelText": "外部塗装色 部位2", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class062", + "LabelText": "外部塗装色 色2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class063", + "LabelText": "外部塗装色 部位3", + "ChoicesText": "本体\n破風\n軒天\n幕板\nデッキ\nベランダ\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class064", + "LabelText": "外部塗装色 色3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class065", + "LabelText": "内部塗装色 部位1", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class066", + "LabelText": "内部塗装色 色1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class067", + "LabelText": "内部塗装色 部位2", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class068", + "LabelText": "内部塗装色 色2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class069", + "LabelText": "内部塗装色 部位3", + "ChoicesText": "床\n壁\n天井\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class070", + "LabelText": "内部塗装色 色3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class071", + "LabelText": "家族名1(姓)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class072", + "LabelText": "家族名1(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class073", + "LabelText": "家族名かな1(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class074", + "LabelText": "家族名かな1(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class075", + "LabelText": "家族電話番号1", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class076", + "LabelText": "家族携帯メール1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class077", + "LabelText": "家族PCメール1", + "EditorReadOnly": true + }, + { + "ColumnName": "Description003", + "LabelText": "家族備考1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class078", + "LabelText": "家族名2(姓)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class079", + "LabelText": "家族名2(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class080", + "LabelText": "家族名かな2(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class081", + "LabelText": "家族名かな2(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class082", + "LabelText": "家族電話番号2", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class083", + "LabelText": "家族携帯メール2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class084", + "LabelText": "家族PCメール2", + "EditorReadOnly": true + }, + { + "ColumnName": "Description004", + "LabelText": "家族備考2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class085", + "LabelText": "家族名3(姓)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class086", + "LabelText": "家族名3(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class087", + "LabelText": "家族名かな3(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class088", + "LabelText": "家族名かな3(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class089", + "LabelText": "家族電話番号3", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class090", + "LabelText": "家族携帯メール3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class091", + "LabelText": "家族PCメール3", + "EditorReadOnly": true + }, + { + "ColumnName": "Description005", + "LabelText": "家族備考3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class092", + "LabelText": "家族名4(姓)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class093", + "LabelText": "家族名4(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class094", + "LabelText": "家族名かな4(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class095", + "LabelText": "家族名かな4(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class096", + "LabelText": "家族電話番号4", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class097", + "LabelText": "家族携帯メール4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class098", + "LabelText": "家族PCメール4", + "EditorReadOnly": true + }, + { + "ColumnName": "Description006", + "LabelText": "家族備考4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class099", + "LabelText": "家族名5(姓)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class100", + "LabelText": "家族名5(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class101", + "LabelText": "家族名かな5(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class102", + "LabelText": "家族名かな5(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class103", + "LabelText": "家族電話番号5", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class104", + "LabelText": "家族携帯メール5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class105", + "LabelText": "家族PCメール5", + "EditorReadOnly": true + }, + { + "ColumnName": "Description007", + "LabelText": "家族備考5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class106", + "LabelText": "保証種別1", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class107", + "LabelText": "保険契約者の氏名または名称等1", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Date010", + "LabelText": "加入日1(保険始期の必要有り)", + "EditorReadOnly": true + }, + { + "ColumnName": "Date011", + "LabelText": "満了日1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class108", + "LabelText": "保険証券番号等1", + "EditorReadOnly": true + }, + { + "ColumnName": "Num014", + "LabelText": "保険金の額(補償金額)等1", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class109", + "LabelText": "提供会社等1", + "EditorReadOnly": true + }, + { + "ColumnName": "Description008", + "LabelText": "備考1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class110", + "LabelText": "保証種別2", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class111", + "LabelText": "保険契約者の氏名または名称等2", + "NoWrap": true, + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Date012", + "LabelText": "加入日2(保険始期の必要有り)", + "EditorReadOnly": true + }, + { + "ColumnName": "Date013", + "LabelText": "満了日2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class112", + "LabelText": "保険証券番号等2", + "EditorReadOnly": true + }, + { + "ColumnName": "Num015", + "LabelText": "保険金の額(補償金額)等2", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class113", + "LabelText": "提供会社等2", + "EditorReadOnly": true + }, + { + "ColumnName": "Description009", + "LabelText": "備考2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class114", + "LabelText": "保証種別3", + "ChoicesText": "新築かし保険\nリフォームワイド(更新保険)\n一般リフォームかし保険\nリフォームライト\n既存住宅かし保険(宅建業者販売)\n既存住宅かし保険(個人間売買)\n引渡前リフォーム型既存住宅かし保険(宅建業者販売)\n引渡前リフォーム型既存住宅かし保険(個人間売買)\n引渡後リフォーム型既存住宅かし保険(個人間売買)\n増築保険\n延長保証保険\n火災保険\n地震保険\nサポートデスク\n設備保証\nメンテ保証\nシロアリ保証\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class115", + "LabelText": "保険契約者の氏名または名称等3", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Date014", + "LabelText": "加入日3(保険始期の必要有り)", + "EditorReadOnly": true + }, + { + "ColumnName": "Date015", + "LabelText": "満了日3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class116", + "LabelText": "保険証券番号等3", + "EditorReadOnly": true + }, + { + "ColumnName": "Num016", + "LabelText": "保険金の額(補償金額)等3", + "DecimalPlaces": 2, + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class117", + "LabelText": "提供会社等3", + "EditorReadOnly": true + }, + { + "ColumnName": "Description010", + "LabelText": "備考3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class118", + "LabelText": "担当支店", + "EditorReadOnly": true + }, + { + "ColumnName": "Class119", + "LabelText": "担当者ID1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class120", + "LabelText": "担当者ID2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class121", + "LabelText": "担当者ID3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class122", + "LabelText": "担当者ID4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class123", + "LabelText": "担当者ID5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class124", + "LabelText": "担当者ID6", + "EditorReadOnly": true + }, + { + "ColumnName": "Class125", + "LabelText": "担当者ID7", + "EditorReadOnly": true + }, + { + "ColumnName": "Title", + "LabelText": "物件名", + "EditorReadOnly": true + }, + { + "ColumnName": "ClassZ", + "Hide": true, + } + ], + "Aggregations": [ + { + "Id": 1, + "GroupBy": "Class013", + "Type": 0, + "Target": "", + } + ], + "ViewLatestId": 5, + "Views": [ + { + "Id": 1, + "Name": "東京エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"埼玉県\",\"東京都\",\"神奈川県\",\"山梨県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "ApiDataType": 0, + }, + { + "Id": 2, + "Name": "愛知エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"岐阜県\",\"愛知県\",\"三重県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0, + }, + { + "Id": 3, + "Name": "千葉エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"千葉県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0, + }, + { + "Id": 4, + "Name": "静岡エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"静岡県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0, + }, + { + "Id": 5, + "Name": "熊本エリア", + "DefaultMode": "Index", + "ColumnFilterHash": { + "Class013": "[\"熊本県\"]" + }, + "ColumnSorterHash": { + "Date008": "desc" + }, + "ApiColumnKeyDisplayType": 0, + "ApiColumnValueDisplayType": 0, + "CalendarSiteId": 0, + "CalendarTimePeriod": "Monthly", + "CalendarFromTo": "DateA", + "CrosstabGroupByX": "Class007", + "CrosstabGroupByY": "Class007", + "CrosstabAggregateType": "Total", + "CrosstabValue": "Num005", + "CrosstabTimePeriod": "Monthly", + "KambanAggregateType": "Count", + "ApiDataType": 0, + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1, + } + ], + "Scripts": [ + { + "Title": "01_メインスクリプト", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n//----------------------------------------------------------------------\n$p.ex.init = function () {\n\n $('button[data-to-site-id=\"397527\"]').hide();\n $('#EditorComments').empty();\n //リンク作成ボタンの追加\n //$p.createAnkenButton();\n $p.createAnkenLinkButton();\n $p.createBukkenButton();\n $p.createTekenCheckButton();\n}\n\n$p.createAnkenButton = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenButton';\n button.innerHTML = \"助っ人クラウド 案件編集\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_AnkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n\n}\n\n$p.createAnkenLinkButton = function () {\n let button = document.createElement(\"button\");\n button.id = 'HPC_AnkenLinkButton';\n button.innerHTML = \"案件一覧更新\";\n button.setAttribute('onclick', '$p.ex.subjectListLink();');\n button.style.margin = '5px';\n $('#Results_ClassZField').after(button);\n $('#HPC_AnkenLinkButton').button({\n icon: 'ui-icon-document'\n });\n}\n\n$p.createBukkenButton = function () {\n let bukkenId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/Properties/detail?prid=\" + bukkenId;\n\n let button = document.createElement(\"button\");\n button.id = 'HPC_BukkenButton';\n button.innerHTML = \"助っ人クラウド 物件情報\";\n button.setAttribute('onclick', 'window.open(\"' + url + '\", \\'_blank\\');');\n button.style.margin = '5px';\n $('#EditorComments').append(button);\n $('#HPC_BukkenButton').button({\n icon: 'ui-icon-document'\n });\n $('#EditorComments').append('
');\n $('#EditorComments').append('
');\n}\n\n$p.createTekenCheckButton = function () {\n let monthList = [2, 6, 12, 24, 60, 120];\n\n monthList.forEach(function (month) {\n let button1 = document.createElement(\"button\");\n button1.id = 'HPC_TekenCheckButton1_' + month;\n if (month >= 12) {\n button1.innerHTML = month / 12 + \"年点検確認\";\n } else {\n button1.innerHTML = month + \"ヶ月点検確認\";\n }\n button1.setAttribute('onclick', '$p.ex.openTekenCheckPage(' + month + ');');\n button1.style.margin = '5px';\n $('#EditorComments').append(button1);\n $('#HPC_TekenCheckButton1_' + month).button({\n icon: 'ui-icon-document'\n });\n\n $('#EditorComments').append('
');\n });\n}\n\n$p.ex.openTekenCheckPage = function (month) {\n let bukkenId = $('#Results_Class001').val();\n let url = \"https://hp-core.net/CheckSheets/edit?prid=\" + bukkenId + \"&timeIdx=\" + month;\n window.open(url, '_blank');\n}\n\n$p.ex.openHPCpage = function () {\n let subjectId = $('#Results_ClassA').val();\n let url = \"https://hp-core.net/WorkLogs/edit?wlid=\" + subjectId;\n window.open(url, '_blank');\n}", + "Id": 1, + }, + { + "Title": "02_案件情報リンク", + "Edit": true, + "Body": "//案件情報テーブルの対象のテーブルを更新する\n$p.ex.subjectListLink = async function () {\n let bukkenId = $('#Results_ClassA').val();\n let recordId = $p.id();\n\n //案件情報テーブルからレコードを取得\n const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/397527/get';\n const getJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'View': {\n 'ColumnFilterHash': {\n 'Class001': bukkenId,\n 'ClassZ': ''\n }\n }\n }\n const getRes = await fetch(getUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(getJson)\n });\n const getResData = await getRes.json();\n console.log(getResData);\n\n if (getResData.StatusCode != '200' || getResData.Response.TotalCount == 0) {\n console.log('案件情報レコードが取得できませんでした。');\n $p.ex.setMyMessage('new-status-red', '案件情報が取得できませんでした。');\n return;\n }\n\n //取得したレコード一覧\n let resultList = getResData.Response.Data;\n\n //案件情報テーブル 一括更新\n for (i = 0; i < resultList.length; i++) {\n let resultId = resultList[i].ResultId;\n const updateUrl = 'https://' + location.hostname + '/pleasanter/api/items/' + resultId + '/update';\n const updateJson = {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n 'ClassHash': {\n 'ClassZ': recordId\n }\n };\n const updateRes = await fetch(updateUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(updateJson)\n });\n const updateResData = await updateRes.json();\n console.log(updateResData);\n }\n\n setTimeout(() => {\n document.getElementById('UpdateCommand').click();\n }, 1000);\n\n}\n\n//メッセージ追加表示\n$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) {\n //クリアが指定されていたら事前にメッセージ消去\n clear && $p.clearMessage();\n\n $p.setMessage('#Message', JSON.stringify({\n Css: 'alert-success ' + cssColor,\n Text: message\n }));\n\n}\n", + "Id": 2, + + } + ], + "NoDisplayIfReadOnly": false, + + }, + }, + "done": function (data) { + console.log(data); + }, + "fail": function (data) { + console.log(data); + } + }); +} +updateSite(); + diff --git a/pleasanter/develop/#助っ人クラウド連携/読みより専用css.css b/pleasanter/develop/#助っ人クラウド連携/読みより専用css.css new file mode 100644 index 00000000..d6ba53ac --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/読みより専用css.css @@ -0,0 +1,12 @@ +/* +すべてのテキスト項目、ドロップダウン項目を入力不可にする? + +*/ + +.field-normal { + pointer-events: none; +} + +.ui-icon.ui-icon-clock.current-time { + display: none; +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/顧客情報_2025_12_06 15_20_39.json b/pleasanter/develop/#助っ人クラウド連携/顧客情報_2025_12_06 15_20_39.json new file mode 100644 index 00000000..56e4e3ae --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/顧客情報_2025_12_06 15_20_39.json @@ -0,0 +1,1263 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 397528, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-06T15:20:39.8519219+09:00", + "Convertors": [ + { + "SiteId": 397528, + "SiteTitle": "顧客情報", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 397528, + "Title": "顧客情報", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 320332, + "InheritPermission": 320332, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class014", + "Class015", + "UpdatedTime" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "_Section-1", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "Class022", + "Class023", + "Class024", + "Date001", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "Class030", + "Date002", + "Num001", + "_Section-2", + "Class031", + "Class032", + "Date003", + "Class033", + "Class034", + "Num002", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Class035", + "Class036", + "Class037", + "Class038", + "Class039", + "Num008", + "_Section-3", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Description001", + "Class060", + "Date004", + "Class061", + "Class062", + "Class063", + "Num009", + "Class064", + "Class065", + "Num010", + "Description002", + "Description003", + "Class066", + "Num011", + "Num012", + "Class067", + "Class068", + "Num013", + "Class069", + "Class070", + "Class071", + "Class072", + "Class073", + "Class074", + "Num014", + "Num015", + "Num016", + "Num017", + "Num018", + "Class075", + "Class076", + "Class077", + "Class078", + "Num019", + "Class079", + "Class080", + "_Section-4", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Class106", + "Class107", + "Class108", + "Class109", + "Class110", + "Class111", + "Class112", + "Class113", + "Class114", + "Class115", + "Class116", + "Class117", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125", + "Class126", + "Class127", + "Class128", + "Class129", + "Class130", + "Class131", + "Class132", + "Class133", + "Class134", + "Class135", + "Class136", + "Class137", + "Class138", + "Class139", + "Class140", + "Class141", + "Class142", + "Class143", + "Description004", + "Description005", + "Description006", + "_Section-5", + "Date005", + "Class144", + "Class145", + "Class146", + "Date006", + "Class147", + "Description007", + "Class148", + "Class149", + "Date007", + "Class150", + "Description008", + "Num020", + "Num021", + "Num022", + "_Section-6", + "Class151", + "Class152", + "Class153", + "Class154", + "Class155", + "Comments" + ] + }, + "SectionLatestId": 6, + "Sections": [ + { + "Id": 1, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true + }, + { + "ColumnName": "Class001", + "LabelText": "管理ID" + }, + { + "ColumnName": "Class002", + "LabelText": "顧客名(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class003", + "LabelText": "顧客名(名)" + }, + { + "ColumnName": "Class004", + "LabelText": "顧客名カナ(姓)", + "NoWrap": true + }, + { + "ColumnName": "Class005", + "LabelText": "顧客名カナ(名)" + }, + { + "ColumnName": "Class006", + "LabelText": "電話番号", + "NoWrap": true + }, + { + "ColumnName": "Class007", + "LabelText": "FAX番号" + }, + { + "ColumnName": "Class008", + "LabelText": "携帯電話番号" + }, + { + "ColumnName": "Class009", + "LabelText": "携帯電話所有者" + }, + { + "ColumnName": "Class010", + "LabelText": "メールアドレス", + "NoWrap": true, + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class011", + "LabelText": "携帯メールアドレス", + "NoWrap": true, + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "現住所電話番号" + }, + { + "ColumnName": "Class013", + "LabelText": "現住所郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class014", + "LabelText": "現住所都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class015", + "LabelText": "現住所1", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "現住所2", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "現住所地番・住居表示", + "ChoicesText": "地番\n住居表示", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class018", + "LabelText": "書類送付先電話番号", + "NoWrap": true + }, + { + "ColumnName": "Class019", + "LabelText": "書類送付先郵便番号", + "NoWrap": true + }, + { + "ColumnName": "Class020", + "LabelText": "書類送付先都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class021", + "LabelText": "書類送付先住所1", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "書類送付先住所2", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "書類送付先地番・住居表示", + "ChoicesText": "地番\n住居表示", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class024", + "LabelText": "顧客属性" + }, + { + "ColumnName": "Date001", + "LabelText": "直近接触日" + }, + { + "ColumnName": "Class025", + "LabelText": "勤務先職業", + "ChoicesText": "営業\n企画・マーケティング\n事務\nサービス・販売・運輸\nクリエイティブ職\n技術(IT・通信)\n技術(電気・電子・機械・自動車)\n技術(科学・食品・医療・福祉)\n技術(建築・土木)\n専門(コンサルタント・金融・不動産・流通)\n専門(その他)\n農林水産業関連\n教職・公務員・団体職員\n会社役員\n定年退職者\n学生・フリーター\n主婦\n無職\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class026", + "LabelText": "勤務先会社名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "勤務先部署名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "勤務先役職" + }, + { + "ColumnName": "Class029", + "LabelText": "勤務先電話番号" + }, + { + "ColumnName": "Class030", + "LabelText": "性別", + "ChoicesText": "男性\n女性\n未設定", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date002", + "LabelText": "生年月日", + "ChoicesText": "女性" + }, + { + "ColumnName": "Num001", + "LabelText": "同居人数", + "ChoicesText": "未設定", + "TextAlign": 20 + }, + { + "ColumnName": "Class031", + "LabelText": "喪中", + "ChoicesText": "喪中", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class032", + "LabelText": "関心のあるカテゴリ", + "ChoicesText": "リフォーム\nインテリア\nガーデニング・DIY\n省エネ\nマルチハビテーション\n旅行\nアウトドア\nスポーツ\n車\n音楽・映画・本\nマネー\n育児・教育\n防災\n介護\nペット", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date003", + "LabelText": "記念日" + }, + { + "ColumnName": "Class033", + "LabelText": "記念日の種類", + "ChoicesText": "誕生日\n結婚記念日\n出産記念日\n竣工記念日\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class034", + "LabelText": "管理用顧客ランク", + "ChoicesText": "S\nA\nB\nC\nD", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num002", + "LabelText": "顧客紹介実績回数(変更不可)", + "ChoicesText": "出産記念日", + "TextAlign": 20 + }, + { + "ColumnName": "Num003", + "LabelText": "HPC外顧客紹介実績回数", + "ChoicesText": "竣工記念日", + "TextAlign": 20 + }, + { + "ColumnName": "Num004", + "LabelText": "HPC内顧客紹介実績回数(変更不可)", + "ChoicesText": "その他", + "TextAlign": 20 + }, + { + "ColumnName": "Num005", + "LabelText": "内成約数", + "TextAlign": 20 + }, + { + "ColumnName": "Num006", + "LabelText": "販促実施回数", + "TextAlign": 20 + }, + { + "ColumnName": "Num007", + "LabelText": "販促達成回数", + "TextAlign": 20 + }, + { + "ColumnName": "Class035", + "LabelText": "メールマガジン種別", + "ChoicesText": "HTMLメール\nテキストメール\n希望しない", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class036", + "LabelText": "DM送付", + "ChoicesText": "DM送付", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class037", + "LabelText": "紹介者(インポート不可)" + }, + { + "ColumnName": "Class038", + "LabelText": "自家用車", + "ChoicesText": "自家用車", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class039", + "LabelText": "ペット", + "ChoicesText": "ペット", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num008", + "LabelText": "住宅所有割合", + "TextAlign": 20 + }, + { + "ColumnName": "Class040", + "LabelText": "フラグ1", + "NoWrap": true + }, + { + "ColumnName": "Class041", + "LabelText": "フラグ2" + }, + { + "ColumnName": "Class042", + "LabelText": "フラグ3" + }, + { + "ColumnName": "Class043", + "LabelText": "フラグ4" + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ5" + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ6" + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ7" + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ8" + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ9" + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ10" + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ11" + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ12" + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ13" + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ14" + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ15" + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ16" + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ17" + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ18" + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ19" + }, + { + "ColumnName": "Class059", + "LabelText": "フラグ20" + }, + { + "ColumnName": "Description001", + "LabelText": "顧客基本情報備考", + "NoWrap": true + }, + { + "ColumnName": "Class060", + "LabelText": "抹消フラグ", + "ChoicesText": "抹消", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date004", + "LabelText": "抹消日" + }, + { + "ColumnName": "Class061", + "LabelText": "抹消理由" + }, + { + "ColumnName": "Class062", + "LabelText": "現住居種別", + "ChoicesText": "賃貸社宅(借り上げ)\n分譲マンション\n分譲戸建て\n実家\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class063", + "LabelText": "その他" + }, + { + "ColumnName": "Num009", + "LabelText": "現住居家賃", + "TextAlign": 20 + }, + { + "ColumnName": "Class064", + "LabelText": "売却住居の有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class065", + "LabelText": "残債有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num010", + "LabelText": "残債金額", + "TextAlign": 20 + }, + { + "ColumnName": "Description002", + "LabelText": "現住居不満" + }, + { + "ColumnName": "Description003", + "LabelText": "気に入っているところ" + }, + { + "ColumnName": "Class066", + "LabelText": "間取り" + }, + { + "ColumnName": "Num011", + "LabelText": "車所有台数", + "TextAlign": 20 + }, + { + "ColumnName": "Num012", + "LabelText": "現駐車場料金", + "TextAlign": 20 + }, + { + "ColumnName": "Class067", + "LabelText": "希望地域" + }, + { + "ColumnName": "Class068", + "LabelText": "希望沿線" + }, + { + "ColumnName": "Num013", + "LabelText": "希望立地駅徒歩(分)", + "TextAlign": 20 + }, + { + "ColumnName": "Class069", + "LabelText": "希望立地バス便", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class070", + "LabelText": "希望立地その他" + }, + { + "ColumnName": "Class071", + "LabelText": "希望広さ土地" + }, + { + "ColumnName": "Class072", + "LabelText": "希望広さ建物" + }, + { + "ColumnName": "Class073", + "LabelText": "希望間取り" + }, + { + "ColumnName": "Class074", + "LabelText": "計画時期" + }, + { + "ColumnName": "Num014", + "LabelText": "駐車場必要台数", + "TextAlign": 20 + }, + { + "ColumnName": "Num015", + "LabelText": "施主収入", + "TextAlign": 20 + }, + { + "ColumnName": "Num016", + "LabelText": "合算者収入", + "TextAlign": 20 + }, + { + "ColumnName": "Num017", + "LabelText": "予算", + "TextAlign": 20 + }, + { + "ColumnName": "Num018", + "LabelText": "自己資金", + "TextAlign": 20 + }, + { + "ColumnName": "Class075", + "LabelText": "最終意思決定権者" + }, + { + "ColumnName": "Class076", + "LabelText": "他社検討先" + }, + { + "ColumnName": "Class077", + "LabelText": "紹介者/親顧客" + }, + { + "ColumnName": "Class078", + "LabelText": "親援助有", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Num019", + "LabelText": "親援助金額", + "TextAlign": 20 + }, + { + "ColumnName": "Class079", + "LabelText": "施主実家(親)所在地" + }, + { + "ColumnName": "Class080", + "LabelText": "奥様実家(親)所在地" + }, + { + "ColumnName": "Class081", + "LabelText": "来場のきっかけ1", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class082", + "LabelText": "来場のきっかけ1-1" + }, + { + "ColumnName": "Class083", + "LabelText": "来場のきっかけ1-2" + }, + { + "ColumnName": "Class084", + "LabelText": "来場のきっかけ1-3" + }, + { + "ColumnName": "Class085", + "LabelText": "来場のきっかけ1-4" + }, + { + "ColumnName": "Class086", + "LabelText": "来場のきっかけ2", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class087", + "LabelText": "来場のきっかけ2-1" + }, + { + "ColumnName": "Class088", + "LabelText": "来場のきっかけ2-2" + }, + { + "ColumnName": "Class089", + "LabelText": "来場のきっかけ2-3" + }, + { + "ColumnName": "Class090", + "LabelText": "来場のきっかけ2-4" + }, + { + "ColumnName": "Class091", + "LabelText": "来場のきっかけ3", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class092", + "LabelText": "来場のきっかけ3-1" + }, + { + "ColumnName": "Class093", + "LabelText": "来場のきっかけ3-2" + }, + { + "ColumnName": "Class094", + "LabelText": "来場のきっかけ3-3" + }, + { + "ColumnName": "Class095", + "LabelText": "来場のきっかけ3-4" + }, + { + "ColumnName": "Class096", + "LabelText": "来場のきっかけ4", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class097", + "LabelText": "来場のきっかけ4-1" + }, + { + "ColumnName": "Class098", + "LabelText": "来場のきっかけ4-2" + }, + { + "ColumnName": "Class099", + "LabelText": "来場のきっかけ4-3" + }, + { + "ColumnName": "Class100", + "LabelText": "来場のきっかけ4-4" + }, + { + "ColumnName": "Class101", + "LabelText": "来場のきっかけ5", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class102", + "LabelText": "来場のきっかけ5-1" + }, + { + "ColumnName": "Class103", + "LabelText": "来場のきっかけ5-2" + }, + { + "ColumnName": "Class104", + "LabelText": "来場のきっかけ5-3" + }, + { + "ColumnName": "Class105", + "LabelText": "来場のきっかけ5-4" + }, + { + "ColumnName": "Class106", + "LabelText": "来場のきっかけ6", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class107", + "LabelText": "来場のきっかけ6-1" + }, + { + "ColumnName": "Class108", + "LabelText": "来場のきっかけ6-2" + }, + { + "ColumnName": "Class109", + "LabelText": "来場のきっかけ6-3" + }, + { + "ColumnName": "Class110", + "LabelText": "来場のきっかけ6-4" + }, + { + "ColumnName": "Class111", + "LabelText": "来場のきっかけ7", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class112", + "LabelText": "来場のきっかけ7-1" + }, + { + "ColumnName": "Class113", + "LabelText": "来場のきっかけ7-2" + }, + { + "ColumnName": "Class114", + "LabelText": "来場のきっかけ7-3" + }, + { + "ColumnName": "Class115", + "LabelText": "来場のきっかけ7-4" + }, + { + "ColumnName": "Class116", + "LabelText": "来場のきっかけ8", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class117", + "LabelText": "来場のきっかけ8-1" + }, + { + "ColumnName": "Class118", + "LabelText": "来場のきっかけ8-2" + }, + { + "ColumnName": "Class119", + "LabelText": "来場のきっかけ8-3" + }, + { + "ColumnName": "Class120", + "LabelText": "来場のきっかけ8-4" + }, + { + "ColumnName": "Class121", + "LabelText": "来場のきっかけ9", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class122", + "LabelText": "来場のきっかけその他詳細", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class123", + "LabelText": "購入の動機1", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class124", + "LabelText": "購入の動機2", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class125", + "LabelText": "購入の動機3", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class126", + "LabelText": "購入の動機4", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class127", + "LabelText": "購入の動機5", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class128", + "LabelText": "購入の動機6", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class129", + "LabelText": "購入の動機7", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class130", + "LabelText": "購入の動機8", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class131", + "LabelText": "購入の動機9", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class132", + "LabelText": "購入の動機その他詳細", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class133", + "LabelText": "購入種別1", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class134", + "LabelText": "購入種別2", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class135", + "LabelText": "購入種別3", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class136", + "LabelText": "購入種別4", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class137", + "LabelText": "購入種別5", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class138", + "LabelText": "購入種別6", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class139", + "LabelText": "購入種別7", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class140", + "LabelText": "購入種別8", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class141", + "LabelText": "購入種別9", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class142", + "LabelText": "購入種別10", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class143", + "LabelText": "購入種別その他詳細" + }, + { + "ColumnName": "Description004", + "LabelText": "こだわり(優先事項)" + }, + { + "ColumnName": "Description005", + "LabelText": "希望学区" + }, + { + "ColumnName": "Description006", + "LabelText": "事前審査借入金額" + }, + { + "ColumnName": "Date005", + "LabelText": "事前審査提出日" + }, + { + "ColumnName": "Class144", + "LabelText": "事前審査提出銀行" + }, + { + "ColumnName": "Class145", + "LabelText": "事前審査ローン商品種類" + }, + { + "ColumnName": "Class146", + "LabelText": "事前審査合否結果" + }, + { + "ColumnName": "Date006", + "LabelText": "事前審査合否結果日" + }, + { + "ColumnName": "Class147", + "LabelText": "事前審査最終提出フラグ", + "ChoicesText": "最終提出", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Description007", + "LabelText": "事前審査備考" + }, + { + "ColumnName": "Class148", + "LabelText": "地鎮祭希望有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Class149", + "LabelText": "地鎮祭実施有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Date007", + "LabelText": "地鎮祭実施日" + }, + { + "ColumnName": "Class150", + "LabelText": "引き渡し式", + "ChoicesText": "未\n済", + "SearchType": "PartialMatch" + }, + { + "ColumnName": "Description008", + "LabelText": "引き渡し式備考" + }, + { + "ColumnName": "Num020", + "LabelText": "紹介件数", + "TextAlign": 20 + }, + { + "ColumnName": "Num021", + "LabelText": "成約数", + "TextAlign": 20 + }, + { + "ColumnName": "Num022", + "LabelText": "不成約数", + "TextAlign": 20 + }, + { + "ColumnName": "Class151", + "LabelText": "担当者ID1" + }, + { + "ColumnName": "Class152", + "LabelText": "担当者ID2" + }, + { + "ColumnName": "Class153", + "LabelText": "担当者ID3" + }, + { + "ColumnName": "Class154", + "LabelText": "担当者ID4" + }, + { + "ColumnName": "Class155", + "LabelText": "担当者ID5" + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 397528, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/#助っ人クラウド連携/顧客情報テーブル.js b/pleasanter/develop/#助っ人クラウド連携/顧客情報テーブル.js new file mode 100644 index 00000000..90ccb72a --- /dev/null +++ b/pleasanter/develop/#助っ人クラウド連携/顧客情報テーブル.js @@ -0,0 +1,1412 @@ +function updateSite() { + $p.apiUpdateSite({ + "id": "397528", + "data": { + "SiteId": "397528", + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class014", + "Class015", + "UpdatedTime" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ClassA", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "_Section-1", + "Class006", + "Class007", + "Class008", + "Class009", + "Class010", + "Class011", + "Class012", + "Class013", + "Class014", + "Class015", + "Class016", + "Class017", + "Class018", + "Class019", + "Class020", + "Class021", + "Class022", + "Class023", + "Class024", + "Date001", + "Class025", + "Class026", + "Class027", + "Class028", + "Class029", + "Class030", + "Date002", + "Num001", + "_Section-2", + "Class031", + "Class032", + "Date003", + "Class033", + "Class034", + "Num002", + "Num003", + "Num004", + "Num005", + "Num006", + "Num007", + "Class035", + "Class036", + "Class037", + "Class038", + "Class039", + "Num008", + "_Section-3", + "Class040", + "Class041", + "Class042", + "Class043", + "Class044", + "Class045", + "Class046", + "Class047", + "Class048", + "Class049", + "Class050", + "Class051", + "Class052", + "Class053", + "Class054", + "Class055", + "Class056", + "Class057", + "Class058", + "Class059", + "Description001", + "Class060", + "Date004", + "Class061", + "Class062", + "Class063", + "Num009", + "Class064", + "Class065", + "Num010", + "Description002", + "Description003", + "Class066", + "Num011", + "Num012", + "Class067", + "Class068", + "Num013", + "Class069", + "Class070", + "Class071", + "Class072", + "Class073", + "Class074", + "Num014", + "Num015", + "Num016", + "Num017", + "Num018", + "Class075", + "Class076", + "Class077", + "Class078", + "Num019", + "Class079", + "Class080", + "_Section-4", + "Class081", + "Class082", + "Class083", + "Class084", + "Class085", + "Class086", + "Class087", + "Class088", + "Class089", + "Class090", + "Class091", + "Class092", + "Class093", + "Class094", + "Class095", + "Class096", + "Class097", + "Class098", + "Class099", + "Class100", + "Class101", + "Class102", + "Class103", + "Class104", + "Class105", + "Class106", + "Class107", + "Class108", + "Class109", + "Class110", + "Class111", + "Class112", + "Class113", + "Class114", + "Class115", + "Class116", + "Class117", + "Class118", + "Class119", + "Class120", + "Class121", + "Class122", + "Class123", + "Class124", + "Class125", + "Class126", + "Class127", + "Class128", + "Class129", + "Class130", + "Class131", + "Class132", + "Class133", + "Class134", + "Class135", + "Class136", + "Class137", + "Class138", + "Class139", + "Class140", + "Class141", + "Class142", + "Class143", + "Description004", + "Description005", + "Description006", + "_Section-5", + "Date005", + "Class144", + "Class145", + "Class146", + "Date006", + "Class147", + "Description007", + "Class148", + "Class149", + "Date007", + "Class150", + "Description008", + "Num020", + "Num021", + "Num022", + "_Section-6", + "Class151", + "Class152", + "Class153", + "Class154", + "Class155", + "Comments" + ] + }, + "SectionLatestId": 6, + "Sections": [ + { + "Id": 1, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "更新No", + "ImportKey": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class001", + "LabelText": "管理ID", + "EditorReadOnly": true + }, + { + "ColumnName": "Class002", + "LabelText": "顧客名(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class003", + "LabelText": "顧客名(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class004", + "LabelText": "顧客名カナ(姓)", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class005", + "LabelText": "顧客名カナ(名)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class006", + "LabelText": "電話番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class007", + "LabelText": "FAX番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class008", + "LabelText": "携帯電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class009", + "LabelText": "携帯電話所有者", + "EditorReadOnly": true + }, + { + "ColumnName": "Class010", + "LabelText": "メールアドレス", + "NoWrap": true, + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class011", + "LabelText": "携帯メールアドレス", + "NoWrap": true, + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class012", + "LabelText": "現住所電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class013", + "LabelText": "現住所郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class014", + "LabelText": "現住所都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class015", + "LabelText": "現住所1", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class016", + "LabelText": "現住所2", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class017", + "LabelText": "現住所地番・住居表示", + "ChoicesText": "地番\n住居表示", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class018", + "LabelText": "書類送付先電話番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class019", + "LabelText": "書類送付先郵便番号", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class020", + "LabelText": "書類送付先都道府県", + "ChoicesText": "北海道\n青森県\n岩手県\n宮城県\n秋田県\n山形県\n福島県\n茨城県\n栃木県\n群馬県\n埼玉県\n千葉県\n東京都\n神奈川県\n新潟県\n富山県\n石川県\n福井県\n山梨県\n長野県\n岐阜県\n静岡県\n愛知県\n三重県\n滋賀県\n京都府\n大阪府\n兵庫県\n奈良県\n和歌山県\n鳥取県\n島根県\n岡山県\n広島県\n山口県\n徳島県\n香川県\n愛媛県\n高知県\n福岡県\n佐賀県\n長崎県\n熊本県\n大分県\n宮崎県\n鹿児島県\n沖縄県", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class021", + "LabelText": "書類送付先住所1", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class022", + "LabelText": "書類送付先住所2", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class023", + "LabelText": "書類送付先地番・住居表示", + "ChoicesText": "地番\n住居表示", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class024", + "LabelText": "顧客属性", + "EditorReadOnly": true + }, + { + "ColumnName": "Date001", + "LabelText": "直近接触日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class025", + "LabelText": "勤務先職業", + "ChoicesText": "営業\n企画・マーケティング\n事務\nサービス・販売・運輸\nクリエイティブ職\n技術(IT・通信)\n技術(電気・電子・機械・自動車)\n技術(科学・食品・医療・福祉)\n技術(建築・土木)\n専門(コンサルタント・金融・不動産・流通)\n専門(その他)\n農林水産業関連\n教職・公務員・団体職員\n会社役員\n定年退職者\n学生・フリーター\n主婦\n無職\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class026", + "LabelText": "勤務先会社名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class027", + "LabelText": "勤務先部署名", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class028", + "LabelText": "勤務先役職", + "EditorReadOnly": true + }, + { + "ColumnName": "Class029", + "LabelText": "勤務先電話番号", + "EditorReadOnly": true + }, + { + "ColumnName": "Class030", + "LabelText": "性別", + "ChoicesText": "男性\n女性\n未設定", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date002", + "LabelText": "生年月日", + "ChoicesText": "女性", + "EditorReadOnly": true + }, + { + "ColumnName": "Num001", + "LabelText": "同居人数", + "ChoicesText": "未設定", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class031", + "LabelText": "喪中", + "ChoicesText": "喪中", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class032", + "LabelText": "関心のあるカテゴリ", + "ChoicesText": "リフォーム\nインテリア\nガーデニング・DIY\n省エネ\nマルチハビテーション\n旅行\nアウトドア\nスポーツ\n車\n音楽・映画・本\nマネー\n育児・教育\n防災\n介護\nペット", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date003", + "LabelText": "記念日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class033", + "LabelText": "記念日の種類", + "ChoicesText": "誕生日\n結婚記念日\n出産記念日\n竣工記念日\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class034", + "LabelText": "管理用顧客ランク", + "ChoicesText": "S\nA\nB\nC\nD", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num002", + "LabelText": "顧客紹介実績回数(変更不可)", + "ChoicesText": "出産記念日", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num003", + "LabelText": "HPC外顧客紹介実績回数", + "ChoicesText": "竣工記念日", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num004", + "LabelText": "HPC内顧客紹介実績回数(変更不可)", + "ChoicesText": "その他", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num005", + "LabelText": "内成約数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num006", + "LabelText": "販促実施回数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num007", + "LabelText": "販促達成回数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class035", + "LabelText": "メールマガジン種別", + "ChoicesText": "HTMLメール\nテキストメール\n希望しない", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class036", + "LabelText": "DM送付", + "ChoicesText": "DM送付", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class037", + "LabelText": "紹介者(インポート不可)", + "EditorReadOnly": true + }, + { + "ColumnName": "Class038", + "LabelText": "自家用車", + "ChoicesText": "自家用車", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class039", + "LabelText": "ペット", + "ChoicesText": "ペット", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num008", + "LabelText": "住宅所有割合", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class040", + "LabelText": "フラグ1", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class041", + "LabelText": "フラグ2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class042", + "LabelText": "フラグ3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class043", + "LabelText": "フラグ4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class044", + "LabelText": "フラグ5", + "EditorReadOnly": true + }, + { + "ColumnName": "Class045", + "LabelText": "フラグ6", + "EditorReadOnly": true + }, + { + "ColumnName": "Class046", + "LabelText": "フラグ7", + "EditorReadOnly": true + }, + { + "ColumnName": "Class047", + "LabelText": "フラグ8", + "EditorReadOnly": true + }, + { + "ColumnName": "Class048", + "LabelText": "フラグ9", + "EditorReadOnly": true + }, + { + "ColumnName": "Class049", + "LabelText": "フラグ10", + "EditorReadOnly": true + }, + { + "ColumnName": "Class050", + "LabelText": "フラグ11", + "EditorReadOnly": true + }, + { + "ColumnName": "Class051", + "LabelText": "フラグ12", + "EditorReadOnly": true + }, + { + "ColumnName": "Class052", + "LabelText": "フラグ13", + "EditorReadOnly": true + }, + { + "ColumnName": "Class053", + "LabelText": "フラグ14", + "EditorReadOnly": true + }, + { + "ColumnName": "Class054", + "LabelText": "フラグ15", + "EditorReadOnly": true + }, + { + "ColumnName": "Class055", + "LabelText": "フラグ16", + "EditorReadOnly": true + }, + { + "ColumnName": "Class056", + "LabelText": "フラグ17", + "EditorReadOnly": true + }, + { + "ColumnName": "Class057", + "LabelText": "フラグ18", + "EditorReadOnly": true + }, + { + "ColumnName": "Class058", + "LabelText": "フラグ19", + "EditorReadOnly": true + }, + { + "ColumnName": "Class059", + "LabelText": "フラグ20", + "EditorReadOnly": true + }, + { + "ColumnName": "Description001", + "LabelText": "顧客基本情報備考", + "NoWrap": true, + "EditorReadOnly": true + }, + { + "ColumnName": "Class060", + "LabelText": "抹消フラグ", + "ChoicesText": "抹消", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date004", + "LabelText": "抹消日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class061", + "LabelText": "抹消理由", + "EditorReadOnly": true + }, + { + "ColumnName": "Class062", + "LabelText": "現住居種別", + "ChoicesText": "賃貸社宅(借り上げ)\n分譲マンション\n分譲戸建て\n実家\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class063", + "LabelText": "その他", + "EditorReadOnly": true + }, + { + "ColumnName": "Num009", + "LabelText": "現住居家賃", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class064", + "LabelText": "売却住居の有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class065", + "LabelText": "残債有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num010", + "LabelText": "残債金額", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Description002", + "LabelText": "現住居不満", + "EditorReadOnly": true + }, + { + "ColumnName": "Description003", + "LabelText": "気に入っているところ", + "EditorReadOnly": true + }, + { + "ColumnName": "Class066", + "LabelText": "間取り", + "EditorReadOnly": true + }, + { + "ColumnName": "Num011", + "LabelText": "車所有台数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num012", + "LabelText": "現駐車場料金", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class067", + "LabelText": "希望地域", + "EditorReadOnly": true + }, + { + "ColumnName": "Class068", + "LabelText": "希望沿線", + "EditorReadOnly": true + }, + { + "ColumnName": "Num013", + "LabelText": "希望立地駅徒歩(分)", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class069", + "LabelText": "希望立地バス便", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class070", + "LabelText": "希望立地その他", + "EditorReadOnly": true + }, + { + "ColumnName": "Class071", + "LabelText": "希望広さ土地", + "EditorReadOnly": true + }, + { + "ColumnName": "Class072", + "LabelText": "希望広さ建物", + "EditorReadOnly": true + }, + { + "ColumnName": "Class073", + "LabelText": "希望間取り", + "EditorReadOnly": true + }, + { + "ColumnName": "Class074", + "LabelText": "計画時期", + "EditorReadOnly": true + }, + { + "ColumnName": "Num014", + "LabelText": "駐車場必要台数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num015", + "LabelText": "施主収入", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num016", + "LabelText": "合算者収入", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num017", + "LabelText": "予算", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num018", + "LabelText": "自己資金", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class075", + "LabelText": "最終意思決定権者", + "EditorReadOnly": true + }, + { + "ColumnName": "Class076", + "LabelText": "他社検討先", + "EditorReadOnly": true + }, + { + "ColumnName": "Class077", + "LabelText": "紹介者/親顧客", + "EditorReadOnly": true + }, + { + "ColumnName": "Class078", + "LabelText": "親援助有", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Num019", + "LabelText": "親援助金額", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class079", + "LabelText": "施主実家(親)所在地", + "EditorReadOnly": true + }, + { + "ColumnName": "Class080", + "LabelText": "奥様実家(親)所在地", + "EditorReadOnly": true + }, + { + "ColumnName": "Class081", + "LabelText": "来場のきっかけ1", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class082", + "LabelText": "来場のきっかけ1-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class083", + "LabelText": "来場のきっかけ1-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class084", + "LabelText": "来場のきっかけ1-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class085", + "LabelText": "来場のきっかけ1-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class086", + "LabelText": "来場のきっかけ2", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class087", + "LabelText": "来場のきっかけ2-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class088", + "LabelText": "来場のきっかけ2-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class089", + "LabelText": "来場のきっかけ2-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class090", + "LabelText": "来場のきっかけ2-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class091", + "LabelText": "来場のきっかけ3", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class092", + "LabelText": "来場のきっかけ3-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class093", + "LabelText": "来場のきっかけ3-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class094", + "LabelText": "来場のきっかけ3-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class095", + "LabelText": "来場のきっかけ3-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class096", + "LabelText": "来場のきっかけ4", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class097", + "LabelText": "来場のきっかけ4-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class098", + "LabelText": "来場のきっかけ4-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class099", + "LabelText": "来場のきっかけ4-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class100", + "LabelText": "来場のきっかけ4-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class101", + "LabelText": "来場のきっかけ5", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class102", + "LabelText": "来場のきっかけ5-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class103", + "LabelText": "来場のきっかけ5-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class104", + "LabelText": "来場のきっかけ5-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class105", + "LabelText": "来場のきっかけ5-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class106", + "LabelText": "来場のきっかけ6", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class107", + "LabelText": "来場のきっかけ6-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class108", + "LabelText": "来場のきっかけ6-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class109", + "LabelText": "来場のきっかけ6-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class110", + "LabelText": "来場のきっかけ6-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class111", + "LabelText": "来場のきっかけ7", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class112", + "LabelText": "来場のきっかけ7-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class113", + "LabelText": "来場のきっかけ7-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class114", + "LabelText": "来場のきっかけ7-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class115", + "LabelText": "来場のきっかけ7-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class116", + "LabelText": "来場のきっかけ8", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class117", + "LabelText": "来場のきっかけ8-1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class118", + "LabelText": "来場のきっかけ8-2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class119", + "LabelText": "来場のきっかけ8-3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class120", + "LabelText": "来場のきっかけ8-4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class121", + "LabelText": "来場のきっかけ9", + "ChoicesText": "折込チラシ\n住宅情報誌\n新聞\nインターネット\nテレビ\nラジオ\n知人の紹介\n通りがかり\nその他", + "NoWrap": true, + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class122", + "LabelText": "来場のきっかけその他詳細", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class123", + "LabelText": "購入の動機1", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class124", + "LabelText": "購入の動機2", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class125", + "LabelText": "購入の動機3", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class126", + "LabelText": "購入の動機4", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class127", + "LabelText": "購入の動機5", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class128", + "LabelText": "購入の動機6", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class129", + "LabelText": "購入の動機7", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class130", + "LabelText": "購入の動機8", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class131", + "LabelText": "購入の動機9", + "ChoicesText": "結婚\n2世帯同居\n世帯分離\n通勤通学に不便\n現住居に不満\n周辺環境に不満\nセカンドハウス\n転勤\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class132", + "LabelText": "購入の動機その他詳細", + "FieldCss": "field-wide", + "EditorReadOnly": true + }, + { + "ColumnName": "Class133", + "LabelText": "購入種別1", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class134", + "LabelText": "購入種別2", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class135", + "LabelText": "購入種別3", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class136", + "LabelText": "購入種別4", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class137", + "LabelText": "購入種別5", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class138", + "LabelText": "購入種別6", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class139", + "LabelText": "購入種別7", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class140", + "LabelText": "購入種別8", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class141", + "LabelText": "購入種別9", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class142", + "LabelText": "購入種別10", + "ChoicesText": "注文建築(土地有)\n注文建築(土地無)\n建替え\nリフォーム\n新築分譲戸建て\n新築分譲マンション\n中古分譲戸建\n中古分譲マンション\n賃貸土地\nその他", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class143", + "LabelText": "購入種別その他詳細", + "EditorReadOnly": true + }, + { + "ColumnName": "Description004", + "LabelText": "こだわり(優先事項)", + "EditorReadOnly": true + }, + { + "ColumnName": "Description005", + "LabelText": "希望学区", + "EditorReadOnly": true + }, + { + "ColumnName": "Description006", + "LabelText": "事前審査借入金額", + "EditorReadOnly": true + }, + { + "ColumnName": "Date005", + "LabelText": "事前審査提出日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class144", + "LabelText": "事前審査提出銀行", + "EditorReadOnly": true + }, + { + "ColumnName": "Class145", + "LabelText": "事前審査ローン商品種類", + "EditorReadOnly": true + }, + { + "ColumnName": "Class146", + "LabelText": "事前審査合否結果", + "EditorReadOnly": true + }, + { + "ColumnName": "Date006", + "LabelText": "事前審査合否結果日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class147", + "LabelText": "事前審査最終提出フラグ", + "ChoicesText": "最終提出", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Description007", + "LabelText": "事前審査備考", + "EditorReadOnly": true + }, + { + "ColumnName": "Class148", + "LabelText": "地鎮祭希望有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Class149", + "LabelText": "地鎮祭実施有無", + "ChoicesText": "いいえ\nはい", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Date007", + "LabelText": "地鎮祭実施日", + "EditorReadOnly": true + }, + { + "ColumnName": "Class150", + "LabelText": "引き渡し式", + "ChoicesText": "未\n済", + "SearchType": "PartialMatch", + "EditorReadOnly": true + }, + { + "ColumnName": "Description008", + "LabelText": "引き渡し式備考", + "EditorReadOnly": true + }, + { + "ColumnName": "Num020", + "LabelText": "紹介件数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num021", + "LabelText": "成約数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Num022", + "LabelText": "不成約数", + "TextAlign": 20, + "EditorReadOnly": true + }, + { + "ColumnName": "Class151", + "LabelText": "担当者ID1", + "EditorReadOnly": true + }, + { + "ColumnName": "Class152", + "LabelText": "担当者ID2", + "EditorReadOnly": true + }, + { + "ColumnName": "Class153", + "LabelText": "担当者ID3", + "EditorReadOnly": true + }, + { + "ColumnName": "Class154", + "LabelText": "担当者ID4", + "EditorReadOnly": true + }, + { + "ColumnName": "Class155", + "LabelText": "担当者ID5", + "EditorReadOnly": true + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + } + ], + "NoDisplayIfReadOnly": false + }, + }, + "done": function (data) { + console.log(data); + }, + "fail": function (data) { + console.log(data); + } + }); +} +updateSite(); + diff --git a/pleasanter/develop/★MSS/★マスターシート/sites/styles/5.タブカラー.css b/pleasanter/develop/★MSS/★マスターシート/sites/styles/5.タブカラー.css index d322a74d..4151c10b 100644 --- a/pleasanter/develop/★MSS/★マスターシート/sites/styles/5.タブカラー.css +++ b/pleasanter/develop/★MSS/★マスターシート/sites/styles/5.タブカラー.css @@ -1,6 +1,6 @@ /* @config : next999.json -@filename : ${psFileBasename} +@filename : 5.タブカラー.css @title : 5.タブカラー @name : @siteIds : 189112 @@ -66,4 +66,11 @@ label.error { font-size: 1.3em; margin-top: 5px; margin-bottom: 5px; +} + +a[href="#FieldSetTab9"], +a[href="#FieldSetTab13"], +a[href="#FieldSetTab15"] { + background: grey; + color: black !important; } \ No newline at end of file diff --git a/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js b/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js index 97e9d674..0058b275 100644 --- a/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js +++ b/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js @@ -14,6 +14,7 @@ let apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4 let patternData = JSON.parse($('#patternData').val()) || []; let categoryData = JSON.parse($('#categoryData').val()) || []; +let resourceCount; const sleep = (second) => new Promise(resolve => setTimeout(resolve, second * 1000)); @@ -118,13 +119,14 @@ window.addEventListener('load', function () { }); function initialize() { - ////////////// - createCalendarContainer(); c7s = new care7_Scheduler; c7s.createResource(); c7s.createEvents(); + ////////////// + createCalendarContainer(); + c7s.createCalendar('cal1', 0); c7s.createCalendar('cal2', 1); c7s.createCalendar('cal3', 2); @@ -276,6 +278,7 @@ care7_Scheduler.prototype.createResource = function () { } resource.push(member); }); + resourceCount = data.Response.TotalCount; } }); @@ -371,30 +374,30 @@ care7_Scheduler.prototype.createEvents = function () { let date = 1; date = value.ClassHash.ClassH; //指定週 - //開始日取得 + + //開始日よりも月末日があとの場合は除外 let activeStartTime = ''; if (value.DateHash.DateE != '1899-12-30T00:00:00') { activeStartTime = new Date(value.DateHash.DateE); - if (!(startdate.getTime() >= activeStartTime.getTime())) { + if (enddate.getTime() <= activeStartTime.getTime()) { console.log('開始日判定 除外 : ' + title) return true; } } - //終了日取得 + //終了日よりも月初日のほうが手前の場合除外 let activeEndTime = ''; if (value.DateHash.DateF != '1899-12-30T00:00:00') { activeEndTime = new Date(value.DateHash.DateF); - activeEndTime.setDate(activeEndTime.getDate() + 1); - activeEndTime.setMinutes(activeEndTime.getMinutes() - 1); - if (!(enddate.getTime() <= activeEndTime.getTime())) { + if (startdate.getTime() >= activeEndTime.getTime()) { console.log('終了日判定 除外 : ' + title) return true; } } + //リソースID変換 let str = value.ClassHash.ClassV; str = str.replaceAll('"', ''); @@ -474,7 +477,6 @@ care7_Scheduler.prototype.createEvents = function () { let dtstart = ''; let until = ''; - dtstart = startdate.getFullYear() + '-' + ("00" + (startdate.getMonth() + 1)).slice(-2) + '-' + ("00" + startdate.getDate()).slice(-2) + @@ -558,6 +560,41 @@ care7_Scheduler.prototype.createEvents = function () { } event.exdate = exEvent[id]; } + + //開始日が月初日よりもあとの場合、月初日から開始日の前日までを例外日に追加 + if (value.DateHash.DateE != '1899-12-30T00:00:00') { + activeStartTime.setDate(activeStartTime.getDate() - 1); + if (startdate.getTime() <= activeStartTime.getTime()) { + //let dates = []; + let tempDate = new Date(startdate); + while (tempDate.getTime() <= activeStartTime.getTime()) { + let dateStr = tempDate.getFullYear() + '-' + + (tempDate.getMonth() + 1).toString().padStart(2, '0') + '-' + + tempDate.getDate().toString().padStart(2, '0'); + event.exdate.push(dateStr + 'T' + time); + tempDate.setDate(tempDate.getDate() + 1); + } + console.log(event.exdate); + } + } + + //終了日が月末日よりもまえの場合、終了日の翌日から月末日までを例外日に追加 + if (value.DateHash.DateF != '1899-12-30T00:00:00') { + activeEndTime.setDate(activeEndTime.getDate() + 1); + if (enddate.getTime() >= activeEndTime.getTime()) { + //let dates = []; + let tempDate = new Date(activeEndTime); + while (tempDate.getTime() <= enddate.getTime()) { + let dateStr = tempDate.getFullYear() + '-' + + (tempDate.getMonth() + 1).toString().padStart(2, '0') + '-' + + tempDate.getDate().toString().padStart(2, '0'); + event.exdate.push(dateStr + 'T' + time); + tempDate.setDate(tempDate.getDate() + 1); + } + } + console.log(event.exdate); + } + eventList.push(event); }); @@ -770,7 +807,8 @@ care7_Scheduler.prototype.createCalendar = function (calid, num) { let title_ele = document.createElement('div'); title_ele.style.fontSize = '120%'; title_ele.style.fontWeight = 'bold'; - title_ele.innerHTML = eventInfo.event.title; + //title_ele.innerHTML = eventInfo.event.title; + title_ele.innerHTML = eventInfo.event.title.replace(/\s+/g, ''); let comments_ele = document.createElement('div'); @@ -984,7 +1022,11 @@ function createCalendarContainer() { cal5.style.backgroundColor = '#dcdcdc'; myCalContainer.id = 'myCalContainer'; - myCalContainer.style.width = '2200px'; + + //myCalContainer.style.width = '2200px'; + let containerWidth = (resourceCount * 80) * 5 + 100; + myCalContainer.style.width = containerWidth + 'px'; + myCalContainer.style.float = 'left'; myCalContainer.style.padding = '0px'; myCalContainer.style.margin = '0px'; diff --git a/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js.bak b/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js.bak new file mode 100644 index 00000000..0f1a231f --- /dev/null +++ b/pleasanter/develop/なないろケアプランセンター/0.カレンダー/Script/訪問カレンダー.js.bak @@ -0,0 +1,1036 @@ +loadcdn('script', 'https://cdn.jsdelivr.net/npm/rrule@2.6.4/dist/es5/rrule.min.js'); +loadcdn('script', 'https://cdn.jsdelivr.net/npm/fullcalendar-scheduler@6.1.8/index.global.min.js'); +loadcdn('script', 'https://cdn.jsdelivr.net/npm/@fullcalendar/rrule@6.1.8/index.global.min.js'); + +//本番用 +let kokyakuTableId = '379690'; +let resourceTableId = '379685'; +let reigaiTableId = '379684'; +let shukaiTableId = '379687'; +let kobetsuTableId = '379689'; +let holidayTableId = '379682'; + +let apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d'; + +let patternData = JSON.parse($('#patternData').val()) || []; +let categoryData = JSON.parse($('#categoryData').val()) || []; +let resourceCount; + +const sleep = (second) => new Promise(resolve => setTimeout(resolve, second * 1000)); + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +window.addEventListener('load', function () { + $('#NewMenuContainer').hide(); + + let app = document.getElementById('Application'); + ////////////////////////////////////////////////// + let nowdate = document.createElement('div'); + nowdate.id = 'nowdate'; + ////////////////////////////////////////////////// + let saveDate = new Date(); + saveDate = new Date(saveDate.getFullYear(), saveDate.getMonth(), 1, 0, 0, 0); + + //console.log(Cookies.get('nanairoCalSelectMonth')); + if (!(Cookies.get('nanairoCalSelectMonth'))) { + Cookies.set('nanairoCalSelectMonth', saveDate, { + expires: 90, + path: '' + }); + nowdate.setAttribute('nowdate', new Date); + } else { + saveDate = new Date(Cookies.get('nanairoCalSelectMonth')); + nowdate.setAttribute('nowdate', new Date(Cookies.get('nanairoCalSelectMonth'))); + } + + ////////////////////////////////////////////////// + let selectMonth = document.createElement('select'); + selectMonth.id = 'selectMonth'; + selectMonth.name = 'selectMonth'; + for (i = -2; i <= 6; i++) { + let date0 = new Date(); + date0 = new Date(date0.getFullYear(), date0.getMonth(), 1, 0, 0, 0); + date0.setMonth(date0.getMonth() + i); + let option = document.createElement('option'); + option.value = date0; + option.textContent = date0.getFullYear() + '年' + (date0.getMonth() + 1) + '月'; + if (date0.getTime() == saveDate.getTime()) { + option.setAttribute('selected', 'selected'); + } + selectMonth.appendChild(option); + } + + //console.log(selectMonth); + + + ////////////////////////////////////////////////////////////////////////////////// + let buttonArea = document.createElement('div'); + buttonArea.id = 'buttonArea'; + + let button0 = document.createElement('button'); + button0.type = 'button'; + button0.id = 'button0'; + button0.innerHTML = ' ▶顧客リスト '; + button0.setAttribute('onclick', 'location.href="/pleasanter/items/' + kokyakuTableId + '/index/"'); + + buttonArea.append(button0); + buttonArea.append(selectMonth); + + app.innerHTML = ''; + app.appendChild(nowdate); + app.appendChild(buttonArea); + + /////////////////// + $('#selectMonth').selectmenu({ + width: '150px', + change: function (event, data) { + //console.log(data); + let selectValue = new Date(data.item.value); + Cookies.set('nanairoCalSelectMonth', selectValue, { + expires: 90, + path: '' + }); + nowdate.setAttribute('nowdate', selectValue); + initialize(); + $('.ui-selectmenu-text').css({ + 'font-weight': 'bold', + 'font-size': '1.5em', + }); + } + }); + + $('#selectMonth-button').css({ + 'margin': '0 5px 5px 0', + }); + $('.ui-selectmenu-text').css({ + 'font-weight': 'bold', + 'font-size': '1.5em', + }); + + /////////////////// + $('#button0').css({ + 'margin': '0 5px 5px 0', + 'font-size': '1.5em' + }); + $('#button0').button(); + + /////////////////// + initialize(); +}); + +function initialize() { + + c7s = new care7_Scheduler; + c7s.createResource(); + c7s.createEvents(); + + ////////////// + createCalendarContainer(); + + c7s.createCalendar('cal1', 0); + c7s.createCalendar('cal2', 1); + c7s.createCalendar('cal3', 2); + c7s.createCalendar('cal4', 3); + c7s.createCalendar('cal5', 4); + + let rscCount = c7s.resources.length; + for (i = 0; i <= 4; i++) { + $("#cal1 th[role='columnheader']").eq(i).css("border-right-width", "3px"); + $("#cal2 th[role='columnheader']").eq(i).css("border-right-width", "3px"); + $("#cal3 th[role='columnheader']").eq(i).css("border-right-width", "3px"); + $("#cal4 th[role='columnheader']").eq(i).css("border-right-width", "3px"); + $("#cal5 th[role='columnheader']").eq(i).css("border-right-width", "3px"); + + $("#cal1 th[role='columnheader']").eq((5 + rscCount - 1) + (i * rscCount)).css("border-right-width", "3px"); + $("#cal2 th[role='columnheader']").eq((5 + rscCount - 1) + (i * rscCount)).css("border-right-width", "3px"); + $("#cal3 th[role='columnheader']").eq((5 + rscCount - 1) + (i * rscCount)).css("border-right-width", "3px"); + $("#cal4 th[role='columnheader']").eq((5 + rscCount - 1) + (i * rscCount)).css("border-right-width", "3px"); + $("#cal5 th[role='columnheader']").eq((5 + rscCount - 1) + (i * rscCount)).css("border-right-width", "3px"); + + $("#cal1 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1).css("border-right-width", "3px"); + $("#cal1 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css("border-right-width", "3px"); + $("#cal2 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1).css("border-right-width", "3px"); + $("#cal2 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css("border-right-width", "3px"); + $("#cal3 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1).css("border-right-width", "3px"); + $("#cal3 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css("border-right-width", "3px"); + $("#cal4 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1).css("border-right-width", "3px"); + $("#cal4 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css("border-right-width", "3px"); + $("#cal5 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1).css("border-right-width", "3px"); + $("#cal5 td[role='gridcell']").eq(rscCount + (i * rscCount) - 1 + (rscCount * 5)).css("border-right-width", "3px"); + } + + getHolidays(2024); + + $("td[data-time='12:00:00'],td[data-time='12:15:00'],td[data-time='12:30:00'],td[data-time='12:45:00']").css({ + "background-color": "lightsteelblue", + "opacity": "0.5" + }); + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +function getHolidays() { + //日付処理 + //基準日を中心に前後1ヶ月 + let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate')); + let startdate = nowdate; + startdate.setMonth(startdate.getMonth() - 1); + startdate.setDate(1); + startdate.setHours(0); + startdate.setMinutes(0); + startdate.setSeconds(0); + let enddate = new Date(startdate); + enddate.setMonth(enddate.getMonth() + 3); + enddate.setMinutes(enddate.getMinutes() - 1); + let startStr = startdate.getFullYear() + '/' + + (startdate.getMonth() + 1).toString().padStart(2, '0') + '/' + + startdate.getDate().toString().padStart(2, '0') + ' 00:00:00'; + + let endStr = enddate.getFullYear() + '/' + + (enddate.getMonth() + 1).toString().padStart(2, '0') + '/' + + enddate.getDate().toString().padStart(2, '0') + ' 00:00:00'; + + console.log(startStr); + console.log(endStr); + + $p.apiGet({ + "id": holidayTableId, + "async": false, + "data": { + "ApiVersion": 1.1, + "ApiKey": apiKey, + "View": { + "ColumnFilterHash": { + "DateA": '["' + startStr + ',' + endStr + '"]' + }, + } + }, + "done": function (data) { + //console.log(data.Response.Data); + $.each(data.Response.Data, function (index, value) { + let classA = value.ClassHash.ClassA; + let dateA = new Date(value.DateHash.DateA); + //console.log(dateA + " " + classA); + + let dateStr = dateA.getFullYear() + '-' + + (dateA.getMonth() + 1).toString().padStart(2, '0') + '-' + + dateA.getDate().toString().padStart(2, '0'); + + $('th[data-date="' + dateStr + '"]').css({ 'background-color': 'hotpink' }); + $('td[data-date="' + dateStr + '"]').css({ 'background-color': 'hotpink' }); + + let dateStr2 = dateA.getFullYear() + '年' + + (dateA.getMonth() + 1) + '月' + + dateA.getDate() + '日'; + $('a[aria-label="' + dateStr2 + '"]').after(classA); + + }); + + } + }); +} +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function care7_Scheduler() { + calObj = {}; + this.events = []; + this.resources = []; + this.resourceCount; + this.myCalendar = null; +} + +window.addEventListener('beforeprint', (event) => { + console.log('Before print'); + event.stopImmediatePropagation(); + event.preventDefault(); +}); + +window.addEventListener('afterprint', (event) => { + console.log('After print'); + event.stopImmediatePropagation(); + event.preventDefault(); +}); + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//リソース(担当看護師一覧)取得 +care7_Scheduler.prototype.createResource = function () { + let resource = []; + + $p.apiGet({ + "id": resourceTableId, + "async": false, + "data": { + "ApiVersion": 1.1, + "ApiKey": apiKey, + "View": { + "ColumnSorterHash": { + "Title": "ASC" + } + } + }, + "done": function (data) { + //console.log(data); + $.each(data.Response.Data, function (index, value) { + let member = { + id: value.ResultId, + title: value.Title + } + resource.push(member); + }); + resourceCount = data.Response.TotalCount; + } + }); + + this.resources = resource; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +care7_Scheduler.prototype.createEvents = function () { + let eventList = []; + let exEvent = {}; + let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate')); + let startdate = nowdate; + startdate.setDate(1); + startdate.setHours(0); + startdate.setMinutes(0); + startdate.setSeconds(0); + let enddate = new Date(startdate); + enddate.setMonth(enddate.getMonth() + 1); + enddate.setMinutes(enddate.getMinutes() - 1); + + let startStr = startdate.getFullYear() + '/' + ("00" + (startdate.getMonth() + 1)).slice(-2) + '/' + ("00" + startdate.getDate()).slice(-2) + ' 00:00:00'; + let endStr = enddate.getFullYear() + '/' + ("00" + (enddate.getMonth() + 1)).slice(-2) + '/' + ("00" + enddate.getDate()).slice(-2) + ' 00:00:00'; + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //例外予定取得 + $p.apiGet({ + "id": reigaiTableId, + "async": false, + "data": { + "ApiVersion": 1.1, + "ApiKey": apiKey, + "View": { + "ColumnFilterHash": { + "DateB": '["' + startStr + ',' + endStr + '"]' + }, + "ColumnSorterHash": { + "Title": "ASC" + } + } + }, + "done": function (data) { + //console.log(data.Response.Data); + $.each(data.Response.Data, function (index, value) { + if (Array.isArray(exEvent[value.ClassHash.ClassA]) == false) { + exEvent[value.ClassHash.ClassA] = new Array; + } + exEvent[value.ClassHash.ClassA].push(value.DateHash.DateB.split('T')[0]); + }); + } + }); + //console.log(exEvent); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //周回予定取得 + $p.apiGet({ + "id": shukaiTableId, + "async": false, + "data": { + "ApiVersion": 1.1, + "ApiKey": apiKey, + "View": { + "ColumnSorterHash": { + "Title": "ASC" + } + } + }, + "done": function (data) { + //console.log(data.Response.Data); + $.each(data.Response.Data, function (index, value) { + let nowdate = new Date(document.getElementById('nowdate').getAttribute('nowdate')); + let startdate = nowdate; + startdate.setDate(1); + startdate.setHours(0); + startdate.setMinutes(0); + startdate.setSeconds(0); + let enddate = new Date(startdate); + enddate.setMonth(enddate.getMonth() + 1); + enddate.setMinutes(enddate.getMinutes() - 1); + + let flag = 1; + + //console.log(startdate); + //console.log(enddate); + + let id = value.ResultId; + let title = value.ClassHash.ClassB; + let freqId = value.ClassHash.ClassC; + + let time = value.ClassHash.ClassE + ':00'; + let duration = value.ClassHash.ClassF; + let category = value.ClassHash.ClassG; + + let date = 1; + date = value.ClassHash.ClassH; //指定週 + + //開始日取得 + let activeStartTime = ''; + if (value.DateHash.DateE != '1899-12-30T00:00:00') { + activeStartTime = new Date(value.DateHash.DateE); + + if (!(startdate.getTime() >= activeStartTime.getTime())) { + console.log('開始日判定 除外 : ' + title) + return true; + } + } + + //終了日取得 + let activeEndTime = ''; + if (value.DateHash.DateF != '1899-12-30T00:00:00') { + activeEndTime = new Date(value.DateHash.DateF); + activeEndTime.setDate(activeEndTime.getDate() + 1); + activeEndTime.setMinutes(activeEndTime.getMinutes() - 1); + + if (!(enddate.getTime() <= activeEndTime.getTime())) { + console.log('終了日判定 除外 : ' + title) + return true; + } + } + + //リソースID変換 + let str = value.ClassHash.ClassV; + str = str.replaceAll('"', ''); + str = str.replaceAll('[', ''); + str = str.replaceAll(']', ''); + let resourceIds = new Array; + resourceIds = str.split(','); + + //曜日返還 + str = value.ClassHash.ClassD; + str = str.replaceAll('"', ''); + str = str.replaceAll('[', ''); + str = str.replaceAll(']', ''); + let byweekday = new Array; + byweekday = str.split(','); + + let freq = 'weekly'; + let interval = 1; + let count = 999; + + let bysetpos; + + if (freqId == 2) { //第1,3週 + freq = 'monthly'; + interval = 1; + bysetpos = [1, 3]; + } else if (freqId == 3) { //第2,4週 + freq = 'monthly'; + interval = 1; + bysetpos = [2, 4]; + } else if (freqId == 4) { //毎月 + freq = 'monthly'; + interval = 10; + bysetpos = [date]; + } else if (freqId == 5) { //奇数月 + if ((startdate.getMonth() + 1) % 2 == 0) { //カレンダー月が偶数の場合はスキップ + //startdate.setMonth(startdate.getMonth() + 1); + console.log('偶数のため除外 : ' + title); + return true; + } else { + console.log('奇数月 : ' + title); + } + freq = 'monthly'; + interval = 10; + bysetpos = [date]; + } else if (freqId == 6) { //偶数月 + if ((startdate.getMonth() + 1) % 2 != 0) { //カレンダー月が奇数の場合はスキップ + //startdate.setMonth(startdate.getMonth() + 1); + console.log('奇数月のため除外 : ' + title); + return true; + } else { + console.log('偶数月 : ' + title); + } + freq = 'monthly'; + interval = 10; + bysetpos = [date]; + } else if (freqId >= 7) { //3ヶ月毎1,4,7,10 + let monthList = []; + + if (freqId == 7) monthList = [1, 4, 7, 10]; + if (freqId == 8) monthList = [2, 5, 8, 11]; + if (freqId == 9) monthList = [3, 6, 9, 12]; + + let checkMonth = (startdate.getMonth() + 1); + if (monthList.includes(checkMonth)) { //カレンダー月がリストに含まれてたら + freq = 'monthly'; + interval = 10; + bysetpos = [date]; + console.log('3ヶ月パターン : ' + freqId + ' : ' + title); + console.log(title); + } else { + console.log('該当月ではないため除外 : ' + title); + return true; + } + } + + let dtstart = ''; + let until = ''; + + + dtstart = startdate.getFullYear() + + '-' + ("00" + (startdate.getMonth() + 1)).slice(-2) + + '-' + ("00" + startdate.getDate()).slice(-2) + + 'T' + time; + + until = enddate.getFullYear() + + '-' + ("00" + (enddate.getMonth() + 1)).slice(-2) + + '-' + ("00" + enddate.getDate()).slice(-2) + + 'T' + time; + + //ピンポイント備考の取得 + let comments = []; + for (i = 1; i <= 5; i++) { + if (value.ClassHash['Class' + i.toString().padStart(3, 0)] != '') { + comments.push({ + 'commentDate': new Date(value.DateHash['Date' + i.toString().padStart(3, 0)]), + 'comment': value.ClassHash['Class' + i.toString().padStart(3, 0)] + }) + } + } + + //console.log(resourceIds); + let event = { + 'id': id, + 'title': title, + 'resourceIds': resourceIds, + 'duration': duration, + 'textColor': '#000000', + // borderColor: '#000000', + 'extendedProps': { + 'description': value.Body, + 'category': 'その他', + 'type': 2, + 'byweekday': byweekday, + 'comments': comments, + }, + 'rrule': { + 'freq': freq, + 'interval': interval, + 'byweekday': byweekday, + 'dtstart': dtstart, + 'count': count, + 'until': until, + }, + 'exdate': [], + } + + event.extendedProps.category = categoryData[category].name; + + switch (freqId) { + case 2: + case 3: + event.rrule.bysetpos = bysetpos; + break; + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + event.extendedProps.type = 3; + break; + } + + if (freqId == 1) {//毎週 + event.backgroundColor = categoryData[category].bgColor; + event.textColor = categoryData[category].fontColor; + event.borderColor = categoryData[category].bgColor; + } else {//その他 + event.rrule.bysetpos = bysetpos; + event.backgroundColor = patternData[freqId].bgColor; + event.textColor = patternData[freqId].fontColor; + event.borderColor = patternData[freqId].bgColor; + } + + + //例外予定日処理 + if (Array.isArray(exEvent[id]) == true) { + for (i = 0; i < exEvent[id].length; i++) { + exEvent[id][i] = exEvent[id][i] + 'T' + time; + } + event.exdate = exEvent[id]; + } + eventList.push(event); + + }); + + //console.log(eventList); + } + }); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //個別予定取得 + $p.apiGet({ + "id": kobetsuTableId, + "async": false, + "data": { + "ApiVersion": 1.1, + "ApiKey": apiKey, + "View": { + "ColumnFilterHash": { + "DateA": '["' + startStr + ',' + endStr + '"]' + }, + "ColumnSorterHash": { + "Title": "ASC" + } + } + }, + "done": function (data) { + //console.log(data.Response.Data); + $.each(data.Response.Data, function (index, value) { + let id = value.ResultId; + let title = value.ClassHash.ClassB; + let time = value.ClassHash.ClassE + ':00'; + let duration = value.ClassHash.ClassF; + let category = value.ClassHash.ClassG; + //リソースID変換 + let str = value.ClassHash.ClassV; + str = str.replaceAll('"', ''); + str = str.replaceAll('[', ''); + str = str.replaceAll(']', ''); + let resourceIds = new Array; + resourceIds = str.split(','); + let start = new Date(value.DateHash.DateA); + start.setHours(time.split(':')[0]); + start.setMinutes(time.split(':')[1]); + + let end = new Date(start); + if (category == '4') { + end.setHours(end.getHours() + 1); + end.setMinutes(end.getMinutes()); + } else { + end.setHours(end.getHours() + Number(duration.split(':')[0])); + end.setMinutes(end.getMinutes() + Number(duration.split(':')[1])); + } + + let comments = []; + let commentDate = new Date(start.getFullYear(), start.getMonth(), start.getDate(), 0, 0, 0); + if (value.ClassHash.Class001 != '') { + comments.push({ + 'commentDate': commentDate, + 'comment': value.ClassHash.Class001 + }); + } + let event = {}; + if (category == 4) { + event = { + 'id': id, + 'title': title, + 'resourceIds': resourceIds, + 'start': start, + 'end': end, + 'allDay': true, + 'textColor': '#000000', + 'borderColor': 'black', + 'extendedProps': { + 'description': value.Body, + 'category': category, + 'type': 1, + 'comments': comments, + } + } + } else { + event = { + 'id': id, + 'title': title, + 'resourceIds': resourceIds, + 'start': start, + 'end': end, + //'textColor': '#000000', + 'borderColor': 'red', + 'extendedProps': { + 'description': value.Body, + 'category': category, + 'type': 1, + 'comments': comments, + } + } + } + + event.extendedProps.category = categoryData[category].name; + event.backgroundColor = categoryData[category].bgColor + event.textColor = categoryData[category].fontColor; + + eventList.push(event); + + }); + } + }); + + this.events = eventList; + //console.log(this.events); + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +care7_Scheduler.prototype.createCalendar = function (calid, num) { + //console.log(calid); + let calendarEl = document.getElementById(calid); + // let date1 = new Date(); + let date1 = new Date(document.getElementById('nowdate').getAttribute('nowdate')); + date1.setDate(1); + let weekDay = date1.getDay(); + + if (weekDay == 0) { + date1.setDate(date1.getDate() + 1); + } else if (weekDay == 6) { + date1.setDate(date1.getDate() + 2); + } else { + date1.setDate(date1.getDate() - weekDay + 1); + } + date1.setDate(date1.getDate() + (num * 7)); + + //let myCalendar = new FullCalendar.Calendar(calendarEl, { + calObj[calid] = new FullCalendar.Calendar(calendarEl, { + schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives', + firstDay: 1, + resourceAreaWidth: 120, + rerenderDelay: 500, + droppable: true, + now: new Date(1900, 1, 1), + initialDate: date1, + weekends: false, + editable: true, //編集機能 + locale: 'ja', //日本語表記 + initialView: 'resourceTimeGridFiveDay', + headerToolbar: false, + datesAboveResources: true, + contentHeight: 'auto', + allDaySlot: true, + allDayText: '備考', + slotDuration: '00:15:00', + slotLabelInterval: '01:00', + slotMinTime: '08:00:00', + slotMaxTime: '17:00:00', + views: { + resourceTimeGridFiveDay: { + type: 'resourceTimeGrid', + duration: { + days: 5 + } + }, + }, + resources: this.resources, + resourceOrder: 'title', + //events: this.events, + events: function (fetchInfo, successCallback, failureCallback) { + successCallback(c7s.events); + }, + eventClick: function (info) { + openEventData(info); + }, + eventContent: function (eventInfo) { + //console.log(eventInfo); + + let timetext_ele = document.createElement('div'); + let category_ele = document.createElement('div'); + let length = 10000; + + let sHour; + let sHourStr; + + let sMinutes; + let sMinutesStr + + let eHour; + let eHourStr; + + let eMinutes; + let eMinutesStr; + + if (eventInfo.event.extendedProps.category != '備考') { + sHour = eventInfo.event.start.getHours(); + sHourStr = sHour.toString().padStart(2, '0'); + + sMinutes = eventInfo.event.start.getMinutes(); + sMinutesStr = sMinutes.toString().padStart(2, '0'); + + eHour = eventInfo.event.end.getHours(); + eHourStr = eHour.toString().padStart(2, '0'); + + eMinutes = eventInfo.event.end.getMinutes(); + eMinutesStr = eMinutes.toString().padStart(2, '0'); + + length = (eHour * 60 + eMinutes) - (sHour * 60 + sMinutes) + + timetext_ele.innerHTML = sHourStr + ':' + sMinutesStr + '-' + eHourStr + ':' + eMinutesStr; + timetext_ele.style.fontSize = '70%'; + category_ele.style.fontSize = '70%'; + category_ele.style.fontWeight = 'bold'; + category_ele.innerHTML = '[' + eventInfo.event.extendedProps.category + ']'; + } + + let title_ele = document.createElement('div'); + title_ele.style.fontSize = '120%'; + title_ele.style.fontWeight = 'bold'; + title_ele.innerHTML = eventInfo.event.title; + + let comments_ele = document.createElement('div'); + + ////ピンポイント備考 + let comments = eventInfo.event.extendedProps.comments; + if (comments.length) { + //console.log(comments); + let eventDate = new Date(eventInfo.event.start.getFullYear(), eventInfo.event.start.getMonth(), eventInfo.event.start.getDate(), 0, 0, 0); + for (i = 0; i < comments.length; i++) { + if ((comments[i].commentDate).getTime() == eventDate.getTime()) { + //console.log(comments[i]); + comments_ele.innerHTML = comments[i].comment; + + //コメントがある場合に限り、枠が30分以下の場合、行間を狭める + if (length <= 30) { + title_ele.style.fontSize = '100%'; + title_ele.style.lineHeight = '11px'; + timetext_ele.style.lineHeight = '11px'; + category_ele.style.lineHeight = '11px'; + + } + + } + } + } + + comments_ele.style.fontSize = '70%'; + comments_ele.style.fontWeight = 'bold'; + comments_ele.style.color = 'red'; + comments_ele.style.backgroundColor = 'white'; + comments_ele.style.overflowWrap = 'anywhere'; + comments_ele.style.lineHeight = '11px'; + + let description_ele = document.createElement('pre'); + description_ele.innerHTML = eventInfo.event.extendedProps.description; + description_ele.style.fontSize = '70%'; + + let ele = document.createElement('div'); + ele.appendChild(timetext_ele); + ele.appendChild(category_ele); + ele.appendChild(title_ele); + if (eventInfo.event.extendedProps.category == '備考') { + ele.appendChild(description_ele); + } + ele.appendChild(comments_ele); + + let arrayOfDomNodes = [ele]; + return { + domNodes: arrayOfDomNodes + } + }, + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + snapDuration: '00:15:00', + //イベント移動、リサイズ + eventResize: function (eventResizeInfo) { + eventDataUpdate(eventResizeInfo); + c7s.createEvents(); + calObj.cal1.refetchEvents(); + calObj.cal2.refetchEvents(); + calObj.cal3.refetchEvents(); + calObj.cal4.refetchEvents(); + calObj.cal5.refetchEvents(); + }, + eventDrop: function (eventDropInfo) { + eventDataUpdate(eventDropInfo); + c7s.createEvents(); + calObj.cal1.refetchEvents(); + calObj.cal2.refetchEvents(); + calObj.cal3.refetchEvents(); + calObj.cal4.refetchEvents(); + calObj.cal5.refetchEvents(); + }, + eventReceive: function (info) { + if (info.event.extendedProps.type == 1) { + eventDataUpdate(info); + c7s.createEvents(); + } + info.event.remove(); + calObj.cal1.refetchEvents(); + calObj.cal2.refetchEvents(); + calObj.cal3.refetchEvents(); + calObj.cal4.refetchEvents(); + calObj.cal5.refetchEvents(); + }, + }); + calObj[calid].render(); + //console.log(calObj[calid].getEvents()); + //console.log(myCalendar.getEventById(2)); + +} +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function eventDataUpdate(info) { + //console.log(info); + let week = ['su', 'mo', 'tu', 'we', 'th', 'fr', 'sa']; + let type = info.event.extendedProps.type; + //リソースリスト作成 + let resourceIds = ''; + $.each(info.event._def.resourceIds, function (index, value) { + if (index == 0) resourceIds += '"' + value + '"'; + if (index != 0) resourceIds += ',"' + value + '"'; + }); + + //開始時間算出 + let starttime = info.event.start.getHours().toString().padStart(2, '0') + ":" + + info.event.start.getMinutes().toString().padStart(2, '0'); + let startdate = info.event.start.getFullYear() + '/' + + (info.event.start.getMonth() + 1).toString().padStart(2, '0') + '/' + + info.event.start.getDate().toString().padStart(2, '0') + ' 00:00:00'; + + //長さ算出 + let diff = new Date(info.event.end - info.event.start); + diff.setHours(diff.getHours() - 9); + let duration = diff.getHours().toString().padStart(2, '0') + ':' + + diff.getMinutes().toString().padStart(2, '0'); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //個別予定の更新 + if (type == 1) { + let eventData = { + id: info.event.id, + startdate: startdate, + starttime: starttime, + duration: duration, + } + + $p.apiUpdate({ + id: eventData.id, + data: { + ApiVersion: 1.0, + DateHash: { + DateA: eventData.startdate + }, + ClassHash: { + ClassE: eventData.starttime, + ClassF: eventData.duration, + ClassV: '[' + resourceIds + ']' + } + }, + done: function (data) { + //console.log(data); + }, + fail: function (data) { + console.log(data); + }, + }); + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //周回予定(週)の更新 + } else if (type == 2 || type == 3) { + let eventData = { + id: info.event.id, + newweekday: week[info.event.start.getDay()], + oldweekday: week[info.oldEvent.start.getDay()], + weekList: info.event.extendedProps.byweekday, + starttime: starttime, + duration: duration, + } + + eventData.weekList.forEach(function (element, index) { + if (element == eventData.oldweekday) { + eventData.weekList[index] = eventData.newweekday; + } + }); + let byweekday = '"' + eventData.weekList.join('","') + '"'; + //console.log(eventData); + + $p.apiUpdate({ + id: eventData.id, + data: { + ApiVersion: 1.0, + ClassHash: { + ClassE: eventData.starttime, + ClassF: eventData.duration, + ClassD: '[' + byweekday + ']', + ClassV: '[' + resourceIds + ']' + } + }, + done: function (data) { + //console.log(data); + }, + fail: function (data) { + console.log(data); + }, + }); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //周回予定(月)の更新 + } + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//カレンダー保管コンテナの作成 +function createCalendarContainer() { + let app = document.getElementById('Application'); + + if ($('#myCalContainer')[0]) { + $('#myCalContainer').remove(); + } + let myCalContainer = document.createElement('div'); + + let cal1 = document.createElement('div'); + let cal2 = document.createElement('div'); + let cal3 = document.createElement('div'); + let cal4 = document.createElement('div'); + let cal5 = document.createElement('div'); + + cal1.style.backgroundColor = '#e6e6fa'; + cal2.style.backgroundColor = '#ffffe0'; + cal3.style.backgroundColor = '#e0ffff'; + cal4.style.backgroundColor = '#ffb6c1'; + cal5.style.backgroundColor = '#dcdcdc'; + + myCalContainer.id = 'myCalContainer'; + + //myCalContainer.style.width = '2200px'; + let containerWidth = (resourceCount * 80) * 5 + 100; + myCalContainer.style.width = containerWidth + 'px'; + + myCalContainer.style.float = 'left'; + myCalContainer.style.padding = '0px'; + myCalContainer.style.margin = '0px'; + + cal1.id = 'cal1'; + cal2.id = 'cal2'; + cal3.id = 'cal3'; + cal4.id = 'cal4'; + cal5.id = 'cal5'; + + let pageBreak1 = document.createElement('div'); + pageBreak1.classList.add('pagebreak'); + let pageBreak2 = document.createElement('div'); + pageBreak2.classList.add('pagebreak'); + + myCalContainer.appendChild(cal1); + myCalContainer.appendChild(cal2); + myCalContainer.appendChild(pageBreak1); + myCalContainer.appendChild(cal3); + myCalContainer.appendChild(cal4); + myCalContainer.appendChild(pageBreak2); + myCalContainer.appendChild(cal5); + + // app.innerHTML = ''; + // app.appendChild(buttonArea); + app.appendChild(myCalContainer); + + $('#Footer').css("display", 'none'); + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//イベント編集画面を開く + +function openEventData(info) { + let windowName = 'Care7EventData'; + let url = 'https://' + document.domain + '/pleasanter/items/' + info.event.id; + let option = 'width=1100px,height=800px,scrollbars = 0'; + window.open(url, windowName, option); + +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/Scripts/01_変更履歴.js b/pleasanter/develop/新・着工要因プリザンター化/Scripts/01_変更履歴.js new file mode 100644 index 00000000..f44ebbda --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/Scripts/01_変更履歴.js @@ -0,0 +1,514 @@ +let pageLoading = 0; +let apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d'; + +//---------------------------------------------------------------------- +//初期処理 +window.addEventListener('load', function () { + if (pageLoading == 0) { + console.log('Window load Event'); + $p.ex.onLoad(); + } +}); + +$p.events.on_editor_load = function () { + if (pageLoading == 0) { + console.log('on Editor Load'); + $p.ex.onLoad(); + } +} + +//---------------------------------------------------------------------- +$p.ex.onLoad = function () { + //ロード開始 + pageLoading = 1; + + //初期処理 + $p.ex.init(); +} + +$p.ex.init = function () { + //コメント削除ボタン非表示 + $('p[data-action="DeleteComment"]').hide(); + //自身のデータを取得 + $p.ex.getMyData(); + + //日付の色分け + $p.ex.checkDate(); + + //MSSデータ取得ボタン生成 + $p.getMSSdataButton(); + + //カレンダー生成 + $p.ex.createCalendarTable(); +} + +$p.events.after_set = function (args) { + //初期処理 + $p.ex.init(); +} + +let myData; + +$p.ex.getMyData = function () { + let thisId = $p.id(); + + $p.apiGet({ + 'id': thisId, + 'data': { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + }, + 'async': false, + 'done': function (data) { + myData = data.Response.Data[0]; + }, + 'fail': function (data) { + console.log(data); + } + + }); +} + +//---------------------------------------------------------------------- +//入力チェック前処理 +$p.events.before_validate = function (args) { + //着工可能日と着工枠チェック + let date148 = $('#Results_Date148').val(); + let classZ = $('#Results_ClassZ').val(); + + if (date148 != '' && classZ == '') { + $p.ex.setMyMessage('status-red', '着工枠が登録されていません。着工枠テーブルでデータを追加してください。'); + return false; + } +} + + + +//入力チェック後処理 +$p.events.after_validate = function (args) { + //変更履歴の保存 + $p.ex.saveHistory(); +} + +$p.ex.checkDate = function () { + let dateItems = { + "敷地測量": { "予定": "Results_Date011", "実績": "Results_Date111" }, + "SR案内": { "予定": "Results_Date012", "実績": "Results_Date112" }, + "図確引継": { "予定": "Results_Date013", "実績": "Results_Date113" }, + "省エネ説明": { "予定": "Results_Date014", "実績": "Results_Date114" }, + "取出有無業者連絡": { "予定": "Results_Date015", "実績": "Results_Date115" }, + "一次エネ設備決": { "予定": "Results_Date016", "実績": "Results_Date116" }, + "仕様打完了": { "予定": "Results_Date017", "実績": "Results_Date117" }, + "4者承認図前": { "予定": "Results_Date018", "実績": "Results_Date118" }, + "承認図14日前": { "予定": "Results_Date019", "実績": "Results_Date119" }, + "ゼロエミ承認": { "予定": "Results_Date020", "実績": "Results_Date120" }, + "着工金入金": { "予定": "Results_Date021", "実績": "Results_Date121" }, + "融資事前相談": { "予定": "Results_Date022", "実績": "Results_Date122" }, + "融資申込": { "予定": "Results_Date023", "実績": "Results_Date123" }, + "融資承認銀行": { "予定": "Results_Date024", "実績": "Results_Date124" }, + "土地契約": { "予定": "Results_Date025", "実績": "Results_Date125" }, + "土地残金": { "予定": "Results_Date026", "実績": "Results_Date126" }, + "残金後謄本": { "予定": "Results_Date027", "実績": "Results_Date127" }, + "引越し": { "予定": "Results_Date028", "実績": "Results_Date128" }, + "解体工事着手": { "予定": "Results_Date029", "実績": "Results_Date129" }, + "解体工事完了": { "予定": "Results_Date030", "実績": "Results_Date130" }, + "造成": { "予定": "Results_Date031", "実績": "Results_Date131" }, + "境界杭完了": { "予定": "Results_Date032", "実績": "Results_Date132" }, + "地耐力調査": { "予定": "Results_Date033", "実績": "Results_Date133" }, + "地祭": { "予定": "Results_Date034", "実績": "Results_Date134" }, + "構造計算有無完了日": { "予定": "Results_Date035", "実績": "Results_Date135" }, + "伏図チェック": { "予定": "Results_Date036", "実績": "Results_Date136" }, + "プレカット確定": { "予定": "Results_Date037", "実績": "Results_Date137" }, + "事前提出": { "予定": "Results_Date038", "実績": "Results_Date138" }, + "事前決裁": { "予定": "Results_Date039", "実績": "Results_Date139" }, + "確認提出": { "予定": "Results_Date040", "実績": "Results_Date140" }, + "確認決裁": { "予定": "Results_Date041", "実績": "Results_Date141" }, + "長期提出確認書": { "予定": "Results_Date042", "実績": "Results_Date142" }, + "長期行政提出": { "予定": "Results_Date043", "実績": "Results_Date143" }, + "保険登録": { "予定": "Results_Date044", "実績": "Results_Date144" }, + "地盤改良着手": { "予定": "Results_Date045", "実績": "Results_Date145" }, + "上棟金入金": { "予定": "Results_Date046", "実績": "Results_Date146" }, + "本契覚書承認日": { "予定": "Results_Date047", "実績": "Results_Date147" }, + "着工可能日": { "予定": "Results_Date048", "実績": "Results_Date148" } + } + + $.each(dateItems, function (key, val) { + let plannedDate = $('#' + val['予定']).val(); + let actualDate = $('#' + val['実績']).val(); + + if (plannedDate != '' && actualDate != '') { + $('#' + val['予定']).addClass('dateGrey'); + $('#' + val['実績']).addClass('dateGrey'); + + } else { + if (plannedDate == '') { + $('#' + val['予定']).addClass('dateYellow'); + } else { + $('#' + val['予定']).addClass('dateBlue'); + } + + if (actualDate == '') { + if (plannedDate != '') { + $('#' + val['実績']).addClass('dateRed'); + } else { + $('#' + val['実績']).addClass('dateYellow'); + } + } else { + $('#' + val['実績']).addClass('dateBlue'); + } + } + }); + +} + + +//変更内容を保存 +$p.ex.saveHistory = function () { + let history = ''; + let count = 0; + + //履歴に表示しない項目リスト + let excludeList = ['Results_Timestamp']; + + let dateNameList = { + "Results_Date011": "敷地測量 予定", + "Results_Date012": "SR案内 予定", + "Results_Date013": "図確引継 予定", + "Results_Date014": "省エネ説明 予定", + "Results_Date015": "取出有無業者連絡 予定", + "Results_Date016": "一次エネ設備決 予定", + "Results_Date017": "仕様打完了 予定", + "Results_Date018": "4者承認図前 予定", + "Results_Date019": "承認図14日前 予定", + "Results_Date020": "ゼロエミ承認 予定", + "Results_Date021": "着工金入金 予定", + "Results_Date022": "融資事前相談 予定", + "Results_Date023": "融資申込 予定", + "Results_Date024": "融資承認銀行 予定", + "Results_Date025": "土地契約 予定", + "Results_Date026": "土地残金 予定", + "Results_Date027": "残金後謄本 予定", + "Results_Date028": "引越し 予定", + "Results_Date029": "解体工事着手 予定", + "Results_Date030": "解体工事完了 予定", + "Results_Date031": "造成 予定", + "Results_Date032": "境界杭完了 予定", + "Results_Date033": "地耐力調査 予定", + "Results_Date034": "地祭 予定", + "Results_Date035": "構造計算有無完了日 予定", + "Results_Date036": "伏図チェック 予定", + "Results_Date037": "プレカット確定 予定", + "Results_Date038": "事前提出 予定", + "Results_Date039": "事前決裁 予定", + "Results_Date040": "確認提出 予定", + "Results_Date041": "確認決裁 予定", + "Results_Date042": "長期提出確認書 予定", + "Results_Date043": "長期行政提出 予定", + "Results_Date044": "保険登録 予定", + "Results_Date045": "地盤改良着手 予定", + "Results_Date046": "上棟金入金 予定", + "Results_Date047": "本契覚書承認日 予定", + "Results_Date048": "着工可能日 契約時", + "Results_Date111": "敷地測量 実績", + "Results_Date112": "SR案内 実績", + "Results_Date113": "図確引継 実績", + "Results_Date114": "省エネ説明 実績", + "Results_Date115": "取出有無業者連絡 実績", + "Results_Date116": "一次エネ設備決 実績", + "Results_Date117": "仕様打完了 実績", + "Results_Date118": "4者承認図前 実績", + "Results_Date119": "承認図14日前 実績", + "Results_Date120": "ゼロエミ承認 実績", + "Results_Date121": "着工金入金 実績", + "Results_Date122": "融資事前相談 実績", + "Results_Date123": "融資申込 実績", + "Results_Date124": "融資承認銀行 実績", + "Results_Date125": "土地契約 実績", + "Results_Date126": "土地残金 実績", + "Results_Date127": "残金後謄本 実績", + "Results_Date128": "引越し 実績", + "Results_Date129": "解体工事着手 実績", + "Results_Date130": "解体工事完了 実績", + "Results_Date131": "造成 実績", + "Results_Date132": "境界杭完了 実績", + "Results_Date133": "地耐力調査 実績", + "Results_Date134": "地祭 実績", + "Results_Date135": "構造計算有無完了日 実績", + "Results_Date136": "伏図チェック 実績", + "Results_Date137": "プレカット確定 実績", + "Results_Date138": "事前提出 実績", + "Results_Date139": "事前決裁 実績", + "Results_Date140": "確認提出 実績", + "Results_Date141": "確認決裁 実績", + "Results_Date142": "長期提出確認書 実績", + "Results_Date143": "長期行政提出 実績", + "Results_Date144": "保険登録 実績", + "Results_Date145": "地盤改良着手 実績", + "Results_Date146": "上棟金入金 実績", + "Results_Date147": "本契覚書承認日 実績", + "Results_Date148": "着工可能日 可能日", + "Results_Class011": "敷地測量 備考", + "Results_Class012": "SR案内 備考", + "Results_Class013": "図確引継 備考", + "Results_Class014": "省エネ説明 備考", + "Results_Class015": "取出有無業者連絡 備考", + "Results_Class016": "一次エネ設備決 備考", + "Results_Class017": "仕様打完了 備考", + "Results_Class018": "4者承認図前 備考", + "Results_Class019": "承認図14日前 備考", + "Results_Class020": "ゼロエミ承認 備考", + "Results_Class021": "着工金入金 備考", + "Results_Class022": "融資事前相談 備考", + "Results_Class023": "融資申込 備考", + "Results_Class024": "融資承認銀行 備考", + "Results_Class025": "土地契約 備考", + "Results_Class026": "土地残金 備考", + "Results_Class027": "残金後謄本 備考", + "Results_Class028": "引越し 備考", + "Results_Class029": "解体工事着手 備考", + "Results_Class030": "解体工事完了 備考", + "Results_Class031": "造成 備考", + "Results_Class032": "境界杭完了 備考", + "Results_Class033": "地耐力調査 備考", + "Results_Class034": "地祭 備考", + "Results_Class035": "構造計算有無完了日 備考", + "Results_Class036": "伏図チェック 備考", + "Results_Class037": "プレカット確定 備考", + "Results_Class038": "事前提出 備考", + "Results_Class039": "事前決裁 備考", + "Results_Class040": "確認提出 備考", + "Results_Class041": "確認決裁 備考", + "Results_Class042": "長期提出確認書 備考", + "Results_Class043": "長期行政提出 備考", + "Results_Class044": "保険登録 備考", + "Results_Class045": "地盤改良着手 備考", + "Results_Class046": "上棟金入金 備考", + "Results_Class047": "本契覚書承認日 備考", + "Results_Class048": "着工可能日 備考", + } + + // excludeListに含まれる項目名をclassに持つ要素を取得 + $('.excludeList').each(function () { + console.log(this.id); + excludeList.push(this.id); + }); + + //更新された項目を抜き出し、履歴保存する + if ($p.data.MainForm) { + $p.set($('#Results_Description200'), ''); + + history = '◆ 変更内容 ◆\n'; + $.each($p.data.MainForm, function (index, val) { + if (index.startsWith('Results')) { + //対象外項目は除外 + if (!excludeList.includes(index)) { + //項目名の取得 + let colName = $('label[for="' + index + '"]').text(); + if (dateNameList.hasOwnProperty(index)) { + colName = dateNameList[index]; + } + + let newData; + let nowData; + let index2 = index.split('_')[1]; + //現在値の取得 + if (index.startsWith('Results_Class')) { + nowData = myData.ClassHash[index2]; + } else if (index.startsWith('Results_Date')) { + if (myData.DateHash[index2] == '' || myData.DateHash[index2] == '1899-12-30T00:00:00') { + nowData = ''; + } else { + nowData = $p.ex.dateToString(myData.DateHash[index2]); + } + + } else if (index.startsWith('Results_Num')) { + nowData = myData.NumHash[index2]; + } else if (index.startsWith('Results_Description')) { + nowData = myData.DescriptionHash[index2]; + } else if (index.startsWith('Results_Check')) { + nowData = myData.CheckHash[index2]; + } + + //セレクトボックス判定 + if ($('#' + index + '.control-dropdown').length) { + //セレクトボックス処理 + if ($('#' + index).prop("multiple")) { + newData = $('#' + index + '_ms span').eq(-1).text(); + } else { + newData = $('#' + index + ' option:selected').text(); + } + } else if ($('#' + index + '.radio-value').length) { + //ラジオボタン処理 + newData = val != '' ? $('label[for="' + index + val + '"').text() : ''; + } else { + //その他 + newData = val; + } + if (nowData != '') { + if (nowData != newData) { + history += '▷ ' + colName + ' : ' + nowData + ' -> ' + newData + '\n'; + count++; + } + } else { + history += '▷ ' + colName + ' : ' + newData + '\n'; + count++; + } + } + } + }); + + if (count) { + //console.log(history); + $p.set($('#Results_Description200'), history); + $p.set($('#Comments'), history); + } + } +} + +$p.ex.dateToString = function (date) { + if (date == null || date == '' || date == '1899-12-30T00:00:00') { + return ''; + } + let dateString = date.split('T')[0]; + let dateVar = new Date(dateString); + let year = dateVar.getFullYear(); + let month = (dateVar.getMonth() + 1); + let day = dateVar.getDate(); + + return year + '/' + month + '/' + day; +} + +$p.ex.dateToString2 = function (date) { + if (date == null || date == '') { + return ''; + } + let dateVar = new Date(date); + let year = dateVar.getFullYear(); + let month = (dateVar.getMonth() + 1); + let day = dateVar.getDate(); + + return month + '/' + day; +} + + +$p.getMSSdataButton = function () { + if ($('#getMSSdataButton').length) { + return; + } + let button = document.createElement("button"); + button.id = 'getMSSdataButton'; + button.innerHTML = "MSSデータ取得"; + button.setAttribute('onclick', '$p.ex.getMSSdata()'); + button.style.margin = '3px'; + button.style.float = 'left'; + $('#Results_ClassAField').after(button); + $('#getMSSdataButton').button({ + icon: 'ui-icon-document' + }); +} + +$p.ex.getMSSdata = async function () { + let keiyakuCode = $('#Results_ClassA').val(); + if (keiyakuCode == '') { + return; + } + + //MSSテーブルからレコードを取得 + const getUrl = 'https://' + location.hostname + '/pleasanter/api/items/189112/get'; + const getJson = { + 'ApiVersion': 1.1, + 'ApiKey': apiKey, + 'View': { + 'ColumnFilterHash': { + 'ClassA': keiyakuCode + } + } + } + const getRes = await fetch(getUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(getJson) + }); + const getResData = await getRes.json(); + console.log(getResData); + + if (getResData.StatusCode != 200) { + $p.ex.setMyMessage('status-red', 'MSSデータの取得に失敗しました。'); + return; + } + + if (getResData.Response.TotalCount != 1) { + $p.ex.setMyMessage('status-yellow', 'MSSデータが見つかりません。契約コードを確認してください。'); + return; + } + + let mssData = getResData.Response.Data[0]; + + // MSSデータを各項目にセット + $p.set($('#Results_ClassA'), mssData.ClassHash.ClassA); + $p.set($('#Results_ClassB'), mssData.ClassHash.ClassQ); + $p.set($('#Results_ClassC'), mssData.ClassHash.Class031); + $p.set($('#Results_ClassD'), mssData.ClassHash.ClassD); + $p.set($('#Results_ClassE'), mssData.ClassHash.ClassF); + $p.set($('#Results_ClassF'), mssData.ClassHash.ClassW); + $p.set($('#Results_ClassG'), mssData.ClassHash.ClassG); + $p.set($('#Results_ClassH'), mssData.ClassHash.ClassJ); + $p.set($('#Results_ClassI'), mssData.ClassHash.Class033); + $p.set($('#Results_ClassJ'), mssData.ClassHash.Class035); + $p.set($('#Results_ClassK'), mssData.ClassHash.Class042); + $p.set($('#Results_ClassL'), mssData.ClassHash.Class040); + $p.set($('#Results_ClassM'), mssData.ClassHash.Class043); + $p.set($('#Results_NumA'), mssData.NumHash.Num016); + $p.set($('#Results_DateA'), $p.ex.dateToString(mssData.DateHash.DateH)); + $p.set($('#Results_DateB'), $p.ex.dateToString(mssData.DateHash.DateL)); + $p.set($('#Results_NumB'), mssData.NumHash.Num050); + $p.set($('#Results_Class001'), mssData.ClassHash.ClassI); + $p.set($('#Results_Class004'), mssData.ClassHash.ClassK); + $p.set($('#Results_ClassR'), mssData.ClassHash.ClassY); + $p.set($('#Results_ClassS'), mssData.ClassHash.Class122); + $p.set($('#Results_Date048'), $p.ex.dateToString(mssData.DateHash.DateH)); + + $p.ex.setMyMessage('status-blue', 'MSSからデータを取得しました。'); +} + +//メッセージ追加表示 +$p.ex.setMyMessage = function (cssColor = 'alert-success', message, clear = 1) { + //クリアが指定されていたら事前にメッセージ消去 + clear && $p.clearMessage(); + + $p.setMessage('#Message', JSON.stringify({ + Css: 'alert-success ' + cssColor, + Text: message + })); + +} + + +//着工花押日 着工枠連動処理 +$p.on('change', 'Date148', function () { + //着工可能日選択 + let date148 = $('#Results_Date148').val(); + if (date148 != '') { + let dateObj = new Date(date148); + let year = dateObj.getFullYear(); + let month = dateObj.getMonth() + 1; + let newDate = year + '年' + month + '月'; + + //着工枠選択 + let changeFlag = false; + $('#Results_ClassZ option').each(function () { + if ($(this).text() === newDate) { + $('#Results_ClassZ').val($(this).val()).trigger('change'); + changeFlag = true; + return false; // break loop + } + }); + if (!changeFlag) { + //該当月が無い場合、着工枠を未選択にする + $('#Results_ClassZ').val('').trigger('change'); + } + } else { + //着工可能日が未選択の場合、着工枠も未選択にする + $('#Results_ClassZ').val('').trigger('change'); + } +}); diff --git a/pleasanter/develop/新・着工要因プリザンター化/Scripts/02_カレンダーテーブル生成.js b/pleasanter/develop/新・着工要因プリザンター化/Scripts/02_カレンダーテーブル生成.js new file mode 100644 index 00000000..82f4962d --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/Scripts/02_カレンダーテーブル生成.js @@ -0,0 +1,271 @@ +$p.ex.createCalendarTable = function () { + let temlate = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
営業設計営業IC営業設計営業FIT設計確認FIT確認FIT設計営業着工
可能日
敷地
測量
SR
案内
図確
引継
省エネ
説明
取出有無
業者連絡
一次エネ
設備決
仕様打
完了
4者
承認図前
承認図
14日前
ゼロエミ
承認
着工金
入金
融資
事前相談
融資
申込
融資承認
銀行
土地
契約
土地
残金
残金後
謄本
引越し解体工事
着手
解体工事
完了
造成境界杭
完了
地耐力
調査
地祭構造計算
有無完了日
伏図
チェック
プレカット
確定
事前
提出
事前
決裁
確認
提出
確認
決裁
長期提出
確認書
長期行政
提出
保険
登録
地盤改良
着手
上棟金
入金
本契覚書
承認日
予定{{Date011}}{{Date012}}{{Date013}}{{Date014}}{{Date015}}{{Date016}}{{Date017}}{{Date018}}{{Date019}}{{Date020}}{{Date021}}{{Date022}}{{Date023}}{{Date024}}{{Date025}}{{Date026}}{{Date027}}{{Date028}}{{Date029}}{{Date030}}{{Date031}}{{Date032}}{{Date033}}{{Date034}}{{Date035}}{{Date036}}{{Date037}}{{Date038}}{{Date039}}{{Date040}}{{Date041}}{{Date042}}{{Date043}}{{Date044}}{{Date045}}{{Date046}}{{Date047}}{{Date048}}
実績{{Date111}}{{Date112}}{{Date113}}{{Date114}}{{Date115}}{{Date116}}{{Date117}}{{Date118}}{{Date119}}{{Date120}}{{Date121}}{{Date122}}{{Date123}}{{Date124}}{{Date125}}{{Date126}}{{Date127}}{{Date128}}{{Date129}}{{Date130}}{{Date131}}{{Date132}}{{Date133}}{{Date134}}{{Date135}}{{Date136}}{{Date137}}{{Date138}}{{Date139}}{{Date140}}{{Date141}}{{Date142}}{{Date143}}{{Date144}}{{Date145}}{{Date146}}{{Date147}}{{Date148}}
`; + + let table = Hogan.compile(temlate); + let outputTable = table.render( + { + Date011: $p.ex.dateToString2($('#Results_Date011').val()), + Date012: $p.ex.dateToString2($('#Results_Date012').val()), + Date013: $p.ex.dateToString2($('#Results_Date013').val()), + Date014: $p.ex.dateToString2($('#Results_Date014').val()), + Date015: $p.ex.dateToString2($('#Results_Date015').val()), + Date016: $p.ex.dateToString2($('#Results_Date016').val()), + Date017: $p.ex.dateToString2($('#Results_Date017').val()), + Date018: $p.ex.dateToString2($('#Results_Date018').val()), + Date019: $p.ex.dateToString2($('#Results_Date019').val()), + Date020: $p.ex.dateToString2($('#Results_Date020').val()), + Date021: $p.ex.dateToString2($('#Results_Date021').val()), + Date022: $p.ex.dateToString2($('#Results_Date022').val()), + Date023: $p.ex.dateToString2($('#Results_Date023').val()), + Date024: $p.ex.dateToString2($('#Results_Date024').val()), + Date025: $p.ex.dateToString2($('#Results_Date025').val()), + Date026: $p.ex.dateToString2($('#Results_Date026').val()), + Date027: $p.ex.dateToString2($('#Results_Date027').val()), + Date028: $p.ex.dateToString2($('#Results_Date028').val()), + Date029: $p.ex.dateToString2($('#Results_Date029').val()), + Date030: $p.ex.dateToString2($('#Results_Date030').val()), + Date031: $p.ex.dateToString2($('#Results_Date031').val()), + Date032: $p.ex.dateToString2($('#Results_Date032').val()), + Date033: $p.ex.dateToString2($('#Results_Date033').val()), + Date034: $p.ex.dateToString2($('#Results_Date034').val()), + Date035: $p.ex.dateToString2($('#Results_Date035').val()), + Date036: $p.ex.dateToString2($('#Results_Date036').val()), + Date037: $p.ex.dateToString2($('#Results_Date037').val()), + Date038: $p.ex.dateToString2($('#Results_Date038').val()), + Date039: $p.ex.dateToString2($('#Results_Date039').val()), + Date040: $p.ex.dateToString2($('#Results_Date040').val()), + Date041: $p.ex.dateToString2($('#Results_Date041').val()), + Date042: $p.ex.dateToString2($('#Results_Date042').val()), + Date043: $p.ex.dateToString2($('#Results_Date043').val()), + Date044: $p.ex.dateToString2($('#Results_Date044').val()), + Date045: $p.ex.dateToString2($('#Results_Date045').val()), + Date046: $p.ex.dateToString2($('#Results_Date046').val()), + Date047: $p.ex.dateToString2($('#Results_Date047').val()), + Date048: $p.ex.dateToString2($('#Results_Date048').val()), + Date111: $p.ex.dateToString2($('#Results_Date111').val()), + Date112: $p.ex.dateToString2($('#Results_Date112').val()), + Date113: $p.ex.dateToString2($('#Results_Date113').val()), + Date114: $p.ex.dateToString2($('#Results_Date114').val()), + Date115: $p.ex.dateToString2($('#Results_Date115').val()), + Date116: $p.ex.dateToString2($('#Results_Date116').val()), + Date117: $p.ex.dateToString2($('#Results_Date117').val()), + Date118: $p.ex.dateToString2($('#Results_Date118').val()), + Date119: $p.ex.dateToString2($('#Results_Date119').val()), + Date120: $p.ex.dateToString2($('#Results_Date120').val()), + Date121: $p.ex.dateToString2($('#Results_Date121').val()), + Date122: $p.ex.dateToString2($('#Results_Date122').val()), + Date123: $p.ex.dateToString2($('#Results_Date123').val()), + Date124: $p.ex.dateToString2($('#Results_Date124').val()), + Date125: $p.ex.dateToString2($('#Results_Date125').val()), + Date126: $p.ex.dateToString2($('#Results_Date126').val()), + Date127: $p.ex.dateToString2($('#Results_Date127').val()), + Date128: $p.ex.dateToString2($('#Results_Date128').val()), + Date129: $p.ex.dateToString2($('#Results_Date129').val()), + Date130: $p.ex.dateToString2($('#Results_Date130').val()), + Date131: $p.ex.dateToString2($('#Results_Date131').val()), + Date132: $p.ex.dateToString2($('#Results_Date132').val()), + Date133: $p.ex.dateToString2($('#Results_Date133').val()), + Date134: $p.ex.dateToString2($('#Results_Date134').val()), + Date135: $p.ex.dateToString2($('#Results_Date135').val()), + Date136: $p.ex.dateToString2($('#Results_Date136').val()), + Date137: $p.ex.dateToString2($('#Results_Date137').val()), + Date138: $p.ex.dateToString2($('#Results_Date138').val()), + Date139: $p.ex.dateToString2($('#Results_Date139').val()), + Date140: $p.ex.dateToString2($('#Results_Date140').val()), + Date141: $p.ex.dateToString2($('#Results_Date141').val()), + Date142: $p.ex.dateToString2($('#Results_Date142').val()), + Date143: $p.ex.dateToString2($('#Results_Date143').val()), + Date144: $p.ex.dateToString2($('#Results_Date144').val()), + Date145: $p.ex.dateToString2($('#Results_Date145').val()), + Date146: $p.ex.dateToString2($('#Results_Date146').val()), + Date147: $p.ex.dateToString2($('#Results_Date147').val()), + Date148: $p.ex.dateToString2($('#Results_Date148').val()), + } + ); + + $('#Guide').empty(); + $('#Guide').append(outputTable); + + let rows = []; + $('#chakoTable tbody tr').each(function () { + let tds = []; + $(this).find('td').each(function () { + tds.push($(this)); + }); + rows.push(tds); + }); + + for (let col = 1; col < rows[0].length - 1; col++) { + let plannedDate = rows[0][col].text().trim(); + let actualDate = rows[1][col].text().trim(); + + console.log('予定:' + plannedDate); + console.log('実績:' + actualDate); + + if (plannedDate !== '' && actualDate === '') { + rows[0][col].addClass('blueDate'); + rows[1][col].addClass('redDate'); + } + if (plannedDate !== '' && actualDate !== '') { + rows[0][col].addClass('greyDate'); + rows[1][col].addClass('greyDate'); + } + if (plannedDate === '' && actualDate !== '') { + rows[0][col].addClass('yellowDate'); + rows[1][col].addClass('greyDate'); + } + if (plannedDate === '' && actualDate === '') { + rows[0][col].addClass('yellowDate'); + rows[1][col].addClass('yellowDate'); + } + + } + + +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/css/スタイル調整.css b/pleasanter/develop/新・着工要因プリザンター化/css/スタイル調整.css new file mode 100644 index 00000000..324ab2b9 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/css/スタイル調整.css @@ -0,0 +1,36 @@ +.field-normal, +.field-wide { + height: 32px; + min-height: 32px; +} + +.field-section { + font-size: 1.5em; + font-weight: bold; + margin-top: 3px; + margin-bottom: 3px; +} + +.dateYellow { + background-color: yellow !important; + color: black !important; + font-weight: bold !important; +} + +.dateRed { + background-color: red !important; + color: white !important; + font-weight: bold !important; +} + +.dateGrey { + background-color: grey !important; + color: black !important; + font-weight: bold !important; +} + +.dateBlue { + background-color: lightblue !important; + color: black !important; + font-weight: bold !important; +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/css/一覧スタイル調整.css b/pleasanter/develop/新・着工要因プリザンター化/css/一覧スタイル調整.css new file mode 100644 index 00000000..5698cd89 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/css/一覧スタイル調整.css @@ -0,0 +1,52 @@ +.ui-widget-header th, +.ui-widget-content td { + width: 40px; +} + +.ui-widget-content td>div>pre { + white-space: nowrap; +} + +.grid th, +.grid td { + width: 40px !important; + min-width: 40px !important; + max-width: 40px !important; +} + +.grid th:first-child, +.grid td:first-child { + width: 30px !important; + min-width: 30px !important; + max-width: 30px !important; +} + +.grid th:nth-child(2), +.grid td:nth-child(2) { + width: 500px !important; + min-width: 500px !important; + max-width: 500px !important; +} + +.grid th:nth-last-child(3), +.grid td:nth-last-child(3) { + width: 60px !important; + min-width: 60px !important; + max-width: 60px !important; +} + +.grid th:nth-last-child(2), +.grid td:nth-last-child(2) { + width: 140px !important; + min-width: 140px !important; + max-width: 140px !important; + text-align: left !important; +} + +.grid th:last-child, +.grid td:last-child { + width: auto !important; + min-width: 500px !important; + max-width: none !important; + text-align: left !important; +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/css/一覧画面の列固定.css b/pleasanter/develop/新・着工要因プリザンター化/css/一覧画面の列固定.css new file mode 100644 index 00000000..79828906 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/css/一覧画面の列固定.css @@ -0,0 +1,100 @@ +/* ヘッダー行のセル (th) とデータ行のセル (td) の両方に適用する */ +.grid th:nth-child(1), +.grid td:nth-child(1), +.grid th:nth-child(2), +.grid td:nth-child(2), +.grid th:nth-child(3), +.grid td:nth-child(3) { + /* positionをstickyに設定 */ + position: sticky !important; + /* 重なり順序を確保 */ + z-index: 100 !important; +} + +.grid th:nth-child(1), +.grid th:nth-child(2), +.grid th:nth-child(3) { + background-color: black !important; +} + +.grid td:nth-child(1), +.grid td:nth-child(2), +.grid td:nth-child(3) { + background-color: lightgrey !important; +} + +/* 1列目: 左端からの位置は0px */ +.grid th:nth-child(1), +.grid td:nth-child(1) { + left: 0px !important; +} + +/* 3列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */ +.grid th:nth-child(2), +.grid td:nth-child(2) { + left: 31px !important; +} + +/* 4列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */ +.grid th:nth-child(3), +.grid td:nth-child(3) { + left: 532px !important; +} + + +th[data-name="Date011"], +th[data-name="Date012"], +th[data-name="Date015"], +th[data-name="Date020"], +th[data-name="Date021"], +th[data-name="Date022"], +th[data-name="Date023"], +th[data-name="Date024"], +th[data-name="Date025"], +th[data-name="Date026"], +th[data-name="Date027"], +th[data-name="Date028"], +th[data-name="Date029"], +th[data-name="Date030"], +th[data-name="Date031"], +th[data-name="Date034"], +th[data-name="Date046"], +th[data-name="Date047"] { + background: yellow !important; + color: black; +} + +th[data-name="Date013"], +th[data-name="Date014"], +th[data-name="Date032"], +th[data-name="Date033"], +th[data-name="Date037"], +th[data-name="Date045"] { + background: blue !important; + color: white; +} + +th[data-name="Date016"], +th[data-name="Date017"], +th[data-name="Date018"], +th[data-name="Date019"] { + background: lightgreen !important; + color: black; +} + +th[data-name="Date035"], +th[data-name="Date036"], +th[data-name="Date042"], +th[data-name="Date044"] { + background: green !important; + color: white; +} + +th[data-name="Date038"], +th[data-name="Date039"], +th[data-name="Date040"], +th[data-name="Date041"], +th[data-name="Date043"] { + background: orange !important; + color: black; +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/css/着工要因テーブルスタイル.css b/pleasanter/develop/新・着工要因プリザンター化/css/着工要因テーブルスタイル.css new file mode 100644 index 00000000..4021d246 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/css/着工要因テーブルスタイル.css @@ -0,0 +1,88 @@ +.dateTable { + table-layout: fixed; + margin-bottom: 5px; + margin-top: 5px; + + td { + font-size: 1.0em; + text-align: center; + vertical-align: middle; + border: 1px solid black; + overflow: hidden; + white-space: nowrap; + height: 30px; + } + + th { + font-size: 0.7em; + text-align: center; + vertical-align: middle; + border: 1px solid black; + background-color: #f2f2f2; + overflow: hidden; + white-space: nowrap; + } + + .h0 { + background-color: lightyellow; + } + + .h0a { + background-color: lightgreen; + } + + .h1 { + background-color: yellow; + font-size: 1.0em; + font-weight: bold; + } + + .h10 { + background-color: red; + color: white; + font-size: 1.0em; + font-weight: bold; + } + + .h2 { + background-color: blue; + color: white; + font-size: 1.0em; + font-weight: bold; + } + + .h3 { + background-color: lightgreen; + font-size: 1.0em; + font-weight: bold; + } + + .h4 { + background-color: green; + color: white; + font-size: 1.0em; + font-weight: bold; + } + + .h5 { + background-color: orange; + font-size: 1.0em; + font-weight: bold; + } + + .blueDate { + background-color: lightblue; + } + + .greyDate { + background-color: grey; + } + + .redDate { + background-color: lightcoral; + } + + .yellowDate { + background-color: lightyellow; + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/シート1.html b/pleasanter/develop/新・着工要因プリザンター化/シート1.html new file mode 100644 index 00000000..7648e923 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/シート1.html @@ -0,0 +1,213 @@ +\n\n-----\ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
営業設計営業IC営業設計営業FIT設計確認FIT確認FIT設計営業 +
敷地
測量
SR
案内
図確
引継
省エネ
説明
取出有無
業者連絡
一次エネ
設備決
仕様打
完了
4者
承認図前
承認図
14日前
ゼロエミ
承認
着工金
入金
融資
事前相談
融資
申込
融資承認
銀行
土地
契約
土地
残金
残金後
謄本
引越し解体工事
着手
解体工事
完了
造成境界杭
完了
地耐力
調査
地祭構造計算
有無完了日
伏図
チェック
プレ
カット
確定
事前
提出
事前
決裁
確認
提出
確認
決裁
長期提出
確認書
長期行政
提出
保険
登録
地盤改良
着手
上棟金
入金
本契覚書
承認日
着工
可能日
実質
着工枠日
予定{{Date011}}{{Date012}}{{Date013}}{{Date014}}{{Date015}}{{Date016}}{{Date017}}{{Date018}}{{Date019}}{{Date020}}{{Date021}}{{Date022}}{{Date023}}{{Date024}}{{Date025}}{{Date026}}{{Date027}}{{Date028}}{{Date029}}{{Date030}}{{Date031}}{{Date032}}{{Date033}}{{Date034}}{{Date035}}{{Date036}}{{Date037}}{{Date038}}{{Date039}}{{Date040}}{{Date041}}{{Date042}}{{Date043}}{{Date044}}{{Date045}}{{Date046}}{{Date047}}{{Date048}}{{Date049}}
実績{{Date111}}{{Date112}}{{Date113}}{{Date114}}{{Date115}}{{Date116}}{{Date117}}{{Date118}}{{Date119}}{{Date120}}{{Date121}}{{Date122}}{{Date123}}{{Date124}}{{Date125}}{{Date126}}{{Date127}}{{Date128}}{{Date129}}{{Date130}}{{Date131}}{{Date132}}{{Date133}}{{Date134}}{{Date135}}{{Date136}}{{Date137}}{{Date138}}{{Date139}}{{Date140}}{{Date141}}{{Date142}}{{Date143}}{{Date144}}{{Date145}}{{Date146}}{{Date147}}{{Date148}}{{Date149}}
+
\ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/テーブル更新.JS b/pleasanter/develop/新・着工要因プリザンター化/テーブル更新.JS new file mode 100644 index 00000000..aa73cf98 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/テーブル更新.JS @@ -0,0 +1,1453 @@ +function updateSite() { + $p.apiUpdateSite({ + "id": $p.siteId(), + "data": { + "SiteId": $p.siteId(), + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Title", + "Num200", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049", + "Class001", + "DescriptionC" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "Status", + "_Section-40", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "_Section-41", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "_Section-42", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-43", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments", + "Title", + "Class200", + "ClassZ", + "Description200" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 43, + "Sections": [ + { + "Id": 40, + "LabelText": "物件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 41, + "LabelText": "物件詳細", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 42, + "LabelText": "担当者", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 43, + "LabelText": "コメント", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + } + ], + "TitleColumns": [ + "ClassA", + "ClassB", + "Class200" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業", + "NoWrap": true + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計", + "GridLabelText": "担当者", + "GridDesign": "設計 : [Class001]\n伏図 : [Class002]\n確認 : [Class003]\nIC : [Class004]\n性能(伏) : [Class005]\n水道 : [Class006]" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "GridLabelText": "敷地測量", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date011]\n\n-----\n[Date111]" + }, + { + "ColumnName": "Date111", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "GridLabelText": "SR案内", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date012]\n\n-----\n[Date112]" + }, + { + "ColumnName": "Date112", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "GridLabelText": "図確引継", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date013]\n\n-----\n[Date113]" + }, + { + "ColumnName": "Date113", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "GridLabelText": "省エネ説明", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date014]\n\n-----\n[Date114]" + }, + { + "ColumnName": "Date114", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "GridLabelText": "取出有無業者連絡", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date015]\n\n-----\n[Date115]" + }, + { + "ColumnName": "Date115", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "GridLabelText": "一次エネ設備決", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date016]\n\n-----\n[Date116]" + }, + { + "ColumnName": "Date116", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "GridLabelText": "仕様打完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date017]\n\n-----\n[Date117]" + }, + { + "ColumnName": "Date117", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "GridLabelText": "4者承認図前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date018]\n\n-----\n[Date118]" + }, + { + "ColumnName": "Date118", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "GridLabelText": "承認図14日前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date019]\n\n-----\n[Date119]" + }, + { + "ColumnName": "Date119", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "GridLabelText": "ゼロエミ承認", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date020]\n\n-----\n[Date120]" + }, + { + "ColumnName": "Date120", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "GridLabelText": "着工金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date021]\n\n-----\n[Date121]" + }, + { + "ColumnName": "Date121", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "GridLabelText": "融資事前相談", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date022]\n\n-----\n[Date122]" + }, + { + "ColumnName": "Date122", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "GridLabelText": "融資申込", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date023]\n\n-----\n[Date123]" + }, + { + "ColumnName": "Date123", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "GridLabelText": "融資承認銀行", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date024]\n\n-----\n[Date124]" + }, + { + "ColumnName": "Date124", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "GridLabelText": "土地契約", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date025]\n\n-----\n[Date125]" + }, + { + "ColumnName": "Date125", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "GridLabelText": "土地残金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date026]\n\n-----\n[Date126]" + }, + { + "ColumnName": "Date126", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "GridLabelText": "残金後謄本", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date027]\n\n-----\n[Date127]" + }, + { + "ColumnName": "Date127", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "GridLabelText": "引越し", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date028]\n\n-----\n[Date128]" + }, + { + "ColumnName": "Date128", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "GridLabelText": "解体工事着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date029]\n\n-----\n[Date129]" + }, + { + "ColumnName": "Date129", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "GridLabelText": "解体工事完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date030]\n\n-----\n[Date130]" + }, + { + "ColumnName": "Date130", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "GridLabelText": "造成", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date031]\n\n-----\n[Date131]" + }, + { + "ColumnName": "Date131", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "GridLabelText": "境界杭完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date032]\n\n-----\n[Date132]" + }, + { + "ColumnName": "Date132", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "GridLabelText": "地耐力調査", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date033]\n\n-----\n[Date133]" + }, + { + "ColumnName": "Date133", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "GridLabelText": "地祭", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date034]\n\n-----\n[Date134]" + }, + { + "ColumnName": "Date134", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "GridLabelText": "構造計算有無完了日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date035]\n\n-----\n[Date135]" + }, + { + "ColumnName": "Date135", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "GridLabelText": "伏図チェック", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date036]\n\n-----\n[Date136]" + }, + { + "ColumnName": "Date136", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "GridLabelText": "プレカット確定", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date037]\n\n-----\n[Date137]" + }, + { + "ColumnName": "Date137", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "GridLabelText": "事前提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date038]\n\n-----\n[Date138]" + }, + { + "ColumnName": "Date138", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "GridLabelText": "事前決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date039]\n\n-----\n[Date139]" + }, + { + "ColumnName": "Date139", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "GridLabelText": "確認提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date040]\n\n-----\n[Date140]" + }, + { + "ColumnName": "Date140", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "GridLabelText": "確認決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date041]\n\n-----\n[Date141]" + }, + { + "ColumnName": "Date141", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "GridLabelText": "長期提出確認書", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date042]\n\n-----\n[Date142]" + }, + { + "ColumnName": "Date142", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "GridLabelText": "長期行政提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date043]\n\n-----\n[Date143]" + }, + { + "ColumnName": "Date143", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "GridLabelText": "保険登録", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date044]\n\n-----\n[Date144]" + }, + { + "ColumnName": "Date144", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "GridLabelText": "地盤改良着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date045]\n\n-----\n[Date145]" + }, + { + "ColumnName": "Date145", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "GridLabelText": "上棟金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date046]\n\n-----\n[Date146]" + }, + { + "ColumnName": "Date146", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "GridLabelText": "本契覚書承認日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date047]\n\n-----\n[Date147]" + }, + { + "ColumnName": "Date147", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date048", + "LabelText": "契約時", + "GridLabelText": "着工可能日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date048]\n\n-----\n[Date148]" + }, + { + "ColumnName": "Date148", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "GridLabelText": "実質着工枠日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date049]\n\n-----\n[Date149]" + }, + { + "ColumnName": "Date149", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Num200", + "GridLabelText": "予実", + "GridDesign": "予定\n\n-----\n実績" + }, + { + "ColumnName": "Class200", + "LabelText": "着工要因", + "DefaultInput": "着工要因", + "Hide": true + }, + { + "ColumnName": "Status", + "ChoicesText": "100,未着工,未,status-new\n900,着工済,着,status-closed" + }, + { + "ColumnName": "Description200", + "Hide": true, + "ExtendedControlCss": "excludeList" + }, + { + "ColumnName": "Comments", + "AllowImage": false + }, + { + "ColumnName": "ClassZ", + "LabelText": "着工枠", + "ChoicesText": "[[438166]]", + "Link": true, + "SearchType": "PartialMatch" + } + ], + "Links": [ + { + "ColumnName": "ClassZ", + "SiteId": 438166 + } + ], + "Summaries": [ + { + "SiteId": 438166, + "DestinationReferenceType": "Results", + "DestinationColumn": "NumA", + "LinkColumn": "ClassZ", + "Type": "Count", + "Id": 1 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.dateYellow {\n background-color: yellow !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateRed {\n background-color: red !important;\n color: white !important;\n font-weight: bold !important;\n}\n\n.dateGrey {\n background-color: grey !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateBlue {\n background-color: lightblue !important;\n color: black !important;\n font-weight: bold !important;\n}", + "Id": 1 + }, + { + "Title": "一覧スタイル調整", + "Index": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.ui-widget-header th,\n.ui-widget-content td {\n width: 40px;\n}\n\n.ui-widget-content td>div>pre {\n white-space: nowrap;\n}\n\n.grid th,\n.grid td {\n width: 40px !important;\n min-width: 40px !important;\n max-width: 40px !important;\n text-align: center !important;\n}\n\n.grid th:first-child,\n.grid td:first-child {\n width: 30px !important;\n min-width: 30px !important;\n max-width: 30px !important;\n}\n\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n width: 500px !important;\n min-width: 500px !important;\n max-width: 500px !important;\n}\n\n.grid th:nth-last-child(2),\n.grid td:nth-last-child(2) {\n width: 140px !important;\n min-width: 140px !important;\n max-width: 140px !important;\n text-align: left !important;\n}\n\n.grid th:last-child,\n.grid td:last-child {\n width: auto !important;\n min-width: 500px !important;\n max-width: none !important;\n text-align: left !important;\n}", + "Id": 2 + }, + { + "Title": "一覧画面の列固定", + "Index": true, + "Body": "/* ヘッダー行のセル (th) とデータ行のセル (td) の両方に適用する */\n.grid th:nth-child(1),\n.grid td:nth-child(1),\n.grid th:nth-child(2),\n.grid td:nth-child(2),\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n /* positionをstickyに設定 */\n position: sticky !important;\n /* 重なり順序を確保 */\n z-index: 100 !important;\n}\n\n.grid th:nth-child(1),\n.grid th:nth-child(2),\n.grid th:nth-child(3) {\n background-color: black !important;\n}\n\n.grid td:nth-child(1),\n.grid td:nth-child(2),\n.grid td:nth-child(3) {\n background-color: lightgrey !important;\n}\n\n/* 1列目: 左端からの位置は0px */\n.grid th:nth-child(1),\n.grid td:nth-child(1) {\n left: 0px !important;\n}\n\n/* 3列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n left: 31px !important;\n}\n\n/* 4列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n left: 532px !important;\n}", + "Id": 3 + } + ], + "Scripts": [ + { + "Title": "01_変更履歴保存", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n//----------------------------------------------------------------------\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n$p.ex.init = function () {\n //コメント削除ボタン非表示\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\n$p.events.after_set = function (args) {\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\nlet myData;\n\n$p.ex.getMyData = function () {\n let thisId = $p.id();\n\n $p.apiGet({\n 'id': thisId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n },\n 'async': false,\n 'done': function (data) {\n myData = data.Response.Data[0];\n },\n 'fail': function (data) {\n console.log(data);\n }\n\n });\n}\n\n//入力チェック後処理\n$p.events.after_validate = function (args) {\n //変更履歴の保存\n $p.ex.saveHistory();\n}\n\n$p.ex.checkDate = function () {\n let dateItems = {\n \"敷地測量\": { \"予定\": \"Results_Date011\", \"実績\": \"Results_Date111\" },\n \"SR案内\": { \"予定\": \"Results_Date012\", \"実績\": \"Results_Date112\" },\n \"図確引継\": { \"予定\": \"Results_Date013\", \"実績\": \"Results_Date113\" },\n \"省エネ説明\": { \"予定\": \"Results_Date014\", \"実績\": \"Results_Date114\" },\n \"取出有無業者連絡\": { \"予定\": \"Results_Date015\", \"実績\": \"Results_Date115\" },\n \"一次エネ設備決\": { \"予定\": \"Results_Date016\", \"実績\": \"Results_Date116\" },\n \"仕様打完了\": { \"予定\": \"Results_Date017\", \"実績\": \"Results_Date117\" },\n \"4者承認図前\": { \"予定\": \"Results_Date018\", \"実績\": \"Results_Date118\" },\n \"承認図14日前\": { \"予定\": \"Results_Date019\", \"実績\": \"Results_Date119\" },\n \"ゼロエミ承認\": { \"予定\": \"Results_Date020\", \"実績\": \"Results_Date120\" },\n \"着工金入金\": { \"予定\": \"Results_Date021\", \"実績\": \"Results_Date121\" },\n \"融資事前相談\": { \"予定\": \"Results_Date022\", \"実績\": \"Results_Date122\" },\n \"融資申込\": { \"予定\": \"Results_Date023\", \"実績\": \"Results_Date123\" },\n \"融資承認銀行\": { \"予定\": \"Results_Date024\", \"実績\": \"Results_Date124\" },\n \"土地契約\": { \"予定\": \"Results_Date025\", \"実績\": \"Results_Date125\" },\n \"土地残金\": { \"予定\": \"Results_Date026\", \"実績\": \"Results_Date126\" },\n \"残金後謄本\": { \"予定\": \"Results_Date027\", \"実績\": \"Results_Date127\" },\n \"引越し\": { \"予定\": \"Results_Date028\", \"実績\": \"Results_Date128\" },\n \"解体工事着手\": { \"予定\": \"Results_Date029\", \"実績\": \"Results_Date129\" },\n \"解体工事完了\": { \"予定\": \"Results_Date030\", \"実績\": \"Results_Date130\" },\n \"造成\": { \"予定\": \"Results_Date031\", \"実績\": \"Results_Date131\" },\n \"境界杭完了\": { \"予定\": \"Results_Date032\", \"実績\": \"Results_Date132\" },\n \"地耐力調査\": { \"予定\": \"Results_Date033\", \"実績\": \"Results_Date133\" },\n \"地祭\": { \"予定\": \"Results_Date034\", \"実績\": \"Results_Date134\" },\n \"構造計算有無完了日\": { \"予定\": \"Results_Date035\", \"実績\": \"Results_Date135\" },\n \"伏図チェック\": { \"予定\": \"Results_Date036\", \"実績\": \"Results_Date136\" },\n \"プレカット確定\": { \"予定\": \"Results_Date037\", \"実績\": \"Results_Date137\" },\n \"事前提出\": { \"予定\": \"Results_Date038\", \"実績\": \"Results_Date138\" },\n \"事前決裁\": { \"予定\": \"Results_Date039\", \"実績\": \"Results_Date139\" },\n \"確認提出\": { \"予定\": \"Results_Date040\", \"実績\": \"Results_Date140\" },\n \"確認決裁\": { \"予定\": \"Results_Date041\", \"実績\": \"Results_Date141\" },\n \"長期提出確認書\": { \"予定\": \"Results_Date042\", \"実績\": \"Results_Date142\" },\n \"長期行政提出\": { \"予定\": \"Results_Date043\", \"実績\": \"Results_Date143\" },\n \"保険登録\": { \"予定\": \"Results_Date044\", \"実績\": \"Results_Date144\" },\n \"地盤改良着手\": { \"予定\": \"Results_Date045\", \"実績\": \"Results_Date145\" },\n \"上棟金入金\": { \"予定\": \"Results_Date046\", \"実績\": \"Results_Date146\" },\n \"本契覚書承認日\": { \"予定\": \"Results_Date047\", \"実績\": \"Results_Date147\" },\n \"着工可能日\": { \"予定\": \"Results_Date048\", \"実績\": \"Results_Date148\" },\n \"実質着工枠日\": { \"予定\": \"Results_Date049\", \"実績\": \"Results_Date149\" }\n }\n\n $.each(dateItems, function (key, val) {\n let plannedDate = $('#' + val['予定']).val();\n let actualDate = $('#' + val['実績']).val();\n\n if (plannedDate != '' && actualDate != '') {\n $('#' + val['予定']).addClass('dateGrey');\n $('#' + val['実績']).addClass('dateGrey');\n\n } else {\n if (plannedDate == '') {\n $('#' + val['予定']).addClass('dateYellow');\n } else {\n $('#' + val['予定']).addClass('dateBlue');\n }\n\n if (actualDate == '') {\n if (plannedDate != '') {\n $('#' + val['実績']).addClass('dateRed');\n } else {\n $('#' + val['実績']).addClass('dateYellow');\n }\n } else {\n $('#' + val['実績']).addClass('dateBlue');\n }\n }\n });\n\n}\n\n\n//変更内容を保存\n$p.ex.saveHistory = function () {\n let history = '';\n let count = 0;\n\n //履歴に表示しない項目リスト\n let excludeList = ['Results_Timestamp'];\n\n let dateNameList = {\n \"Results_Date011\": \"敷地測量 予定\",\n \"Results_Date012\": \"SR案内 予定\",\n \"Results_Date013\": \"図確引継 予定\",\n \"Results_Date014\": \"省エネ説明 予定\",\n \"Results_Date015\": \"取出有無業者連絡 予定\",\n \"Results_Date016\": \"一次エネ設備決 予定\",\n \"Results_Date017\": \"仕様打完了 予定\",\n \"Results_Date018\": \"4者承認図前 予定\",\n \"Results_Date019\": \"承認図14日前 予定\",\n \"Results_Date020\": \"ゼロエミ承認 予定\",\n \"Results_Date021\": \"着工金入金 予定\",\n \"Results_Date022\": \"融資事前相談 予定\",\n \"Results_Date023\": \"融資申込 予定\",\n \"Results_Date024\": \"融資承認銀行 予定\",\n \"Results_Date025\": \"土地契約 予定\",\n \"Results_Date026\": \"土地残金 予定\",\n \"Results_Date027\": \"残金後謄本 予定\",\n \"Results_Date028\": \"引越し 予定\",\n \"Results_Date029\": \"解体工事着手 予定\",\n \"Results_Date030\": \"解体工事完了 予定\",\n \"Results_Date031\": \"造成 予定\",\n \"Results_Date032\": \"境界杭完了 予定\",\n \"Results_Date033\": \"地耐力調査 予定\",\n \"Results_Date034\": \"地祭 予定\",\n \"Results_Date035\": \"構造計算有無完了日 予定\",\n \"Results_Date036\": \"伏図チェック 予定\",\n \"Results_Date037\": \"プレカット確定 予定\",\n \"Results_Date038\": \"事前提出 予定\",\n \"Results_Date039\": \"事前決裁 予定\",\n \"Results_Date040\": \"確認提出 予定\",\n \"Results_Date041\": \"確認決裁 予定\",\n \"Results_Date042\": \"長期提出確認書 予定\",\n \"Results_Date043\": \"長期行政提出 予定\",\n \"Results_Date044\": \"保険登録 予定\",\n \"Results_Date045\": \"地盤改良着手 予定\",\n \"Results_Date046\": \"上棟金入金 予定\",\n \"Results_Date047\": \"本契覚書承認日 予定\",\n \"Results_Date048\": \"着工可能日 予定\",\n \"Results_Date049\": \"実質着工枠日 予定\",\n \"Results_Date111\": \"敷地測量 実績\",\n \"Results_Date112\": \"SR案内 実績\",\n \"Results_Date113\": \"図確引継 実績\",\n \"Results_Date114\": \"省エネ説明 実績\",\n \"Results_Date115\": \"取出有無業者連絡 実績\",\n \"Results_Date116\": \"一次エネ設備決 実績\",\n \"Results_Date117\": \"仕様打完了 実績\",\n \"Results_Date118\": \"4者承認図前 実績\",\n \"Results_Date119\": \"承認図14日前 実績\",\n \"Results_Date120\": \"ゼロエミ承認 実績\",\n \"Results_Date121\": \"着工金入金 実績\",\n \"Results_Date122\": \"融資事前相談 実績\",\n \"Results_Date123\": \"融資申込 実績\",\n \"Results_Date124\": \"融資承認銀行 実績\",\n \"Results_Date125\": \"土地契約 実績\",\n \"Results_Date126\": \"土地残金 実績\",\n \"Results_Date127\": \"残金後謄本 実績\",\n \"Results_Date128\": \"引越し 実績\",\n \"Results_Date129\": \"解体工事着手 実績\",\n \"Results_Date130\": \"解体工事完了 実績\",\n \"Results_Date131\": \"造成 実績\",\n \"Results_Date132\": \"境界杭完了 実績\",\n \"Results_Date133\": \"地耐力調査 実績\",\n \"Results_Date134\": \"地祭 実績\",\n \"Results_Date135\": \"構造計算有無完了日 実績\",\n \"Results_Date136\": \"伏図チェック 実績\",\n \"Results_Date137\": \"プレカット確定 実績\",\n \"Results_Date138\": \"事前提出 実績\",\n \"Results_Date139\": \"事前決裁 実績\",\n \"Results_Date140\": \"確認提出 実績\",\n \"Results_Date141\": \"確認決裁 実績\",\n \"Results_Date142\": \"長期提出確認書 実績\",\n \"Results_Date143\": \"長期行政提出 実績\",\n \"Results_Date144\": \"保険登録 実績\",\n \"Results_Date145\": \"地盤改良着手 実績\",\n \"Results_Date146\": \"上棟金入金 実績\",\n \"Results_Date147\": \"本契覚書承認日 実績\",\n \"Results_Date148\": \"着工可能日 実績\",\n \"Results_Date149\": \"実質着工枠日 実績\",\n \"Results_Class011\": \"敷地測量 備考\",\n \"Results_Class012\": \"SR案内 備考\",\n \"Results_Class013\": \"図確引継 備考\",\n \"Results_Class014\": \"省エネ説明 備考\",\n \"Results_Class015\": \"取出有無業者連絡 備考\",\n \"Results_Class016\": \"一次エネ設備決 備考\",\n \"Results_Class017\": \"仕様打完了 備考\",\n \"Results_Class018\": \"4者承認図前 備考\",\n \"Results_Class019\": \"承認図14日前 備考\",\n \"Results_Class020\": \"ゼロエミ承認 備考\",\n \"Results_Class021\": \"着工金入金 備考\",\n \"Results_Class022\": \"融資事前相談 備考\",\n \"Results_Class023\": \"融資申込 備考\",\n \"Results_Class024\": \"融資承認銀行 備考\",\n \"Results_Class025\": \"土地契約 備考\",\n \"Results_Class026\": \"土地残金 備考\",\n \"Results_Class027\": \"残金後謄本 備考\",\n \"Results_Class028\": \"引越し 備考\",\n \"Results_Class029\": \"解体工事着手 備考\",\n \"Results_Class030\": \"解体工事完了 備考\",\n \"Results_Class031\": \"造成 備考\",\n \"Results_Class032\": \"境界杭完了 備考\",\n \"Results_Class033\": \"地耐力調査 備考\",\n \"Results_Class034\": \"地祭 備考\",\n \"Results_Class035\": \"構造計算有無完了日 備考\",\n \"Results_Class036\": \"伏図チェック 備考\",\n \"Results_Class037\": \"プレカット確定 備考\",\n \"Results_Class038\": \"事前提出 備考\",\n \"Results_Class039\": \"事前決裁 備考\",\n \"Results_Class040\": \"確認提出 備考\",\n \"Results_Class041\": \"確認決裁 備考\",\n \"Results_Class042\": \"長期提出確認書 備考\",\n \"Results_Class043\": \"長期行政提出 備考\",\n \"Results_Class044\": \"保険登録 備考\",\n \"Results_Class045\": \"地盤改良着手 備考\",\n \"Results_Class046\": \"上棟金入金 備考\",\n \"Results_Class047\": \"本契覚書承認日 備考\",\n \"Results_Class048\": \"着工可能日 備考\",\n \"Results_Class049\": \"実質着工枠日 備考\"\n }\n\n // excludeListに含まれる項目名をclassに持つ要素を取得\n $('.excludeList').each(function () {\n console.log(this.id);\n excludeList.push(this.id);\n });\n\n //更新された項目を抜き出し、履歴保存する\n if ($p.data.MainForm) {\n $p.set($('#Results_Description200'), '');\n\n history = '◆ 変更内容 ◆\\n';\n $.each($p.data.MainForm, function (index, val) {\n if (index.startsWith('Results')) {\n //対象外項目は除外\n if (!excludeList.includes(index)) {\n //項目名の取得\n let colName = $('label[for=\"' + index + '\"]').text();\n if (dateNameList.hasOwnProperty(index)) {\n colName = dateNameList[index];\n }\n\n let newData;\n let nowData;\n let index2 = index.split('_')[1];\n //現在値の取得\n if (index.startsWith('Results_Class')) {\n nowData = myData.ClassHash[index2];\n } else if (index.startsWith('Results_Date')) {\n if (myData.DateHash[index2] == '' || myData.DateHash[index2] == '1899-12-30T00:00:00') {\n nowData = '';\n } else {\n nowData = $p.ex.dateToString(myData.DateHash[index2]);\n }\n\n } else if (index.startsWith('Results_Num')) {\n nowData = myData.NumHash[index2];\n } else if (index.startsWith('Results_Description')) {\n nowData = myData.DescriptionHash[index2];\n } else if (index.startsWith('Results_Check')) {\n nowData = myData.CheckHash[index2];\n }\n\n //セレクトボックス判定\n if ($('#' + index + '.control-dropdown').length) {\n //セレクトボックス処理\n if ($('#' + index).prop(\"multiple\")) {\n newData = $('#' + index + '_ms span').eq(-1).text();\n } else {\n newData = $('#' + index + ' option:selected').text();\n }\n } else if ($('#' + index + '.radio-value').length) {\n //ラジオボタン処理\n newData = val != '' ? $('label[for=\"' + index + val + '\"').text() : '';\n } else {\n //その他\n newData = val;\n }\n if (nowData != '') {\n if (nowData != newData) {\n history += '▷ ' + colName + ' : ' + nowData + ' -> ' + newData + '\\n';\n count++;\n }\n } else {\n history += '▷ ' + colName + ' : ' + newData + '\\n';\n count++;\n }\n }\n }\n });\n\n if (count) {\n //console.log(history);\n $p.set($('#Results_Description200'), history);\n $p.set($('#Comments'), history);\n }\n }\n}\n\n$p.ex.dateToString = function (date) {\n if (date == null || date == '') {\n return '';\n }\n let dateString = date.split('T')[0];\n let dateVar = new Date(dateString);\n let year = dateVar.getFullYear();\n let month = (dateVar.getMonth() + 1);\n let day = dateVar.getDate();\n\n return year + '/' + month + '/' + day;\n}", + "Id": 1 + } + ], + "AllowCopy": false, + "TitleSeparator": "■", + "NoDisplayIfReadOnly": false + }, + }, + "done": function (data) { + console.log(data); + }, + "fail": function (data) { + console.log(data); + } + }); +} +updateSite(); + diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 17_58_19.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 17_58_19.json new file mode 100644 index 00000000..6799c126 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 17_58_19.json @@ -0,0 +1,93 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-04T17:58:19.4377802+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "EditorColumnHash": { + "General": [ + "ResultId" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_09_20.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_09_20.json new file mode 100644 index 00000000..d316e13b --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_09_20.json @@ -0,0 +1,318 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-04T18:09:20.8222518+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ResultId", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "Date048", + "Date148", + "Date049", + "Date149" + ], + "_Tab-1": [ + "Date011", + "Date111", + "Date012", + "Date112", + "Date015", + "Date115", + "Date020", + "Date120", + "Date021", + "Date121", + "Date022", + "Date122", + "Date023", + "Date123", + "Date024", + "Date124", + "Date025", + "Date125", + "Date026", + "Date126", + "Date027", + "Date127", + "Date028", + "Date128", + "Date029", + "Date129", + "Date030", + "Date130", + "Date031", + "Date131", + "Date034", + "Date134", + "Date046", + "Date146", + "Date047", + "Date147", + ], + "_Tab-2": [ + "Date013", + "Date113", + "Date014", + "Date114", + "Date032", + "Date132", + "Date033", + "Date133", + "Date037", + "Date137", + "Date045", + "Date145", + ], + "_Tab-3": [ + "Date016", + "Date116", + "Date017", + "Date117", + "Date018", + "Date118", + "Date019", + "Date119", + ], + "_Tab-4": [ + "Date035", + "Date135", + "Date036", + "Date136", + "Date042", + "Date142", + "Date044", + "Date144", + ], + "_Tab-5": [ + "Date038", + "Date138", + "Date039", + "Date139", + "Date040", + "Date140", + "Date041", + "Date141", + "Date043", + "Date143", + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業" + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "NoWrap": true + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_22_44.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_22_44.json new file mode 100644 index 00000000..a021c7a8 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_22_44.json @@ -0,0 +1,689 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-04T18:22:44.6264407+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ResultId", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "_Section-2", + "Date049", + "Date149" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Date012", + "Date112", + "Date015", + "Date115", + "Date020", + "Date120", + "Date021", + "Date121", + "Date022", + "Date122", + "Date023", + "Date123", + "Date024", + "Date124", + "Date025", + "Date125", + "Date026", + "Date126", + "Date027", + "Date127", + "Date028", + "Date128", + "Date029", + "Date129", + "Date030", + "Date130", + "Date031", + "Date131", + "Date034", + "Date134", + "Date046", + "Date146", + "Date047", + "Date147" + ], + "_Tab-2": [ + "Date013", + "Date113", + "Date014", + "Date114", + "Date032", + "Date132", + "Date033", + "Date133", + "Date037", + "Date137", + "Date045", + "Date145" + ], + "_Tab-3": [ + "Date016", + "Date116", + "Date017", + "Date117", + "Date018", + "Date118", + "Date019", + "Date119" + ], + "_Tab-4": [ + "Date035", + "Date135", + "Date036", + "Date136", + "Date042", + "Date142", + "Date044", + "Date144" + ], + "_Tab-5": [ + "Date038", + "Date138", + "Date039", + "Date139", + "Date040", + "Date140", + "Date041", + "Date141", + "Date043", + "Date143" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 3, + "Sections": [ + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業" + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date111", + "LabelText": "実行" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date112", + "LabelText": "実行" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date113", + "LabelText": "実行" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date114", + "LabelText": "実行" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date115", + "LabelText": "実行" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date116", + "LabelText": "実行" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date117", + "LabelText": "実行" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date118", + "LabelText": "実行" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date119", + "LabelText": "実行" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date120", + "LabelText": "実行" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date121", + "LabelText": "実行" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date122", + "LabelText": "実行" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date123", + "LabelText": "実行" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date124", + "LabelText": "実行" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date125", + "LabelText": "実行" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date126", + "LabelText": "実行" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date127", + "LabelText": "実行" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date128", + "LabelText": "実行" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date129", + "LabelText": "実行" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date130", + "LabelText": "実行" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date131", + "LabelText": "実行" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date132", + "LabelText": "実行" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date133", + "LabelText": "実行" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date134", + "LabelText": "実行" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date135", + "LabelText": "実行" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date136", + "LabelText": "実行" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date137", + "LabelText": "実行" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date138", + "LabelText": "実行" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date139", + "LabelText": "実行" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date140", + "LabelText": "実行" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date141", + "LabelText": "実行" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date142", + "LabelText": "実行" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date143", + "LabelText": "実行" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date144", + "LabelText": "実行" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date145", + "LabelText": "実行" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date146", + "LabelText": "実行" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date147", + "LabelText": "実行" + }, + { + "ColumnName": "Date048", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date148", + "LabelText": "実行" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date149", + "LabelText": "実行" + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_31_34.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_31_34.json new file mode 100644 index 00000000..8c8b7caa --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_31_34.json @@ -0,0 +1,947 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-04T18:31:34.8120707+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ResultId", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "_Section-2", + "Date049", + "Date149" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "_Section-5", + "Date015", + "Date115", + "_Section-6", + "Date020", + "Date120", + "_Section-7", + "Date021", + "Date121", + "_Section-8", + "Date022", + "Date122", + "_Section-9", + "Date023", + "Date123", + "_Section-10", + "Date024", + "Date124", + "_Section-11", + "Date025", + "Date125", + "_Section-12", + "Date026", + "Date126", + "_Section-13", + "Date027", + "Date127", + "_Section-14", + "Date028", + "Date128", + "_Section-15", + "Date029", + "Date129", + "_Section-16", + "Date030", + "Date130", + "_Section-17", + "Date031", + "Date131", + "_Section-18", + "Date034", + "Date134", + "_Section-19", + "Date046", + "Date146", + "_Section-20", + "Date047", + "Date147" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "_Section-22", + "Date014", + "Date114", + "_Section-23", + "Date032", + "Date132", + "_Section-24", + "Date033", + "Date133", + "_Section-25", + "Date037", + "Date137", + "_Section-26", + "Date045", + "Date145" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "_Section-28", + "Date017", + "Date117", + "_Section-29", + "Date018", + "Date118", + "_Section-30", + "Date019", + "Date119" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "_Section-32", + "Date036", + "Date136", + "_Section-33", + "Date042", + "Date142", + "_Section-34", + "Date044", + "Date144" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "_Section-36", + "Date039", + "Date139", + "_Section-37", + "Date040", + "Date140", + "_Section-38", + "Date041", + "Date141", + "_Section-39", + "Date043", + "Date143" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 3, + "Sections": [ + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業" + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date111", + "LabelText": "実行" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date112", + "LabelText": "実行" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date113", + "LabelText": "実行" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date114", + "LabelText": "実行" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date115", + "LabelText": "実行" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date116", + "LabelText": "実行" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date117", + "LabelText": "実行" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date118", + "LabelText": "実行" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date119", + "LabelText": "実行" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date120", + "LabelText": "実行" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date121", + "LabelText": "実行" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date122", + "LabelText": "実行" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date123", + "LabelText": "実行" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date124", + "LabelText": "実行" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date125", + "LabelText": "実行" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date126", + "LabelText": "実行" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date127", + "LabelText": "実行" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date128", + "LabelText": "実行" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date129", + "LabelText": "実行" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date130", + "LabelText": "実行" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date131", + "LabelText": "実行" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date132", + "LabelText": "実行" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date133", + "LabelText": "実行" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date134", + "LabelText": "実行" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date135", + "LabelText": "実行" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date136", + "LabelText": "実行" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date137", + "LabelText": "実行" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date138", + "LabelText": "実行" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date139", + "LabelText": "実行" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date140", + "LabelText": "実行" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date141", + "LabelText": "実行" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date142", + "LabelText": "実行" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date143", + "LabelText": "実行" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date144", + "LabelText": "実行" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date145", + "LabelText": "実行" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date146", + "LabelText": "実行" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date147", + "LabelText": "実行" + }, + { + "ColumnName": "Date048", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date148", + "LabelText": "実行" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date149", + "LabelText": "実行" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_42_47.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_42_47.json new file mode 100644 index 00000000..defa4a52 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_04 18_42_47.json @@ -0,0 +1,1186 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-04T18:42:47.1483804+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 39, + "Sections": [ + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業" + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date111", + "LabelText": "実行" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date112", + "LabelText": "実行" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date113", + "LabelText": "実行" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date114", + "LabelText": "実行" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date115", + "LabelText": "実行" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date116", + "LabelText": "実行" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date117", + "LabelText": "実行" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date118", + "LabelText": "実行" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date119", + "LabelText": "実行" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date120", + "LabelText": "実行" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date121", + "LabelText": "実行" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date122", + "LabelText": "実行" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date123", + "LabelText": "実行" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date124", + "LabelText": "実行" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date125", + "LabelText": "実行" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date126", + "LabelText": "実行" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date127", + "LabelText": "実行" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date128", + "LabelText": "実行" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date129", + "LabelText": "実行" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date130", + "LabelText": "実行" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date131", + "LabelText": "実行" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date132", + "LabelText": "実行" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date133", + "LabelText": "実行" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date134", + "LabelText": "実行" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date135", + "LabelText": "実行" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date136", + "LabelText": "実行" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date137", + "LabelText": "実行" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date138", + "LabelText": "実行" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date139", + "LabelText": "実行" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date140", + "LabelText": "実行" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date141", + "LabelText": "実行" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date142", + "LabelText": "実行" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date143", + "LabelText": "実行" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date144", + "LabelText": "実行" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date145", + "LabelText": "実行" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date146", + "LabelText": "実行" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date147", + "LabelText": "実行" + }, + { + "ColumnName": "Date048", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date148", + "LabelText": "実行" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "NoWrap": true + }, + { + "ColumnName": "Date149", + "LabelText": "実行" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_05 09_06_34.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_05 09_06_34.json new file mode 100644 index 00000000..01ba1a00 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_05 09_06_34.json @@ -0,0 +1,1414 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-05T09:06:34.1591093+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "ResultId", + "Title", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "_Section-40", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "_Section-41", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "_Section-42", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-43", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 43, + "Sections": [ + { + "Id": 40, + "LabelText": "物件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 41, + "LabelText": "物件詳細", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 42, + "LabelText": "担当者", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 43, + "LabelText": "コメント", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + } + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業", + "NoWrap": true + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "GridLabelText": "敷地測量", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date011]\n\n[Date111]" + }, + { + "ColumnName": "Date111", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "GridLabelText": "SR案内", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date012]\n\n[Date112]" + }, + { + "ColumnName": "Date112", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "GridLabelText": "図確引継", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date013]\n\n[Date113]" + }, + { + "ColumnName": "Date113", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "GridLabelText": "省エネ説明", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date014]\n\n[Date114]" + }, + { + "ColumnName": "Date114", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "GridLabelText": "取出有無業者連絡", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date015]\n\n[Date115]" + }, + { + "ColumnName": "Date115", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "GridLabelText": "一次エネ設備決", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date016]\n\n[Date116]" + }, + { + "ColumnName": "Date116", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "GridLabelText": "仕様打完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date017]\n\n[Date117]" + }, + { + "ColumnName": "Date117", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "GridLabelText": "4者承認図前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date018]\n\n[Date118]" + }, + { + "ColumnName": "Date118", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "GridLabelText": "承認図14日前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date019]\n\n[Date119]" + }, + { + "ColumnName": "Date119", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "GridLabelText": "ゼロエミ承認", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date020]\n\n[Date120]" + }, + { + "ColumnName": "Date120", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "GridLabelText": "着工金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date021]\n\n[Date121]" + }, + { + "ColumnName": "Date121", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "GridLabelText": "融資事前相談", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date022]\n\n[Date122]" + }, + { + "ColumnName": "Date122", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "GridLabelText": "融資申込", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date023]\n\n[Date123]" + }, + { + "ColumnName": "Date123", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "GridLabelText": "融資承認銀行", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date024]\n\n[Date124]" + }, + { + "ColumnName": "Date124", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "GridLabelText": "土地契約", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date025]\n\n[Date125]" + }, + { + "ColumnName": "Date125", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "GridLabelText": "土地残金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date026]\n\n[Date126]" + }, + { + "ColumnName": "Date126", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "GridLabelText": "残金後謄本", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date027]\n\n[Date127]" + }, + { + "ColumnName": "Date127", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "GridLabelText": "引越し", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date028]\n\n[Date128]" + }, + { + "ColumnName": "Date128", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "GridLabelText": "解体工事着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date029]\n\n[Date129]" + }, + { + "ColumnName": "Date129", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "GridLabelText": "解体工事完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date030]\n\n[Date130]" + }, + { + "ColumnName": "Date130", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "GridLabelText": "造成", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date031]\n\n[Date131]" + }, + { + "ColumnName": "Date131", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "GridLabelText": "境界杭完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date032]\n\n[Date132]" + }, + { + "ColumnName": "Date132", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "GridLabelText": "地耐力調査", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date033]\n\n[Date133]" + }, + { + "ColumnName": "Date133", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "GridLabelText": "地祭", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date034]\n\n[Date134]" + }, + { + "ColumnName": "Date134", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "GridLabelText": "構造計算有無完了日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date035]\n\n[Date135]" + }, + { + "ColumnName": "Date135", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "GridLabelText": "伏図チェック", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date036]\n\n[Date136]" + }, + { + "ColumnName": "Date136", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "GridLabelText": "プレカット確定", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date037]\n\n[Date137]" + }, + { + "ColumnName": "Date137", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "GridLabelText": "事前提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date038]\n\n[Date138]" + }, + { + "ColumnName": "Date138", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "GridLabelText": "事前決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date039]\n\n[Date139]" + }, + { + "ColumnName": "Date139", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "GridLabelText": "確認提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date040]\n\n[Date140]" + }, + { + "ColumnName": "Date140", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "GridLabelText": "確認決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date041]\n\n[Date141]" + }, + { + "ColumnName": "Date141", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "GridLabelText": "長期提出確認書", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date042]\n\n[Date142]" + }, + { + "ColumnName": "Date142", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "GridLabelText": "長期行政提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date043]\n\n[Date143]" + }, + { + "ColumnName": "Date143", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "GridLabelText": "保険登録", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date044]\n\n[Date144]" + }, + { + "ColumnName": "Date144", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "GridLabelText": "地盤改良着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date045]\n\n[Date145]" + }, + { + "ColumnName": "Date145", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "GridLabelText": "上棟金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date046]\n\n[Date146]" + }, + { + "ColumnName": "Date146", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "GridLabelText": "本契覚書承認日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date047]\n\n[Date147]" + }, + { + "ColumnName": "Date147", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date048", + "LabelText": "予定", + "GridLabelText": "着工可能日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date048]\n\n[Date148]" + }, + { + "ColumnName": "Date148", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "GridLabelText": "実質着工枠日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date049]\n\n[Date149]" + }, + { + "ColumnName": "Date149", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + } + ], + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 16_35_31.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 16_35_31.json new file mode 100644 index 00000000..09a16c21 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 16_35_31.json @@ -0,0 +1,1472 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-06T16:35:31.1411864+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Title", + "Num200", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049", + "Class001", + "DescriptionC" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "Status", + "_Section-40", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "_Section-41", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "_Section-42", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-43", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments", + "Title", + "Class200", + "Description200" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 43, + "Sections": [ + { + "Id": 40, + "LabelText": "物件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 41, + "LabelText": "物件詳細", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 42, + "LabelText": "担当者", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 43, + "LabelText": "コメント", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + } + ], + "TitleColumns": [ + "ClassA", + "ClassB", + "Class200" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業", + "NoWrap": true + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計", + "GridLabelText": "担当者", + "GridDesign": "設計 : [Class001]\n伏図 : [Class002]\n確認 : [Class003]\nIC : [Class004]\n性能(伏) : [Class005]\n水道 : [Class006]" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "GridLabelText": "敷地測量", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date011]\n\n[Date111]" + }, + { + "ColumnName": "Date111", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "GridLabelText": "SR案内", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date012]\n\n[Date112]" + }, + { + "ColumnName": "Date112", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "GridLabelText": "図確引継", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date013]\n\n[Date113]" + }, + { + "ColumnName": "Date113", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "GridLabelText": "省エネ説明", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date014]\n\n[Date114]" + }, + { + "ColumnName": "Date114", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "GridLabelText": "取出有無業者連絡", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date015]\n\n[Date115]" + }, + { + "ColumnName": "Date115", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "GridLabelText": "一次エネ設備決", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date016]\n\n[Date116]" + }, + { + "ColumnName": "Date116", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "GridLabelText": "仕様打完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date017]\n\n[Date117]" + }, + { + "ColumnName": "Date117", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "GridLabelText": "4者承認図前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date018]\n\n[Date118]" + }, + { + "ColumnName": "Date118", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "GridLabelText": "承認図14日前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date019]\n\n[Date119]" + }, + { + "ColumnName": "Date119", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "GridLabelText": "ゼロエミ承認", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date020]\n\n[Date120]" + }, + { + "ColumnName": "Date120", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "GridLabelText": "着工金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date021]\n\n[Date121]" + }, + { + "ColumnName": "Date121", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "GridLabelText": "融資事前相談", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date022]\n\n[Date122]" + }, + { + "ColumnName": "Date122", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "GridLabelText": "融資申込", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date023]\n\n[Date123]" + }, + { + "ColumnName": "Date123", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "GridLabelText": "融資承認銀行", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date024]\n\n[Date124]" + }, + { + "ColumnName": "Date124", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "GridLabelText": "土地契約", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date025]\n\n[Date125]" + }, + { + "ColumnName": "Date125", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "GridLabelText": "土地残金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date026]\n\n[Date126]" + }, + { + "ColumnName": "Date126", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "GridLabelText": "残金後謄本", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date027]\n\n[Date127]" + }, + { + "ColumnName": "Date127", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "GridLabelText": "引越し", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date028]\n\n[Date128]" + }, + { + "ColumnName": "Date128", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "GridLabelText": "解体工事着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date029]\n\n[Date129]" + }, + { + "ColumnName": "Date129", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "GridLabelText": "解体工事完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date030]\n\n[Date130]" + }, + { + "ColumnName": "Date130", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "GridLabelText": "造成", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date031]\n\n[Date131]" + }, + { + "ColumnName": "Date131", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "GridLabelText": "境界杭完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date032]\n\n[Date132]" + }, + { + "ColumnName": "Date132", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "GridLabelText": "地耐力調査", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date033]\n\n[Date133]" + }, + { + "ColumnName": "Date133", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "GridLabelText": "地祭", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date034]\n\n[Date134]" + }, + { + "ColumnName": "Date134", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "GridLabelText": "構造計算有無完了日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date035]\n\n[Date135]" + }, + { + "ColumnName": "Date135", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "GridLabelText": "伏図チェック", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date036]\n\n[Date136]" + }, + { + "ColumnName": "Date136", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "GridLabelText": "プレカット確定", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date037]\n\n[Date137]" + }, + { + "ColumnName": "Date137", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "GridLabelText": "事前提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date038]\n\n[Date138]" + }, + { + "ColumnName": "Date138", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "GridLabelText": "事前決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date039]\n\n[Date139]" + }, + { + "ColumnName": "Date139", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "GridLabelText": "確認提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date040]\n\n[Date140]" + }, + { + "ColumnName": "Date140", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "GridLabelText": "確認決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date041]\n\n[Date141]" + }, + { + "ColumnName": "Date141", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "GridLabelText": "長期提出確認書", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date042]\n\n[Date142]" + }, + { + "ColumnName": "Date142", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "GridLabelText": "長期行政提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date043]\n\n[Date143]" + }, + { + "ColumnName": "Date143", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "GridLabelText": "保険登録", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date044]\n\n[Date144]" + }, + { + "ColumnName": "Date144", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "GridLabelText": "地盤改良着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date045]\n\n[Date145]" + }, + { + "ColumnName": "Date145", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "GridLabelText": "上棟金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date046]\n\n[Date146]" + }, + { + "ColumnName": "Date146", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "GridLabelText": "本契覚書承認日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date047]\n\n[Date147]" + }, + { + "ColumnName": "Date147", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date048", + "LabelText": "予定", + "GridLabelText": "着工可能日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date048]\n\n[Date148]" + }, + { + "ColumnName": "Date148", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "GridLabelText": "実質着工枠日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date049]\n\n[Date149]" + }, + { + "ColumnName": "Date149", + "LabelText": "実行", + "GridFormat": "Md" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Num200", + "GridLabelText": "予実", + "GridDesign": "予定\n\n実行" + }, + { + "ColumnName": "Class200", + "LabelText": "着工要因", + "DefaultInput": "着工要因", + "Hide": true + }, + { + "ColumnName": "Status", + "ChoicesText": "100,未着工,未,status-new\n900,着工済,着,status-closed" + }, + { + "ColumnName": "Description200", + "Hide": true, + "ExtendedControlCss": "excludeList" + }, + { + "ColumnName": "Comments", + "AllowImage": false + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}", + "Id": 1 + }, + { + "Title": "一覧スタイル調整", + "Index": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.ui-widget-header th,\n.ui-widget-content td {\n width: 40px;\n}\n\n.ui-widget-content td>div>pre {\n white-space: nowrap;\n}\n\n.grid th,\n.grid td {\n width: 40px !important;\n min-width: 40px !important;\n max-width: 40px !important;\n text-align: center !important;\n}\n\n.grid th:first-child,\n.grid td:first-child {\n width: 30px !important;\n min-width: 30px !important;\n max-width: 30px !important;\n}\n\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n width: 500px !important;\n min-width: 500px !important;\n max-width: 500px !important;\n}\n\n.grid th:nth-last-child(2),\n.grid td:nth-last-child(2) {\n width: 140px !important;\n min-width: 140px !important;\n max-width: 140px !important;\n text-align: left !important;\n}\n\n.grid th:last-child,\n.grid td:last-child {\n width: auto !important;\n min-width: 500px !important;\n max-width: none !important;\n text-align: left !important;\n}", + "Id": 2 + }, + { + "Title": "一覧画面の列固定", + "Index": true, + "Body": "/* ヘッダー行のセル (th) とデータ行のセル (td) の両方に適用する */\n.grid th:nth-child(1),\n.grid td:nth-child(1),\n.grid th:nth-child(2),\n.grid td:nth-child(2),\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n /* positionをstickyに設定 */\n position: sticky !important;\n /* 重なり順序を確保 */\n z-index: 100 !important;\n}\n\n.grid th:nth-child(1),\n.grid th:nth-child(2),\n.grid th:nth-child(3) {\n background-color: black !important;\n}\n\n.grid td:nth-child(1),\n.grid td:nth-child(2),\n.grid td:nth-child(3) {\n background-color: lightgrey !important;\n}\n\n/* 1列目: 左端からの位置は0px */\n.grid th:nth-child(1),\n.grid td:nth-child(1) {\n left: 0px !important;\n}\n\n/* 3列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n left: 31px !important;\n}\n\n/* 4列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n left: 532px !important;\n}", + "Id": 3 + } + ], + "Scripts": [ + { + "Title": "01_変更履歴保存", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n//----------------------------------------------------------------------\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n$p.ex.init = function () {\n //コメント削除ボタン非表示\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n}\n\n$p.events.after_set = function (args) {\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n}\n\nlet myData;\n\n$p.ex.getMyData = function () {\n let thisId = $p.id();\n\n $p.apiGet({\n 'id': thisId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n },\n 'async': false,\n 'done': function (data) {\n myData = data.Response.Data[0];\n },\n 'fail': function (data) {\n console.log(data);\n }\n\n });\n}\n\n//入力チェック後処理\n$p.events.after_validate = function (args) {\n //変更履歴の保存\n $p.ex.saveHistory();\n}\n\n//変更内容を保存\n$p.ex.saveHistory = function () {\n let history = '';\n let count = 0;\n\n //履歴に表示しない項目リスト\n let excludeList = ['Results_Timestamp'];\n\n let dateNameList = {\n \"Results_Date011\": \"敷地測量 予定\",\n \"Results_Date012\": \"SR案内 予定\",\n \"Results_Date013\": \"図確引継 予定\",\n \"Results_Date014\": \"省エネ説明 予定\",\n \"Results_Date015\": \"取出有無業者連絡 予定\",\n \"Results_Date016\": \"一次エネ設備決 予定\",\n \"Results_Date017\": \"仕様打完了 予定\",\n \"Results_Date018\": \"4者承認図前 予定\",\n \"Results_Date019\": \"承認図14日前 予定\",\n \"Results_Date020\": \"ゼロエミ承認 予定\",\n \"Results_Date021\": \"着工金入金 予定\",\n \"Results_Date022\": \"融資事前相談 予定\",\n \"Results_Date023\": \"融資申込 予定\",\n \"Results_Date024\": \"融資承認銀行 予定\",\n \"Results_Date025\": \"土地契約 予定\",\n \"Results_Date026\": \"土地残金 予定\",\n \"Results_Date027\": \"残金後謄本 予定\",\n \"Results_Date028\": \"引越し 予定\",\n \"Results_Date029\": \"解体工事着手 予定\",\n \"Results_Date030\": \"解体工事完了 予定\",\n \"Results_Date031\": \"造成 予定\",\n \"Results_Date032\": \"境界杭完了 予定\",\n \"Results_Date033\": \"地耐力調査 予定\",\n \"Results_Date034\": \"地祭 予定\",\n \"Results_Date035\": \"構造計算有無完了日 予定\",\n \"Results_Date036\": \"伏図チェック 予定\",\n \"Results_Date037\": \"プレカット確定 予定\",\n \"Results_Date038\": \"事前提出 予定\",\n \"Results_Date039\": \"事前決裁 予定\",\n \"Results_Date040\": \"確認提出 予定\",\n \"Results_Date041\": \"確認決裁 予定\",\n \"Results_Date042\": \"長期提出確認書 予定\",\n \"Results_Date043\": \"長期行政提出 予定\",\n \"Results_Date044\": \"保険登録 予定\",\n \"Results_Date045\": \"地盤改良着手 予定\",\n \"Results_Date046\": \"上棟金入金 予定\",\n \"Results_Date047\": \"本契覚書承認日 予定\",\n \"Results_Date048\": \"着工可能日 予定\",\n \"Results_Date049\": \"実質着工枠日 予定\",\n \"Results_Date111\": \"敷地測量 実行\",\n \"Results_Date112\": \"SR案内 実行\",\n \"Results_Date113\": \"図確引継 実行\",\n \"Results_Date114\": \"省エネ説明 実行\",\n \"Results_Date115\": \"取出有無業者連絡 実行\",\n \"Results_Date116\": \"一次エネ設備決 実行\",\n \"Results_Date117\": \"仕様打完了 実行\",\n \"Results_Date118\": \"4者承認図前 実行\",\n \"Results_Date119\": \"承認図14日前 実行\",\n \"Results_Date120\": \"ゼロエミ承認 実行\",\n \"Results_Date121\": \"着工金入金 実行\",\n \"Results_Date122\": \"融資事前相談 実行\",\n \"Results_Date123\": \"融資申込 実行\",\n \"Results_Date124\": \"融資承認銀行 実行\",\n \"Results_Date125\": \"土地契約 実行\",\n \"Results_Date126\": \"土地残金 実行\",\n \"Results_Date127\": \"残金後謄本 実行\",\n \"Results_Date128\": \"引越し 実行\",\n \"Results_Date129\": \"解体工事着手 実行\",\n \"Results_Date130\": \"解体工事完了 実行\",\n \"Results_Date131\": \"造成 実行\",\n \"Results_Date132\": \"境界杭完了 実行\",\n \"Results_Date133\": \"地耐力調査 実行\",\n \"Results_Date134\": \"地祭 実行\",\n \"Results_Date135\": \"構造計算有無完了日 実行\",\n \"Results_Date136\": \"伏図チェック 実行\",\n \"Results_Date137\": \"プレカット確定 実行\",\n \"Results_Date138\": \"事前提出 実行\",\n \"Results_Date139\": \"事前決裁 実行\",\n \"Results_Date140\": \"確認提出 実行\",\n \"Results_Date141\": \"確認決裁 実行\",\n \"Results_Date142\": \"長期提出確認書 実行\",\n \"Results_Date143\": \"長期行政提出 実行\",\n \"Results_Date144\": \"保険登録 実行\",\n \"Results_Date145\": \"地盤改良着手 実行\",\n \"Results_Date146\": \"上棟金入金 実行\",\n \"Results_Date147\": \"本契覚書承認日 実行\",\n \"Results_Date148\": \"着工可能日 実行\",\n \"Results_Date149\": \"実質着工枠日 実行\",\n \"Results_Class011\": \"敷地測量 備考\",\n \"Results_Class012\": \"SR案内 備考\",\n \"Results_Class013\": \"図確引継 備考\",\n \"Results_Class014\": \"省エネ説明 備考\",\n \"Results_Class015\": \"取出有無業者連絡 備考\",\n \"Results_Class016\": \"一次エネ設備決 備考\",\n \"Results_Class017\": \"仕様打完了 備考\",\n \"Results_Class018\": \"4者承認図前 備考\",\n \"Results_Class019\": \"承認図14日前 備考\",\n \"Results_Class020\": \"ゼロエミ承認 備考\",\n \"Results_Class021\": \"着工金入金 備考\",\n \"Results_Class022\": \"融資事前相談 備考\",\n \"Results_Class023\": \"融資申込 備考\",\n \"Results_Class024\": \"融資承認銀行 備考\",\n \"Results_Class025\": \"土地契約 備考\",\n \"Results_Class026\": \"土地残金 備考\",\n \"Results_Class027\": \"残金後謄本 備考\",\n \"Results_Class028\": \"引越し 備考\",\n \"Results_Class029\": \"解体工事着手 備考\",\n \"Results_Class030\": \"解体工事完了 備考\",\n \"Results_Class031\": \"造成 備考\",\n \"Results_Class032\": \"境界杭完了 備考\",\n \"Results_Class033\": \"地耐力調査 備考\",\n \"Results_Class034\": \"地祭 備考\",\n \"Results_Class035\": \"構造計算有無完了日 備考\",\n \"Results_Class036\": \"伏図チェック 備考\",\n \"Results_Class037\": \"プレカット確定 備考\",\n \"Results_Class038\": \"事前提出 備考\",\n \"Results_Class039\": \"事前決裁 備考\",\n \"Results_Class040\": \"確認提出 備考\",\n \"Results_Class041\": \"確認決裁 備考\",\n \"Results_Class042\": \"長期提出確認書 備考\",\n \"Results_Class043\": \"長期行政提出 備考\",\n \"Results_Class044\": \"保険登録 備考\",\n \"Results_Class045\": \"地盤改良着手 備考\",\n \"Results_Class046\": \"上棟金入金 備考\",\n \"Results_Class047\": \"本契覚書承認日 備考\",\n \"Results_Class048\": \"着工可能日 備考\",\n \"Results_Class049\": \"実質着工枠日 備考\"\n }\n\n // excludeListに含まれる項目名をclassに持つ要素を取得\n $('.excludeList').each(function () {\n console.log(this.id);\n excludeList.push(this.id);\n });\n\n //更新された項目を抜き出し、履歴保存する\n if ($p.data.MainForm) {\n $p.set($('#Results_Description200'), '');\n\n history = '◆ 変更内容 ◆\\n';\n $.each($p.data.MainForm, function (index, val) {\n if (index.startsWith('Results')) {\n //対象外項目は除外\n if (!excludeList.includes(index)) {\n //項目名の取得\n let colName = $('label[for=\"' + index + '\"]').text();\n if (dateNameList.hasOwnProperty(index)) {\n colName = dateNameList[index];\n }\n\n let newData;\n let nowData;\n let index2 = index.split('_')[1];\n //現在値の取得\n if (index.startsWith('Results_Class')) {\n nowData = myData.ClassHash[index2];\n } else if (index.startsWith('Results_Date')) {\n if (myData.DateHash[index2] == '' || myData.DateHash[index2] == '1899-12-30T00:00:00') {\n nowData = '';\n } else {\n nowData = $p.ex.dateToString(myData.DateHash[index2]);\n }\n\n } else if (index.startsWith('Results_Num')) {\n nowData = myData.NumHash[index2];\n } else if (index.startsWith('Results_Description')) {\n nowData = myData.DescriptionHash[index2];\n } else if (index.startsWith('Results_Check')) {\n nowData = myData.CheckHash[index2];\n }\n\n //セレクトボックス判定\n if ($('#' + index + '.control-dropdown').length) {\n //セレクトボックス処理\n if ($('#' + index).prop(\"multiple\")) {\n newData = $('#' + index + '_ms span').eq(-1).text();\n } else {\n newData = $('#' + index + ' option:selected').text();\n }\n } else if ($('#' + index + '.radio-value').length) {\n //ラジオボタン処理\n newData = val != '' ? $('label[for=\"' + index + val + '\"').text() : '';\n } else {\n //その他\n newData = val;\n }\n if (nowData != '') {\n if (nowData != newData) {\n history += '▷ ' + colName + ' : ' + nowData + ' -> ' + newData + '\\n';\n count++;\n }\n } else {\n history += '▷ ' + colName + ' : ' + newData + '\\n';\n count++;\n }\n }\n }\n });\n\n if (count) {\n //console.log(history);\n $p.set($('#Results_Description200'), history);\n $p.set($('#Comments'), history);\n }\n }\n}\n\n$p.ex.dateToString = function (date) {\n if (date == null || date == '') {\n return '';\n }\n let dateString = date.split('T')[0];\n let dateVar = new Date(dateString);\n let year = dateVar.getFullYear();\n let month = (dateVar.getMonth() + 1);\n let day = dateVar.getDate();\n\n return year + '/' + month + '/' + day;\n}", + "Id": 1 + } + ], + "TitleSeparator": "■", + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 17_41_19.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 17_41_19.json new file mode 100644 index 00000000..4b17f4aa --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_06 17_41_19.json @@ -0,0 +1,1497 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-06T17:41:19.8236918+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Title", + "Num200", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049", + "Class001", + "DescriptionC" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "Status", + "_Section-40", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "_Section-41", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "_Section-42", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-43", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments", + "Title", + "Class200", + "ClassZ", + "Description200" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 43, + "Sections": [ + { + "Id": 40, + "LabelText": "物件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 41, + "LabelText": "物件詳細", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 42, + "LabelText": "担当者", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 43, + "LabelText": "コメント", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + } + ], + "TitleColumns": [ + "ClassA", + "ClassB", + "Class200" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業", + "NoWrap": true + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計", + "GridLabelText": "担当者", + "GridDesign": "設計 : [Class001]\n伏図 : [Class002]\n確認 : [Class003]\nIC : [Class004]\n性能(伏) : [Class005]\n水道 : [Class006]" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "GridLabelText": "敷地測量", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date011]\n\n[Date111]" + }, + { + "ColumnName": "Date111", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "GridLabelText": "SR案内", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date012]\n\n[Date112]" + }, + { + "ColumnName": "Date112", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "GridLabelText": "図確引継", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date013]\n\n[Date113]" + }, + { + "ColumnName": "Date113", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "GridLabelText": "省エネ説明", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date014]\n\n[Date114]" + }, + { + "ColumnName": "Date114", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "GridLabelText": "取出有無業者連絡", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date015]\n\n[Date115]" + }, + { + "ColumnName": "Date115", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "GridLabelText": "一次エネ設備決", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date016]\n\n[Date116]" + }, + { + "ColumnName": "Date116", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "GridLabelText": "仕様打完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date017]\n\n[Date117]" + }, + { + "ColumnName": "Date117", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "GridLabelText": "4者承認図前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date018]\n\n[Date118]" + }, + { + "ColumnName": "Date118", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "GridLabelText": "承認図14日前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date019]\n\n[Date119]" + }, + { + "ColumnName": "Date119", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "GridLabelText": "ゼロエミ承認", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date020]\n\n[Date120]" + }, + { + "ColumnName": "Date120", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "GridLabelText": "着工金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date021]\n\n[Date121]" + }, + { + "ColumnName": "Date121", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "GridLabelText": "融資事前相談", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date022]\n\n[Date122]" + }, + { + "ColumnName": "Date122", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "GridLabelText": "融資申込", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date023]\n\n[Date123]" + }, + { + "ColumnName": "Date123", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "GridLabelText": "融資承認銀行", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date024]\n\n[Date124]" + }, + { + "ColumnName": "Date124", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "GridLabelText": "土地契約", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date025]\n\n[Date125]" + }, + { + "ColumnName": "Date125", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "GridLabelText": "土地残金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date026]\n\n[Date126]" + }, + { + "ColumnName": "Date126", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "GridLabelText": "残金後謄本", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date027]\n\n[Date127]" + }, + { + "ColumnName": "Date127", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "GridLabelText": "引越し", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date028]\n\n[Date128]" + }, + { + "ColumnName": "Date128", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "GridLabelText": "解体工事着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date029]\n\n[Date129]" + }, + { + "ColumnName": "Date129", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "GridLabelText": "解体工事完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date030]\n\n[Date130]" + }, + { + "ColumnName": "Date130", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "GridLabelText": "造成", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date031]\n\n[Date131]" + }, + { + "ColumnName": "Date131", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "GridLabelText": "境界杭完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date032]\n\n[Date132]" + }, + { + "ColumnName": "Date132", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "GridLabelText": "地耐力調査", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date033]\n\n[Date133]" + }, + { + "ColumnName": "Date133", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "GridLabelText": "地祭", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date034]\n\n[Date134]" + }, + { + "ColumnName": "Date134", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "GridLabelText": "構造計算有無完了日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date035]\n\n[Date135]" + }, + { + "ColumnName": "Date135", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "GridLabelText": "伏図チェック", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date036]\n\n[Date136]" + }, + { + "ColumnName": "Date136", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "GridLabelText": "プレカット確定", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date037]\n\n[Date137]" + }, + { + "ColumnName": "Date137", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "GridLabelText": "事前提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date038]\n\n[Date138]" + }, + { + "ColumnName": "Date138", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "GridLabelText": "事前決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date039]\n\n[Date139]" + }, + { + "ColumnName": "Date139", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "GridLabelText": "確認提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date040]\n\n[Date140]" + }, + { + "ColumnName": "Date140", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "GridLabelText": "確認決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date041]\n\n[Date141]" + }, + { + "ColumnName": "Date141", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "GridLabelText": "長期提出確認書", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date042]\n\n[Date142]" + }, + { + "ColumnName": "Date142", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "GridLabelText": "長期行政提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date043]\n\n[Date143]" + }, + { + "ColumnName": "Date143", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "GridLabelText": "保険登録", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date044]\n\n[Date144]" + }, + { + "ColumnName": "Date144", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "GridLabelText": "地盤改良着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date045]\n\n[Date145]" + }, + { + "ColumnName": "Date145", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "GridLabelText": "上棟金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date046]\n\n[Date146]" + }, + { + "ColumnName": "Date146", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "GridLabelText": "本契覚書承認日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date047]\n\n[Date147]" + }, + { + "ColumnName": "Date147", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date048", + "LabelText": "契約時", + "GridLabelText": "着工可能日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date048]\n\n[Date148]" + }, + { + "ColumnName": "Date148", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "GridLabelText": "実質着工枠日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "[Date049]\n\n[Date149]" + }, + { + "ColumnName": "Date149", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Num200", + "GridLabelText": "予実", + "GridDesign": "予定\n\n実績" + }, + { + "ColumnName": "Class200", + "LabelText": "着工要因", + "DefaultInput": "着工要因", + "Hide": true + }, + { + "ColumnName": "Status", + "ChoicesText": "100,未着工,未,status-new\n900,着工済,着,status-closed" + }, + { + "ColumnName": "Description200", + "Hide": true, + "ExtendedControlCss": "excludeList" + }, + { + "ColumnName": "Comments", + "AllowImage": false + }, + { + "ColumnName": "ClassZ", + "LabelText": "着工枠", + "ChoicesText": "[[438166]]", + "Link": true, + "SearchType": "PartialMatch" + } + ], + "Links": [ + { + "ColumnName": "ClassZ", + "SiteId": 438166 + } + ], + "Summaries": [ + { + "SiteId": 438166, + "DestinationReferenceType": "Results", + "DestinationColumn": "NumA", + "LinkColumn": "ClassZ", + "Type": "Count", + "Id": 1 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.dateYellow {\n background-color: yellow !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateRed {\n background-color: red !important;\n color: white !important;\n font-weight: bold !important;\n}\n\n.dateGrey {\n background-color: grey !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateBlue {\n background-color: lightblue !important;\n color: black !important;\n font-weight: bold !important;\n}", + "Id": 1 + }, + { + "Title": "一覧スタイル調整", + "Index": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.ui-widget-header th,\n.ui-widget-content td {\n width: 40px;\n}\n\n.ui-widget-content td>div>pre {\n white-space: nowrap;\n}\n\n.grid th,\n.grid td {\n width: 40px !important;\n min-width: 40px !important;\n max-width: 40px !important;\n text-align: center !important;\n}\n\n.grid th:first-child,\n.grid td:first-child {\n width: 30px !important;\n min-width: 30px !important;\n max-width: 30px !important;\n}\n\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n width: 500px !important;\n min-width: 500px !important;\n max-width: 500px !important;\n}\n\n.grid th:nth-last-child(2),\n.grid td:nth-last-child(2) {\n width: 140px !important;\n min-width: 140px !important;\n max-width: 140px !important;\n text-align: left !important;\n}\n\n.grid th:last-child,\n.grid td:last-child {\n width: auto !important;\n min-width: 500px !important;\n max-width: none !important;\n text-align: left !important;\n}", + "Id": 2 + }, + { + "Title": "一覧画面の列固定", + "Index": true, + "Body": "/* ヘッダー行のセル (th) とデータ行のセル (td) の両方に適用する */\n.grid th:nth-child(1),\n.grid td:nth-child(1),\n.grid th:nth-child(2),\n.grid td:nth-child(2),\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n /* positionをstickyに設定 */\n position: sticky !important;\n /* 重なり順序を確保 */\n z-index: 100 !important;\n}\n\n.grid th:nth-child(1),\n.grid th:nth-child(2),\n.grid th:nth-child(3) {\n background-color: black !important;\n}\n\n.grid td:nth-child(1),\n.grid td:nth-child(2),\n.grid td:nth-child(3) {\n background-color: lightgrey !important;\n}\n\n/* 1列目: 左端からの位置は0px */\n.grid th:nth-child(1),\n.grid td:nth-child(1) {\n left: 0px !important;\n}\n\n/* 3列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n left: 31px !important;\n}\n\n/* 4列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n left: 532px !important;\n}", + "Id": 3 + } + ], + "Scripts": [ + { + "Title": "01_変更履歴保存", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n//----------------------------------------------------------------------\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n$p.ex.init = function () {\n //コメント削除ボタン非表示\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\n$p.events.after_set = function (args) {\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\nlet myData;\n\n$p.ex.getMyData = function () {\n let thisId = $p.id();\n\n $p.apiGet({\n 'id': thisId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n },\n 'async': false,\n 'done': function (data) {\n myData = data.Response.Data[0];\n },\n 'fail': function (data) {\n console.log(data);\n }\n\n });\n}\n\n//入力チェック後処理\n$p.events.after_validate = function (args) {\n //変更履歴の保存\n $p.ex.saveHistory();\n}\n\n$p.ex.checkDate = function () {\n let dateItems = {\n \"敷地測量\": { \"予定\": \"Results_Date011\", \"実績\": \"Results_Date111\" },\n \"SR案内\": { \"予定\": \"Results_Date012\", \"実績\": \"Results_Date112\" },\n \"図確引継\": { \"予定\": \"Results_Date013\", \"実績\": \"Results_Date113\" },\n \"省エネ説明\": { \"予定\": \"Results_Date014\", \"実績\": \"Results_Date114\" },\n \"取出有無業者連絡\": { \"予定\": \"Results_Date015\", \"実績\": \"Results_Date115\" },\n \"一次エネ設備決\": { \"予定\": \"Results_Date016\", \"実績\": \"Results_Date116\" },\n \"仕様打完了\": { \"予定\": \"Results_Date017\", \"実績\": \"Results_Date117\" },\n \"4者承認図前\": { \"予定\": \"Results_Date018\", \"実績\": \"Results_Date118\" },\n \"承認図14日前\": { \"予定\": \"Results_Date019\", \"実績\": \"Results_Date119\" },\n \"ゼロエミ承認\": { \"予定\": \"Results_Date020\", \"実績\": \"Results_Date120\" },\n \"着工金入金\": { \"予定\": \"Results_Date021\", \"実績\": \"Results_Date121\" },\n \"融資事前相談\": { \"予定\": \"Results_Date022\", \"実績\": \"Results_Date122\" },\n \"融資申込\": { \"予定\": \"Results_Date023\", \"実績\": \"Results_Date123\" },\n \"融資承認銀行\": { \"予定\": \"Results_Date024\", \"実績\": \"Results_Date124\" },\n \"土地契約\": { \"予定\": \"Results_Date025\", \"実績\": \"Results_Date125\" },\n \"土地残金\": { \"予定\": \"Results_Date026\", \"実績\": \"Results_Date126\" },\n \"残金後謄本\": { \"予定\": \"Results_Date027\", \"実績\": \"Results_Date127\" },\n \"引越し\": { \"予定\": \"Results_Date028\", \"実績\": \"Results_Date128\" },\n \"解体工事着手\": { \"予定\": \"Results_Date029\", \"実績\": \"Results_Date129\" },\n \"解体工事完了\": { \"予定\": \"Results_Date030\", \"実績\": \"Results_Date130\" },\n \"造成\": { \"予定\": \"Results_Date031\", \"実績\": \"Results_Date131\" },\n \"境界杭完了\": { \"予定\": \"Results_Date032\", \"実績\": \"Results_Date132\" },\n \"地耐力調査\": { \"予定\": \"Results_Date033\", \"実績\": \"Results_Date133\" },\n \"地祭\": { \"予定\": \"Results_Date034\", \"実績\": \"Results_Date134\" },\n \"構造計算有無完了日\": { \"予定\": \"Results_Date035\", \"実績\": \"Results_Date135\" },\n \"伏図チェック\": { \"予定\": \"Results_Date036\", \"実績\": \"Results_Date136\" },\n \"プレカット確定\": { \"予定\": \"Results_Date037\", \"実績\": \"Results_Date137\" },\n \"事前提出\": { \"予定\": \"Results_Date038\", \"実績\": \"Results_Date138\" },\n \"事前決裁\": { \"予定\": \"Results_Date039\", \"実績\": \"Results_Date139\" },\n \"確認提出\": { \"予定\": \"Results_Date040\", \"実績\": \"Results_Date140\" },\n \"確認決裁\": { \"予定\": \"Results_Date041\", \"実績\": \"Results_Date141\" },\n \"長期提出確認書\": { \"予定\": \"Results_Date042\", \"実績\": \"Results_Date142\" },\n \"長期行政提出\": { \"予定\": \"Results_Date043\", \"実績\": \"Results_Date143\" },\n \"保険登録\": { \"予定\": \"Results_Date044\", \"実績\": \"Results_Date144\" },\n \"地盤改良着手\": { \"予定\": \"Results_Date045\", \"実績\": \"Results_Date145\" },\n \"上棟金入金\": { \"予定\": \"Results_Date046\", \"実績\": \"Results_Date146\" },\n \"本契覚書承認日\": { \"予定\": \"Results_Date047\", \"実績\": \"Results_Date147\" },\n \"着工可能日\": { \"予定\": \"Results_Date048\", \"実績\": \"Results_Date148\" },\n \"実質着工枠日\": { \"予定\": \"Results_Date049\", \"実績\": \"Results_Date149\" }\n }\n\n $.each(dateItems, function (key, val) {\n let plannedDate = $('#' + val['予定']).val();\n let actualDate = $('#' + val['実績']).val();\n\n if (plannedDate != '' && actualDate != '') {\n $('#' + val['予定']).addClass('dateGrey');\n $('#' + val['実績']).addClass('dateGrey');\n\n } else {\n if (plannedDate == '') {\n $('#' + val['予定']).addClass('dateYellow');\n } else {\n $('#' + val['予定']).addClass('dateBlue');\n }\n\n if (actualDate == '') {\n if (plannedDate != '') {\n $('#' + val['実績']).addClass('dateRed');\n } else {\n $('#' + val['実績']).addClass('dateYellow');\n }\n } else {\n $('#' + val['実績']).addClass('dateBlue');\n }\n }\n });\n\n}\n\n\n//変更内容を保存\n$p.ex.saveHistory = function () {\n let history = '';\n let count = 0;\n\n //履歴に表示しない項目リスト\n let excludeList = ['Results_Timestamp'];\n\n let dateNameList = {\n \"Results_Date011\": \"敷地測量 予定\",\n \"Results_Date012\": \"SR案内 予定\",\n \"Results_Date013\": \"図確引継 予定\",\n \"Results_Date014\": \"省エネ説明 予定\",\n \"Results_Date015\": \"取出有無業者連絡 予定\",\n \"Results_Date016\": \"一次エネ設備決 予定\",\n \"Results_Date017\": \"仕様打完了 予定\",\n \"Results_Date018\": \"4者承認図前 予定\",\n \"Results_Date019\": \"承認図14日前 予定\",\n \"Results_Date020\": \"ゼロエミ承認 予定\",\n \"Results_Date021\": \"着工金入金 予定\",\n \"Results_Date022\": \"融資事前相談 予定\",\n \"Results_Date023\": \"融資申込 予定\",\n \"Results_Date024\": \"融資承認銀行 予定\",\n \"Results_Date025\": \"土地契約 予定\",\n \"Results_Date026\": \"土地残金 予定\",\n \"Results_Date027\": \"残金後謄本 予定\",\n \"Results_Date028\": \"引越し 予定\",\n \"Results_Date029\": \"解体工事着手 予定\",\n \"Results_Date030\": \"解体工事完了 予定\",\n \"Results_Date031\": \"造成 予定\",\n \"Results_Date032\": \"境界杭完了 予定\",\n \"Results_Date033\": \"地耐力調査 予定\",\n \"Results_Date034\": \"地祭 予定\",\n \"Results_Date035\": \"構造計算有無完了日 予定\",\n \"Results_Date036\": \"伏図チェック 予定\",\n \"Results_Date037\": \"プレカット確定 予定\",\n \"Results_Date038\": \"事前提出 予定\",\n \"Results_Date039\": \"事前決裁 予定\",\n \"Results_Date040\": \"確認提出 予定\",\n \"Results_Date041\": \"確認決裁 予定\",\n \"Results_Date042\": \"長期提出確認書 予定\",\n \"Results_Date043\": \"長期行政提出 予定\",\n \"Results_Date044\": \"保険登録 予定\",\n \"Results_Date045\": \"地盤改良着手 予定\",\n \"Results_Date046\": \"上棟金入金 予定\",\n \"Results_Date047\": \"本契覚書承認日 予定\",\n \"Results_Date048\": \"着工可能日 予定\",\n \"Results_Date049\": \"実質着工枠日 予定\",\n \"Results_Date111\": \"敷地測量 実績\",\n \"Results_Date112\": \"SR案内 実績\",\n \"Results_Date113\": \"図確引継 実績\",\n \"Results_Date114\": \"省エネ説明 実績\",\n \"Results_Date115\": \"取出有無業者連絡 実績\",\n \"Results_Date116\": \"一次エネ設備決 実績\",\n \"Results_Date117\": \"仕様打完了 実績\",\n \"Results_Date118\": \"4者承認図前 実績\",\n \"Results_Date119\": \"承認図14日前 実績\",\n \"Results_Date120\": \"ゼロエミ承認 実績\",\n \"Results_Date121\": \"着工金入金 実績\",\n \"Results_Date122\": \"融資事前相談 実績\",\n \"Results_Date123\": \"融資申込 実績\",\n \"Results_Date124\": \"融資承認銀行 実績\",\n \"Results_Date125\": \"土地契約 実績\",\n \"Results_Date126\": \"土地残金 実績\",\n \"Results_Date127\": \"残金後謄本 実績\",\n \"Results_Date128\": \"引越し 実績\",\n \"Results_Date129\": \"解体工事着手 実績\",\n \"Results_Date130\": \"解体工事完了 実績\",\n \"Results_Date131\": \"造成 実績\",\n \"Results_Date132\": \"境界杭完了 実績\",\n \"Results_Date133\": \"地耐力調査 実績\",\n \"Results_Date134\": \"地祭 実績\",\n \"Results_Date135\": \"構造計算有無完了日 実績\",\n \"Results_Date136\": \"伏図チェック 実績\",\n \"Results_Date137\": \"プレカット確定 実績\",\n \"Results_Date138\": \"事前提出 実績\",\n \"Results_Date139\": \"事前決裁 実績\",\n \"Results_Date140\": \"確認提出 実績\",\n \"Results_Date141\": \"確認決裁 実績\",\n \"Results_Date142\": \"長期提出確認書 実績\",\n \"Results_Date143\": \"長期行政提出 実績\",\n \"Results_Date144\": \"保険登録 実績\",\n \"Results_Date145\": \"地盤改良着手 実績\",\n \"Results_Date146\": \"上棟金入金 実績\",\n \"Results_Date147\": \"本契覚書承認日 実績\",\n \"Results_Date148\": \"着工可能日 実績\",\n \"Results_Date149\": \"実質着工枠日 実績\",\n \"Results_Class011\": \"敷地測量 備考\",\n \"Results_Class012\": \"SR案内 備考\",\n \"Results_Class013\": \"図確引継 備考\",\n \"Results_Class014\": \"省エネ説明 備考\",\n \"Results_Class015\": \"取出有無業者連絡 備考\",\n \"Results_Class016\": \"一次エネ設備決 備考\",\n \"Results_Class017\": \"仕様打完了 備考\",\n \"Results_Class018\": \"4者承認図前 備考\",\n \"Results_Class019\": \"承認図14日前 備考\",\n \"Results_Class020\": \"ゼロエミ承認 備考\",\n \"Results_Class021\": \"着工金入金 備考\",\n \"Results_Class022\": \"融資事前相談 備考\",\n \"Results_Class023\": \"融資申込 備考\",\n \"Results_Class024\": \"融資承認銀行 備考\",\n \"Results_Class025\": \"土地契約 備考\",\n \"Results_Class026\": \"土地残金 備考\",\n \"Results_Class027\": \"残金後謄本 備考\",\n \"Results_Class028\": \"引越し 備考\",\n \"Results_Class029\": \"解体工事着手 備考\",\n \"Results_Class030\": \"解体工事完了 備考\",\n \"Results_Class031\": \"造成 備考\",\n \"Results_Class032\": \"境界杭完了 備考\",\n \"Results_Class033\": \"地耐力調査 備考\",\n \"Results_Class034\": \"地祭 備考\",\n \"Results_Class035\": \"構造計算有無完了日 備考\",\n \"Results_Class036\": \"伏図チェック 備考\",\n \"Results_Class037\": \"プレカット確定 備考\",\n \"Results_Class038\": \"事前提出 備考\",\n \"Results_Class039\": \"事前決裁 備考\",\n \"Results_Class040\": \"確認提出 備考\",\n \"Results_Class041\": \"確認決裁 備考\",\n \"Results_Class042\": \"長期提出確認書 備考\",\n \"Results_Class043\": \"長期行政提出 備考\",\n \"Results_Class044\": \"保険登録 備考\",\n \"Results_Class045\": \"地盤改良着手 備考\",\n \"Results_Class046\": \"上棟金入金 備考\",\n \"Results_Class047\": \"本契覚書承認日 備考\",\n \"Results_Class048\": \"着工可能日 備考\",\n \"Results_Class049\": \"実質着工枠日 備考\"\n }\n\n // excludeListに含まれる項目名をclassに持つ要素を取得\n $('.excludeList').each(function () {\n console.log(this.id);\n excludeList.push(this.id);\n });\n\n //更新された項目を抜き出し、履歴保存する\n if ($p.data.MainForm) {\n $p.set($('#Results_Description200'), '');\n\n history = '◆ 変更内容 ◆\\n';\n $.each($p.data.MainForm, function (index, val) {\n if (index.startsWith('Results')) {\n //対象外項目は除外\n if (!excludeList.includes(index)) {\n //項目名の取得\n let colName = $('label[for=\"' + index + '\"]').text();\n if (dateNameList.hasOwnProperty(index)) {\n colName = dateNameList[index];\n }\n\n let newData;\n let nowData;\n let index2 = index.split('_')[1];\n //現在値の取得\n if (index.startsWith('Results_Class')) {\n nowData = myData.ClassHash[index2];\n } else if (index.startsWith('Results_Date')) {\n if (myData.DateHash[index2] == '' || myData.DateHash[index2] == '1899-12-30T00:00:00') {\n nowData = '';\n } else {\n nowData = $p.ex.dateToString(myData.DateHash[index2]);\n }\n\n } else if (index.startsWith('Results_Num')) {\n nowData = myData.NumHash[index2];\n } else if (index.startsWith('Results_Description')) {\n nowData = myData.DescriptionHash[index2];\n } else if (index.startsWith('Results_Check')) {\n nowData = myData.CheckHash[index2];\n }\n\n //セレクトボックス判定\n if ($('#' + index + '.control-dropdown').length) {\n //セレクトボックス処理\n if ($('#' + index).prop(\"multiple\")) {\n newData = $('#' + index + '_ms span').eq(-1).text();\n } else {\n newData = $('#' + index + ' option:selected').text();\n }\n } else if ($('#' + index + '.radio-value').length) {\n //ラジオボタン処理\n newData = val != '' ? $('label[for=\"' + index + val + '\"').text() : '';\n } else {\n //その他\n newData = val;\n }\n if (nowData != '') {\n if (nowData != newData) {\n history += '▷ ' + colName + ' : ' + nowData + ' -> ' + newData + '\\n';\n count++;\n }\n } else {\n history += '▷ ' + colName + ' : ' + newData + '\\n';\n count++;\n }\n }\n }\n });\n\n if (count) {\n //console.log(history);\n $p.set($('#Results_Description200'), history);\n $p.set($('#Comments'), history);\n }\n }\n}\n\n$p.ex.dateToString = function (date) {\n if (date == null || date == '') {\n return '';\n }\n let dateString = date.split('T')[0];\n let dateVar = new Date(dateString);\n let year = dateVar.getFullYear();\n let month = (dateVar.getMonth() + 1);\n let day = dateVar.getDate();\n\n return year + '/' + month + '/' + day;\n}", + "Id": 1 + } + ], + "AllowCopy": false, + "TitleSeparator": "■", + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_07 13_56_18.json b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_07 13_56_18.json new file mode 100644 index 00000000..670c6ec4 --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/新・着工要因_2025_12_07 13_56_18.json @@ -0,0 +1,1497 @@ +{ + "HeaderInfo": { + "AssemblyVersion": "1.4.11.0", + "BaseSiteId": 426946, + "Server": "https://nextoffice.next-hd.co.jp/pleasanter", + "CreatorName": "野木 健一郎", + "PackageTime": "2025-12-07T13:56:18.4901668+09:00", + "Convertors": [ + { + "SiteId": 426946, + "SiteTitle": "新・着工要因", + "ReferenceType": "Results", + "IncludeData": false + } + ], + "IncludeSitePermission": true, + "IncludeRecordPermission": true, + "IncludeColumnPermission": true, + "IncludeNotifications": true, + "IncludeReminders": true + }, + "Sites": [ + { + "TenantId": 1, + "SiteId": 426946, + "Title": "新・着工要因", + "SiteName": "", + "SiteGroupName": "", + "Body": "", + "GridGuide": "", + "EditorGuide": "", + "CalendarGuide": "", + "CrosstabGuide": "", + "GanttGuide": "", + "BurnDownGuide": "", + "TimeSeriesGuide": "", + "AnalyGuide": "", + "KambanGuide": "", + "ImageLibGuide": "", + "ReferenceType": "Results", + "ParentId": 426945, + "InheritPermission": 426945, + "SiteSettings": { + "Version": 1.017, + "ReferenceType": "Results", + "GridColumns": [ + "Title", + "Num200", + "Date011", + "Date012", + "Date013", + "Date014", + "Date015", + "Date016", + "Date017", + "Date018", + "Date019", + "Date020", + "Date021", + "Date022", + "Date023", + "Date024", + "Date025", + "Date026", + "Date027", + "Date028", + "Date029", + "Date030", + "Date031", + "Date032", + "Date033", + "Date034", + "Date035", + "Date036", + "Date037", + "Date038", + "Date039", + "Date040", + "Date041", + "Date042", + "Date043", + "Date044", + "Date045", + "Date046", + "Date047", + "Date048", + "Date049", + "Class001", + "DescriptionC" + ], + "FilterColumns": [], + "EditorColumnHash": { + "General": [ + "Status", + "_Section-40", + "ClassA", + "ClassB", + "ClassC", + "ClassD", + "ClassE", + "ClassF", + "ClassG", + "ClassH", + "_Section-41", + "ClassI", + "ClassJ", + "ClassK", + "ClassL", + "ClassM", + "NumA", + "DateA", + "DateB", + "NumB", + "_Section-42", + "Class001", + "Class002", + "Class003", + "Class004", + "Class005", + "Class006", + "_Section-43", + "DescriptionA", + "DescriptionB", + "DescriptionC", + "_Section-1", + "Date048", + "Date148", + "Class048", + "_Section-2", + "Date049", + "Date149", + "Class049", + "Comments", + "Title", + "Class200", + "ClassZ", + "Description200" + ], + "_Tab-1": [ + "_Section-3", + "Date011", + "Date111", + "Class011", + "_Section-4", + "Date012", + "Date112", + "Class012", + "_Section-5", + "Date015", + "Date115", + "Class015", + "_Section-6", + "Date020", + "Date120", + "Class020", + "_Section-7", + "Date021", + "Date121", + "Class021", + "_Section-8", + "Date022", + "Date122", + "Class022", + "_Section-9", + "Date023", + "Date123", + "Class023", + "_Section-10", + "Date024", + "Date124", + "Class024", + "_Section-11", + "Date025", + "Date125", + "Class025", + "_Section-12", + "Date026", + "Date126", + "Class026", + "_Section-13", + "Date027", + "Date127", + "Class027", + "_Section-14", + "Date028", + "Date128", + "Class028", + "_Section-15", + "Date029", + "Date129", + "Class029", + "_Section-16", + "Date030", + "Date130", + "Class030", + "_Section-17", + "Date031", + "Date131", + "Class031", + "_Section-18", + "Date034", + "Date134", + "Class034", + "_Section-19", + "Date046", + "Date146", + "Class046", + "_Section-20", + "Date047", + "Date147", + "Class047" + ], + "_Tab-2": [ + "_Section-21", + "Date013", + "Date113", + "Class013", + "_Section-22", + "Date014", + "Date114", + "Class014", + "_Section-23", + "Date032", + "Date132", + "Class032", + "_Section-24", + "Date033", + "Date133", + "Class033", + "_Section-25", + "Date037", + "Date137", + "Class037", + "_Section-26", + "Date045", + "Date145", + "Class045" + ], + "_Tab-3": [ + "_Section-27", + "Date016", + "Date116", + "Class016", + "_Section-28", + "Date017", + "Date117", + "Class017", + "_Section-29", + "Date018", + "Date118", + "Class018", + "_Section-30", + "Date019", + "Date119", + "Class019" + ], + "_Tab-4": [ + "_Section-31", + "Date035", + "Date135", + "Class035", + "_Section-32", + "Date036", + "Date136", + "Class036", + "_Section-33", + "Date042", + "Date142", + "Class042", + "_Section-34", + "Date044", + "Date144", + "Class044" + ], + "_Tab-5": [ + "_Section-35", + "Date038", + "Date138", + "Class038", + "_Section-36", + "Date039", + "Date139", + "Class039", + "_Section-37", + "Date040", + "Date140", + "Class040", + "_Section-38", + "Date041", + "Date141", + "Class041", + "_Section-39", + "Date043", + "Date143", + "Class043" + ] + }, + "TabLatestId": 5, + "Tabs": [ + { + "LabelText": "営業", + "Id": 1 + }, + { + "LabelText": "設計", + "Id": 2 + }, + { + "LabelText": "IC", + "Id": 3 + }, + { + "LabelText": "FIT", + "Id": 4 + }, + { + "LabelText": "確認", + "Id": 5 + } + ], + "SectionLatestId": 43, + "Sections": [ + { + "Id": 40, + "LabelText": "物件情報", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 41, + "LabelText": "物件詳細", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 42, + "LabelText": "担当者", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 43, + "LabelText": "コメント", + "AllowExpand": true, + "Expand": true + }, + { + "Id": 1, + "LabelText": "着工可能日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 2, + "LabelText": "実質着工枠日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 3, + "LabelText": "敷地測量", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 4, + "LabelText": "SR案内", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 5, + "LabelText": "取出有無業者連絡", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 6, + "LabelText": "ゼロエミ承認", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 7, + "LabelText": "着工金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 8, + "LabelText": "融資事前相談", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 9, + "LabelText": "融資申込", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 10, + "LabelText": "融資承認銀行", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 11, + "LabelText": "土地契約", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 12, + "LabelText": "土地残金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 13, + "LabelText": "残金後謄本", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 14, + "LabelText": "引越し", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 15, + "LabelText": "解体工事着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 16, + "LabelText": "解体工事完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 17, + "LabelText": "造成", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 18, + "LabelText": "地祭", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 19, + "LabelText": "上棟金入金", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 20, + "LabelText": "本契覚書承認日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 21, + "LabelText": "図確引継", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 22, + "LabelText": "省エネ説明", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 23, + "LabelText": "境界杭完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 24, + "LabelText": "地耐力調査", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 25, + "LabelText": "プレカット確定", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 26, + "LabelText": "地盤改良着手", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 27, + "LabelText": "一次エネ設備決", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 28, + "LabelText": "仕様打完了", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 29, + "LabelText": "4者承認図前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 30, + "LabelText": "承認図14日前", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 31, + "LabelText": "構造計算有無完了日", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 32, + "LabelText": "伏図チェック", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 33, + "LabelText": "長期提出確認書", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 34, + "LabelText": "保険登録", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 35, + "LabelText": "事前提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 36, + "LabelText": "事前決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 37, + "LabelText": "確認提出", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 38, + "LabelText": "確認決裁", + "AllowExpand": false, + "Expand": true + }, + { + "Id": 39, + "LabelText": "長期行政提出", + "AllowExpand": false, + "Expand": true + } + ], + "TitleColumns": [ + "ClassA", + "ClassB", + "Class200" + ], + "Columns": [ + { + "ColumnName": "ClassA", + "LabelText": "契約コード" + }, + { + "ColumnName": "ClassB", + "LabelText": "工事名", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassC", + "LabelText": "建上地", + "FieldCss": "field-wide" + }, + { + "ColumnName": "ClassD", + "LabelText": "契約会社" + }, + { + "ColumnName": "ClassE", + "LabelText": "契約営業所" + }, + { + "ColumnName": "ClassF", + "LabelText": "エリア" + }, + { + "ColumnName": "ClassG", + "LabelText": "担当営業", + "NoWrap": true + }, + { + "ColumnName": "ClassH", + "LabelText": "担当監督" + }, + { + "ColumnName": "ClassI", + "LabelText": "ブランド" + }, + { + "ColumnName": "ClassJ", + "LabelText": "タイプ" + }, + { + "ColumnName": "ClassK", + "LabelText": "建物種別" + }, + { + "ColumnName": "ClassL", + "LabelText": "防火" + }, + { + "ColumnName": "ClassM", + "LabelText": "階数" + }, + { + "ColumnName": "NumA", + "LabelText": "坪数" + }, + { + "ColumnName": "DateA", + "LabelText": "契約工期(始)" + }, + { + "ColumnName": "DateB", + "LabelText": "契約工期(終)" + }, + { + "ColumnName": "NumB", + "LabelText": "契約金額" + }, + { + "ColumnName": "Class001", + "LabelText": "設計", + "GridLabelText": "担当者", + "GridDesign": "設計 : [Class001]\n伏図 : [Class002]\n確認 : [Class003]\nIC : [Class004]\n性能(伏) : [Class005]\n水道 : [Class006]" + }, + { + "ColumnName": "Class002", + "LabelText": "伏図" + }, + { + "ColumnName": "Class003", + "LabelText": "確認" + }, + { + "ColumnName": "Class004", + "LabelText": "IC" + }, + { + "ColumnName": "Class005", + "LabelText": "性能(伏)" + }, + { + "ColumnName": "Class006", + "LabelText": "水道" + }, + { + "ColumnName": "DescriptionA", + "LabelText": "物件詳細1" + }, + { + "ColumnName": "DescriptionB", + "LabelText": "物件詳細2" + }, + { + "ColumnName": "DescriptionC", + "LabelText": "変更・注意点等コメント" + }, + { + "ColumnName": "Date011", + "LabelText": "予定", + "GridLabelText": "敷地測量", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date011]\n\n実績:\n[Date111]" + }, + { + "ColumnName": "Date111", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date012", + "LabelText": "予定", + "GridLabelText": "SR案内", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date012]\n\n実績:\n[Date112]" + }, + { + "ColumnName": "Date112", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date013", + "LabelText": "予定", + "GridLabelText": "図確引継", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date013]\n\n実績:\n[Date113]" + }, + { + "ColumnName": "Date113", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date014", + "LabelText": "予定", + "GridLabelText": "省エネ説明", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date014]\n\n実績:\n[Date114]" + }, + { + "ColumnName": "Date114", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date015", + "LabelText": "予定", + "GridLabelText": "取出有無業者連絡", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date015]\n\n実績:\n[Date115]" + }, + { + "ColumnName": "Date115", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date016", + "LabelText": "予定", + "GridLabelText": "一次エネ設備決", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date016]\n\n実績:\n[Date116]" + }, + { + "ColumnName": "Date116", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date017", + "LabelText": "予定", + "GridLabelText": "仕様打完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date017]\n\n実績:\n[Date117]" + }, + { + "ColumnName": "Date117", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date018", + "LabelText": "予定", + "GridLabelText": "4者承認図前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date018]\n\n実績:\n[Date118]" + }, + { + "ColumnName": "Date118", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date019", + "LabelText": "予定", + "GridLabelText": "承認図14日前", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date019]\n\n実績:\n[Date119]" + }, + { + "ColumnName": "Date119", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date020", + "LabelText": "予定", + "GridLabelText": "ゼロエミ承認", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date020]\n\n実績:\n[Date120]" + }, + { + "ColumnName": "Date120", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date021", + "LabelText": "予定", + "GridLabelText": "着工金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date021]\n\n実績:\n[Date121]" + }, + { + "ColumnName": "Date121", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date022", + "LabelText": "予定", + "GridLabelText": "融資事前相談", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date022]\n\n実績:\n[Date122]" + }, + { + "ColumnName": "Date122", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date023", + "LabelText": "予定", + "GridLabelText": "融資申込", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date023]\n\n実績:\n[Date123]" + }, + { + "ColumnName": "Date123", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date024", + "LabelText": "予定", + "GridLabelText": "融資承認銀行", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date024]\n\n実績:\n[Date124]" + }, + { + "ColumnName": "Date124", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date025", + "LabelText": "予定", + "GridLabelText": "土地契約", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date025]\n\n実績:\n[Date125]" + }, + { + "ColumnName": "Date125", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date026", + "LabelText": "予定", + "GridLabelText": "土地残金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date026]\n\n実績:\n[Date126]" + }, + { + "ColumnName": "Date126", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date027", + "LabelText": "予定", + "GridLabelText": "残金後謄本", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date027]\n\n実績:\n[Date127]" + }, + { + "ColumnName": "Date127", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date028", + "LabelText": "予定", + "GridLabelText": "引越し", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date028]\n\n実績:\n[Date128]" + }, + { + "ColumnName": "Date128", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date029", + "LabelText": "予定", + "GridLabelText": "解体工事着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date029]\n\n実績:\n[Date129]" + }, + { + "ColumnName": "Date129", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date030", + "LabelText": "予定", + "GridLabelText": "解体工事完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date030]\n\n実績:\n[Date130]" + }, + { + "ColumnName": "Date130", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date031", + "LabelText": "予定", + "GridLabelText": "造成", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date031]\n\n実績:\n[Date131]" + }, + { + "ColumnName": "Date131", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date032", + "LabelText": "予定", + "GridLabelText": "境界杭完了", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date032]\n\n実績:\n[Date132]" + }, + { + "ColumnName": "Date132", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date033", + "LabelText": "予定", + "GridLabelText": "地耐力調査", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date033]\n\n実績:\n[Date133]" + }, + { + "ColumnName": "Date133", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date034", + "LabelText": "予定", + "GridLabelText": "地祭", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date034]\n\n実績:\n[Date134]" + }, + { + "ColumnName": "Date134", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date035", + "LabelText": "予定", + "GridLabelText": "構造計算有無完了日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date035]\n\n実績:\n[Date135]" + }, + { + "ColumnName": "Date135", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date036", + "LabelText": "予定", + "GridLabelText": "伏図チェック", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date036]\n\n実績:\n[Date136]" + }, + { + "ColumnName": "Date136", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date037", + "LabelText": "予定", + "GridLabelText": "プレカット確定", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date037]\n\n実績:\n[Date137]" + }, + { + "ColumnName": "Date137", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date038", + "LabelText": "予定", + "GridLabelText": "事前提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date038]\n\n実績:\n[Date138]" + }, + { + "ColumnName": "Date138", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date039", + "LabelText": "予定", + "GridLabelText": "事前決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date039]\n\n実績:\n[Date139]" + }, + { + "ColumnName": "Date139", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date040", + "LabelText": "予定", + "GridLabelText": "確認提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date040]\n\n実績:\n[Date140]" + }, + { + "ColumnName": "Date140", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date041", + "LabelText": "予定", + "GridLabelText": "確認決裁", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date041]\n\n実績:\n[Date141]" + }, + { + "ColumnName": "Date141", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date042", + "LabelText": "予定", + "GridLabelText": "長期提出確認書", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date042]\n\n実績:\n[Date142]" + }, + { + "ColumnName": "Date142", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date043", + "LabelText": "予定", + "GridLabelText": "長期行政提出", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date043]\n\n実績:\n[Date143]" + }, + { + "ColumnName": "Date143", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date044", + "LabelText": "予定", + "GridLabelText": "保険登録", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date044]\n\n実績:\n[Date144]" + }, + { + "ColumnName": "Date144", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date045", + "LabelText": "予定", + "GridLabelText": "地盤改良着手", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date045]\n\n実績:\n[Date145]" + }, + { + "ColumnName": "Date145", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date046", + "LabelText": "予定", + "GridLabelText": "上棟金入金", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date046]\n\n実績:\n[Date146]" + }, + { + "ColumnName": "Date146", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date047", + "LabelText": "予定", + "GridLabelText": "本契覚書承認日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date047]\n\n実績:\n[Date147]" + }, + { + "ColumnName": "Date147", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date048", + "LabelText": "契約時", + "GridLabelText": "着工可能日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date048]\n\n実績:\n[Date148]" + }, + { + "ColumnName": "Date148", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Date049", + "LabelText": "予定", + "GridLabelText": "実質着工枠日", + "GridFormat": "Md", + "NoWrap": true, + "GridDesign": "予定:\n[Date049]\n\n実績:\n[Date149]" + }, + { + "ColumnName": "Date149", + "LabelText": "実績", + "GridFormat": "Md" + }, + { + "ColumnName": "Class011", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class012", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class013", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class014", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class015", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class016", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class017", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class018", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class019", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class020", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class021", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class022", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class023", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class024", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class025", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class026", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class027", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class028", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class029", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class030", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class031", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class032", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class033", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class034", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class035", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class036", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class037", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class038", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class039", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class040", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class041", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class042", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class043", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class044", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class045", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class046", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class047", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class048", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Class049", + "LabelText": "備考", + "FieldCss": "field-wide" + }, + { + "ColumnName": "Num200", + "GridLabelText": "予実", + "GridDesign": "予定\n\n\n実績" + }, + { + "ColumnName": "Class200", + "LabelText": "着工要因", + "DefaultInput": "着工要因", + "Hide": true + }, + { + "ColumnName": "Status", + "ChoicesText": "100,未着工,未,status-new\n900,着工済,着,status-closed" + }, + { + "ColumnName": "Description200", + "Hide": true, + "ExtendedControlCss": "excludeList" + }, + { + "ColumnName": "Comments", + "AllowImage": false + }, + { + "ColumnName": "ClassZ", + "LabelText": "着工枠", + "ChoicesText": "[[438166]]", + "Link": true, + "SearchType": "PartialMatch" + } + ], + "Links": [ + { + "ColumnName": "ClassZ", + "SiteId": 438166 + } + ], + "Summaries": [ + { + "SiteId": 438166, + "DestinationReferenceType": "Results", + "DestinationColumn": "NumA", + "LinkColumn": "ClassZ", + "Type": "Count", + "Id": 1 + } + ], + "Styles": [ + { + "Title": "スタイル調整", + "New": true, + "Edit": true, + "Body": ".field-normal,\n.field-wide {\n height: 35px;\n min-height: 35px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.dateYellow {\n background-color: yellow !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateRed {\n background-color: red !important;\n color: white !important;\n font-weight: bold !important;\n}\n\n.dateGrey {\n background-color: grey !important;\n color: black !important;\n font-weight: bold !important;\n}\n\n.dateBlue {\n background-color: lightblue !important;\n color: black !important;\n font-weight: bold !important;\n}", + "Id": 1 + }, + { + "Title": "一覧スタイル調整", + "Index": true, + "Body": ".field-normal,\n.field-wide {\n height: 32px;\n min-height: 32px;\n}\n\n.field-section {\n font-size: 1.5em;\n font-weight: bold;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.ui-widget-header th,\n.ui-widget-content td {\n width: 40px;\n}\n\n.ui-widget-content td>div>pre {\n white-space: nowrap;\n}\n\n.grid th,\n.grid td {\n width: 40px !important;\n min-width: 40px !important;\n max-width: 40px !important;\n text-align: center !important;\n}\n\n.grid th:first-child,\n.grid td:first-child {\n width: 30px !important;\n min-width: 30px !important;\n max-width: 30px !important;\n}\n\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n width: 500px !important;\n min-width: 500px !important;\n max-width: 500px !important;\n}\n\n.grid th:nth-last-child(2),\n.grid td:nth-last-child(2) {\n width: 140px !important;\n min-width: 140px !important;\n max-width: 140px !important;\n text-align: left !important;\n}\n\n.grid th:last-child,\n.grid td:last-child {\n width: auto !important;\n min-width: 500px !important;\n max-width: none !important;\n text-align: left !important;\n}", + "Id": 2 + }, + { + "Title": "一覧画面の列固定", + "Index": true, + "Body": "/* ヘッダー行のセル (th) とデータ行のセル (td) の両方に適用する */\n.grid th:nth-child(1),\n.grid td:nth-child(1),\n.grid th:nth-child(2),\n.grid td:nth-child(2),\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n /* positionをstickyに設定 */\n position: sticky !important;\n /* 重なり順序を確保 */\n z-index: 100 !important;\n}\n\n.grid th:nth-child(1),\n.grid th:nth-child(2),\n.grid th:nth-child(3) {\n background-color: black !important;\n}\n\n.grid td:nth-child(1),\n.grid td:nth-child(2),\n.grid td:nth-child(3) {\n background-color: lightgrey !important;\n}\n\n/* 1列目: 左端からの位置は0px */\n.grid th:nth-child(1),\n.grid td:nth-child(1) {\n left: 0px !important;\n}\n\n/* 3列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(2),\n.grid td:nth-child(2) {\n left: 31px !important;\n}\n\n/* 4列目: 1列目と2列目の幅の合計分だけ右に配置(ここでは2列目を150pxと仮定) */\n.grid th:nth-child(3),\n.grid td:nth-child(3) {\n left: 532px !important;\n}", + "Id": 3 + } + ], + "Scripts": [ + { + "Title": "01_変更履歴保存", + "Edit": true, + "Body": "let pageLoading = 0;\nlet apiKey = '6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d';\n\n//----------------------------------------------------------------------\n//初期処理\nwindow.addEventListener('load', function () {\n if (pageLoading == 0) {\n console.log('Window load Event');\n $p.ex.onLoad();\n }\n});\n\n$p.events.on_editor_load = function () {\n if (pageLoading == 0) {\n console.log('on Editor Load');\n $p.ex.onLoad();\n }\n}\n\n//----------------------------------------------------------------------\n$p.ex.onLoad = function () {\n //ロード開始\n pageLoading = 1;\n\n //初期処理\n $p.ex.init();\n}\n\n$p.ex.init = function () {\n //コメント削除ボタン非表示\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\n$p.events.after_set = function (args) {\n $('p[data-action=\"DeleteComment\"]').hide();\n //自身のデータを取得\n $p.ex.getMyData();\n\n //日付の色分け\n $p.ex.checkDate();\n}\n\nlet myData;\n\n$p.ex.getMyData = function () {\n let thisId = $p.id();\n\n $p.apiGet({\n 'id': thisId,\n 'data': {\n 'ApiVersion': 1.1,\n 'ApiKey': apiKey,\n },\n 'async': false,\n 'done': function (data) {\n myData = data.Response.Data[0];\n },\n 'fail': function (data) {\n console.log(data);\n }\n\n });\n}\n\n//入力チェック後処理\n$p.events.after_validate = function (args) {\n //変更履歴の保存\n $p.ex.saveHistory();\n}\n\n$p.ex.checkDate = function () {\n let dateItems = {\n \"敷地測量\": { \"予定\": \"Results_Date011\", \"実績\": \"Results_Date111\" },\n \"SR案内\": { \"予定\": \"Results_Date012\", \"実績\": \"Results_Date112\" },\n \"図確引継\": { \"予定\": \"Results_Date013\", \"実績\": \"Results_Date113\" },\n \"省エネ説明\": { \"予定\": \"Results_Date014\", \"実績\": \"Results_Date114\" },\n \"取出有無業者連絡\": { \"予定\": \"Results_Date015\", \"実績\": \"Results_Date115\" },\n \"一次エネ設備決\": { \"予定\": \"Results_Date016\", \"実績\": \"Results_Date116\" },\n \"仕様打完了\": { \"予定\": \"Results_Date017\", \"実績\": \"Results_Date117\" },\n \"4者承認図前\": { \"予定\": \"Results_Date018\", \"実績\": \"Results_Date118\" },\n \"承認図14日前\": { \"予定\": \"Results_Date019\", \"実績\": \"Results_Date119\" },\n \"ゼロエミ承認\": { \"予定\": \"Results_Date020\", \"実績\": \"Results_Date120\" },\n \"着工金入金\": { \"予定\": \"Results_Date021\", \"実績\": \"Results_Date121\" },\n \"融資事前相談\": { \"予定\": \"Results_Date022\", \"実績\": \"Results_Date122\" },\n \"融資申込\": { \"予定\": \"Results_Date023\", \"実績\": \"Results_Date123\" },\n \"融資承認銀行\": { \"予定\": \"Results_Date024\", \"実績\": \"Results_Date124\" },\n \"土地契約\": { \"予定\": \"Results_Date025\", \"実績\": \"Results_Date125\" },\n \"土地残金\": { \"予定\": \"Results_Date026\", \"実績\": \"Results_Date126\" },\n \"残金後謄本\": { \"予定\": \"Results_Date027\", \"実績\": \"Results_Date127\" },\n \"引越し\": { \"予定\": \"Results_Date028\", \"実績\": \"Results_Date128\" },\n \"解体工事着手\": { \"予定\": \"Results_Date029\", \"実績\": \"Results_Date129\" },\n \"解体工事完了\": { \"予定\": \"Results_Date030\", \"実績\": \"Results_Date130\" },\n \"造成\": { \"予定\": \"Results_Date031\", \"実績\": \"Results_Date131\" },\n \"境界杭完了\": { \"予定\": \"Results_Date032\", \"実績\": \"Results_Date132\" },\n \"地耐力調査\": { \"予定\": \"Results_Date033\", \"実績\": \"Results_Date133\" },\n \"地祭\": { \"予定\": \"Results_Date034\", \"実績\": \"Results_Date134\" },\n \"構造計算有無完了日\": { \"予定\": \"Results_Date035\", \"実績\": \"Results_Date135\" },\n \"伏図チェック\": { \"予定\": \"Results_Date036\", \"実績\": \"Results_Date136\" },\n \"プレカット確定\": { \"予定\": \"Results_Date037\", \"実績\": \"Results_Date137\" },\n \"事前提出\": { \"予定\": \"Results_Date038\", \"実績\": \"Results_Date138\" },\n \"事前決裁\": { \"予定\": \"Results_Date039\", \"実績\": \"Results_Date139\" },\n \"確認提出\": { \"予定\": \"Results_Date040\", \"実績\": \"Results_Date140\" },\n \"確認決裁\": { \"予定\": \"Results_Date041\", \"実績\": \"Results_Date141\" },\n \"長期提出確認書\": { \"予定\": \"Results_Date042\", \"実績\": \"Results_Date142\" },\n \"長期行政提出\": { \"予定\": \"Results_Date043\", \"実績\": \"Results_Date143\" },\n \"保険登録\": { \"予定\": \"Results_Date044\", \"実績\": \"Results_Date144\" },\n \"地盤改良着手\": { \"予定\": \"Results_Date045\", \"実績\": \"Results_Date145\" },\n \"上棟金入金\": { \"予定\": \"Results_Date046\", \"実績\": \"Results_Date146\" },\n \"本契覚書承認日\": { \"予定\": \"Results_Date047\", \"実績\": \"Results_Date147\" },\n \"着工可能日\": { \"予定\": \"Results_Date048\", \"実績\": \"Results_Date148\" },\n \"実質着工枠日\": { \"予定\": \"Results_Date049\", \"実績\": \"Results_Date149\" }\n }\n\n $.each(dateItems, function (key, val) {\n let plannedDate = $('#' + val['予定']).val();\n let actualDate = $('#' + val['実績']).val();\n\n if (plannedDate != '' && actualDate != '') {\n $('#' + val['予定']).addClass('dateGrey');\n $('#' + val['実績']).addClass('dateGrey');\n\n } else {\n if (plannedDate == '') {\n $('#' + val['予定']).addClass('dateYellow');\n } else {\n $('#' + val['予定']).addClass('dateBlue');\n }\n\n if (actualDate == '') {\n if (plannedDate != '') {\n $('#' + val['実績']).addClass('dateRed');\n } else {\n $('#' + val['実績']).addClass('dateYellow');\n }\n } else {\n $('#' + val['実績']).addClass('dateBlue');\n }\n }\n });\n\n}\n\n\n//変更内容を保存\n$p.ex.saveHistory = function () {\n let history = '';\n let count = 0;\n\n //履歴に表示しない項目リスト\n let excludeList = ['Results_Timestamp'];\n\n let dateNameList = {\n \"Results_Date011\": \"敷地測量 予定\",\n \"Results_Date012\": \"SR案内 予定\",\n \"Results_Date013\": \"図確引継 予定\",\n \"Results_Date014\": \"省エネ説明 予定\",\n \"Results_Date015\": \"取出有無業者連絡 予定\",\n \"Results_Date016\": \"一次エネ設備決 予定\",\n \"Results_Date017\": \"仕様打完了 予定\",\n \"Results_Date018\": \"4者承認図前 予定\",\n \"Results_Date019\": \"承認図14日前 予定\",\n \"Results_Date020\": \"ゼロエミ承認 予定\",\n \"Results_Date021\": \"着工金入金 予定\",\n \"Results_Date022\": \"融資事前相談 予定\",\n \"Results_Date023\": \"融資申込 予定\",\n \"Results_Date024\": \"融資承認銀行 予定\",\n \"Results_Date025\": \"土地契約 予定\",\n \"Results_Date026\": \"土地残金 予定\",\n \"Results_Date027\": \"残金後謄本 予定\",\n \"Results_Date028\": \"引越し 予定\",\n \"Results_Date029\": \"解体工事着手 予定\",\n \"Results_Date030\": \"解体工事完了 予定\",\n \"Results_Date031\": \"造成 予定\",\n \"Results_Date032\": \"境界杭完了 予定\",\n \"Results_Date033\": \"地耐力調査 予定\",\n \"Results_Date034\": \"地祭 予定\",\n \"Results_Date035\": \"構造計算有無完了日 予定\",\n \"Results_Date036\": \"伏図チェック 予定\",\n \"Results_Date037\": \"プレカット確定 予定\",\n \"Results_Date038\": \"事前提出 予定\",\n \"Results_Date039\": \"事前決裁 予定\",\n \"Results_Date040\": \"確認提出 予定\",\n \"Results_Date041\": \"確認決裁 予定\",\n \"Results_Date042\": \"長期提出確認書 予定\",\n \"Results_Date043\": \"長期行政提出 予定\",\n \"Results_Date044\": \"保険登録 予定\",\n \"Results_Date045\": \"地盤改良着手 予定\",\n \"Results_Date046\": \"上棟金入金 予定\",\n \"Results_Date047\": \"本契覚書承認日 予定\",\n \"Results_Date048\": \"着工可能日 予定\",\n \"Results_Date049\": \"実質着工枠日 予定\",\n \"Results_Date111\": \"敷地測量 実績\",\n \"Results_Date112\": \"SR案内 実績\",\n \"Results_Date113\": \"図確引継 実績\",\n \"Results_Date114\": \"省エネ説明 実績\",\n \"Results_Date115\": \"取出有無業者連絡 実績\",\n \"Results_Date116\": \"一次エネ設備決 実績\",\n \"Results_Date117\": \"仕様打完了 実績\",\n \"Results_Date118\": \"4者承認図前 実績\",\n \"Results_Date119\": \"承認図14日前 実績\",\n \"Results_Date120\": \"ゼロエミ承認 実績\",\n \"Results_Date121\": \"着工金入金 実績\",\n \"Results_Date122\": \"融資事前相談 実績\",\n \"Results_Date123\": \"融資申込 実績\",\n \"Results_Date124\": \"融資承認銀行 実績\",\n \"Results_Date125\": \"土地契約 実績\",\n \"Results_Date126\": \"土地残金 実績\",\n \"Results_Date127\": \"残金後謄本 実績\",\n \"Results_Date128\": \"引越し 実績\",\n \"Results_Date129\": \"解体工事着手 実績\",\n \"Results_Date130\": \"解体工事完了 実績\",\n \"Results_Date131\": \"造成 実績\",\n \"Results_Date132\": \"境界杭完了 実績\",\n \"Results_Date133\": \"地耐力調査 実績\",\n \"Results_Date134\": \"地祭 実績\",\n \"Results_Date135\": \"構造計算有無完了日 実績\",\n \"Results_Date136\": \"伏図チェック 実績\",\n \"Results_Date137\": \"プレカット確定 実績\",\n \"Results_Date138\": \"事前提出 実績\",\n \"Results_Date139\": \"事前決裁 実績\",\n \"Results_Date140\": \"確認提出 実績\",\n \"Results_Date141\": \"確認決裁 実績\",\n \"Results_Date142\": \"長期提出確認書 実績\",\n \"Results_Date143\": \"長期行政提出 実績\",\n \"Results_Date144\": \"保険登録 実績\",\n \"Results_Date145\": \"地盤改良着手 実績\",\n \"Results_Date146\": \"上棟金入金 実績\",\n \"Results_Date147\": \"本契覚書承認日 実績\",\n \"Results_Date148\": \"着工可能日 実績\",\n \"Results_Date149\": \"実質着工枠日 実績\",\n \"Results_Class011\": \"敷地測量 備考\",\n \"Results_Class012\": \"SR案内 備考\",\n \"Results_Class013\": \"図確引継 備考\",\n \"Results_Class014\": \"省エネ説明 備考\",\n \"Results_Class015\": \"取出有無業者連絡 備考\",\n \"Results_Class016\": \"一次エネ設備決 備考\",\n \"Results_Class017\": \"仕様打完了 備考\",\n \"Results_Class018\": \"4者承認図前 備考\",\n \"Results_Class019\": \"承認図14日前 備考\",\n \"Results_Class020\": \"ゼロエミ承認 備考\",\n \"Results_Class021\": \"着工金入金 備考\",\n \"Results_Class022\": \"融資事前相談 備考\",\n \"Results_Class023\": \"融資申込 備考\",\n \"Results_Class024\": \"融資承認銀行 備考\",\n \"Results_Class025\": \"土地契約 備考\",\n \"Results_Class026\": \"土地残金 備考\",\n \"Results_Class027\": \"残金後謄本 備考\",\n \"Results_Class028\": \"引越し 備考\",\n \"Results_Class029\": \"解体工事着手 備考\",\n \"Results_Class030\": \"解体工事完了 備考\",\n \"Results_Class031\": \"造成 備考\",\n \"Results_Class032\": \"境界杭完了 備考\",\n \"Results_Class033\": \"地耐力調査 備考\",\n \"Results_Class034\": \"地祭 備考\",\n \"Results_Class035\": \"構造計算有無完了日 備考\",\n \"Results_Class036\": \"伏図チェック 備考\",\n \"Results_Class037\": \"プレカット確定 備考\",\n \"Results_Class038\": \"事前提出 備考\",\n \"Results_Class039\": \"事前決裁 備考\",\n \"Results_Class040\": \"確認提出 備考\",\n \"Results_Class041\": \"確認決裁 備考\",\n \"Results_Class042\": \"長期提出確認書 備考\",\n \"Results_Class043\": \"長期行政提出 備考\",\n \"Results_Class044\": \"保険登録 備考\",\n \"Results_Class045\": \"地盤改良着手 備考\",\n \"Results_Class046\": \"上棟金入金 備考\",\n \"Results_Class047\": \"本契覚書承認日 備考\",\n \"Results_Class048\": \"着工可能日 備考\",\n \"Results_Class049\": \"実質着工枠日 備考\"\n }\n\n // excludeListに含まれる項目名をclassに持つ要素を取得\n $('.excludeList').each(function () {\n console.log(this.id);\n excludeList.push(this.id);\n });\n\n //更新された項目を抜き出し、履歴保存する\n if ($p.data.MainForm) {\n $p.set($('#Results_Description200'), '');\n\n history = '◆ 変更内容 ◆\\n';\n $.each($p.data.MainForm, function (index, val) {\n if (index.startsWith('Results')) {\n //対象外項目は除外\n if (!excludeList.includes(index)) {\n //項目名の取得\n let colName = $('label[for=\"' + index + '\"]').text();\n if (dateNameList.hasOwnProperty(index)) {\n colName = dateNameList[index];\n }\n\n let newData;\n let nowData;\n let index2 = index.split('_')[1];\n //現在値の取得\n if (index.startsWith('Results_Class')) {\n nowData = myData.ClassHash[index2];\n } else if (index.startsWith('Results_Date')) {\n if (myData.DateHash[index2] == '' || myData.DateHash[index2] == '1899-12-30T00:00:00') {\n nowData = '';\n } else {\n nowData = $p.ex.dateToString(myData.DateHash[index2]);\n }\n\n } else if (index.startsWith('Results_Num')) {\n nowData = myData.NumHash[index2];\n } else if (index.startsWith('Results_Description')) {\n nowData = myData.DescriptionHash[index2];\n } else if (index.startsWith('Results_Check')) {\n nowData = myData.CheckHash[index2];\n }\n\n //セレクトボックス判定\n if ($('#' + index + '.control-dropdown').length) {\n //セレクトボックス処理\n if ($('#' + index).prop(\"multiple\")) {\n newData = $('#' + index + '_ms span').eq(-1).text();\n } else {\n newData = $('#' + index + ' option:selected').text();\n }\n } else if ($('#' + index + '.radio-value').length) {\n //ラジオボタン処理\n newData = val != '' ? $('label[for=\"' + index + val + '\"').text() : '';\n } else {\n //その他\n newData = val;\n }\n if (nowData != '') {\n if (nowData != newData) {\n history += '▷ ' + colName + ' : ' + nowData + ' -> ' + newData + '\\n';\n count++;\n }\n } else {\n history += '▷ ' + colName + ' : ' + newData + '\\n';\n count++;\n }\n }\n }\n });\n\n if (count) {\n //console.log(history);\n $p.set($('#Results_Description200'), history);\n $p.set($('#Comments'), history);\n }\n }\n}\n\n$p.ex.dateToString = function (date) {\n if (date == null || date == '') {\n return '';\n }\n let dateString = date.split('T')[0];\n let dateVar = new Date(dateString);\n let year = dateVar.getFullYear();\n let month = (dateVar.getMonth() + 1);\n let day = dateVar.getDate();\n\n return year + '/' + month + '/' + day;\n}", + "Id": 1 + } + ], + "AllowCopy": false, + "TitleSeparator": "■", + "NoDisplayIfReadOnly": false + }, + "Publish": false, + "DisableCrossSearch": false, + "Comments": [] + } + ], + "Data": [], + "Permissions": [ + { + "SiteId": 426946, + "Permissions": [] + } + ], + "PermissionIdList": { + "DeptIdList": [], + "GroupIdList": [], + "UserIdList": [] + } +} \ No newline at end of file diff --git a/pleasanter/develop/新・着工要因プリザンター化/着工要因HTML.html b/pleasanter/develop/新・着工要因プリザンター化/着工要因HTML.html new file mode 100644 index 00000000..9341472d --- /dev/null +++ b/pleasanter/develop/新・着工要因プリザンター化/着工要因HTML.html @@ -0,0 +1,171 @@ + + + + + + HTMLテーブルの例 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#会社営業所施主名建上地敷地測量SR案内図確引継省エネ説明取出有無業者連絡一次エネ設備決仕様打完了4者承認図前承認図14日前ゼロエミ承認着工金入金融資事前相談融資申込融資承認銀行土地契約土地残金残金後謄本引越し解体工事着手解体工事完了造成境界杭完了地耐力調査地祭構造計算有無完了日伏図チェックプレカット確定事前提出事前決裁確認提出確認決裁長期提出確認書長期行政提出保険登録地盤改良着手上棟金入金本契覚書承認日着工可能日実質着工枠日
施工要因日付要因
1#################################予定{Date011}{Date012}{Date013}{Date014}{Date015}{Date016}{Date017}{Date018}{Date019}{Date020}{Date021}{Date022}{Date023}{Date024}{Date025}{Date026}{Date027}{Date028}{Date029}{Date030}{Date031}{Date032}{Date033}{Date034}{Date035}{Date036}{Date037}{Date038}{Date039}{Date040}{Date041}{Date042}{Date043}{Date044}{Date045}{Date046}{Date047}{Date048}{Date049}
実績{Date111}{Date112}{Date113}{Date114}{Date115}{Date116}{Date117}{Date118}{Date119}{Date120}{Date121}{Date122}{Date123}{Date124}{Date125}{Date126}{Date127}{Date128}{Date129}{Date130}{Date131}{Date132}{Date133}{Date134}{Date135}{Date136}{Date137}{Date138}{Date139}{Date140}{Date141}{Date142}{Date143}{Date144}{Date145}{Date146}{Date147}{Date148}{Date149}
+ + + \ No newline at end of file diff --git a/pleasanter/develop/新・稟議申請システム/■1_新・稟議申請書/sites/scripts/2.稟議申請_作成時処理など.js b/pleasanter/develop/新・稟議申請システム/■1_新・稟議申請書/sites/scripts/2.稟議申請_作成時処理など.js index 14f444fc..98b2a077 100644 --- a/pleasanter/develop/新・稟議申請システム/■1_新・稟議申請書/sites/scripts/2.稟議申請_作成時処理など.js +++ b/pleasanter/develop/新・稟議申請システム/■1_新・稟議申請書/sites/scripts/2.稟議申請_作成時処理など.js @@ -166,7 +166,6 @@ $p.ex.ringiCheck = function () { let summaryHanbaiMoney = parseFloat($('#summaryHanbaiMoney').val()); //販売購入額合計 let numZ = parseFloat($('#Results_NumZ').val().toString().replaceAll(/[¥,]/g, '')); //販売購入額 let totalMoney = summaryHanbaiMoney + numZ; - console.log('同一契約コードの赤稟議販売購入額合計 : ' + totalMoney); if (totalMoney > 50000) { $p.clearMessage(); $p.setMessage('#Message', JSON.stringify({ @@ -284,6 +283,7 @@ $p.ex.processScript = function (procNum) { break; //取消 case '8': + case '18': console.log('Process_' + procNum + ' Activate'); if (flag) { flag = window.confirm('稟議申請を取り消します。稟議コードも取り消されます。再度稟議申請したい場合は、稟議コードを再取得してください。宜しいですか?');