CYBOZU의 사용자 정의 응용 프로그램을 사용하여 현재 나이를 날짜로부터 계산하는 방법

안녕하세요.암관전기에 있던 사람이 또 왔다.
Iwate Developers Advent Calendar가 2014년에 처음으로 Qiita에 투고했는데 한 단락 더 보여드릴게요.
비즈니스 애플리케이션으로 인기 있는 CYBOZU이지만 CYBOZU에는'맞춤형 애플리케이션'이라는 간이 데이터베이스 소프트웨어가 설치돼 DB의 초기 지식이 있으면 데이터베이스를 쉽게 만들 수 있다.중소기업에서는 뭐든지 엑셀을 통해 데이터를 관리하지만, 직원들과 정보를 공유하려면 데이터베이스로 옮기는 게 좋다.예를 들어 본사는 대량의 도면을 저장하여 Excel이 관리하는 도면 카운터 계정을 Cboys의 사용자 정의 응용 프로그램으로 옮겼다.이렇게 되면 검색성과 일람성이 높아지고 읽기와 쓰기 권한도 계좌별로 설정할 수 있어 사고를 미연에 방지할 수 있다.
다만, 간이DB 앱인 만큼 정식 사용은 불가능하다.예를 들어 맞춤형 응용은 관계를 설정할 수 있지만 간단한 내부 결합만 할 수 있고 찾은 데이터로 정렬할 수 없기 때문에 가까스로 표(맞춤형 응용)를 표준화(분할)하더라도결합할 때 예상한 결과를 얻지 못할 수도 있다.
그러나 이런 제한도 단순성과의 균형 관계라고 할 수 있다.입도라는 말이 있는데, 입도의 크기와 학습 비용은 대체로 반비례라고 할 수 있다.CYBOZU의 맞춤형 응용 프로그램은 아마도 IT 입문 지식을 갖춘 일반 직원들이 데이터베이스를 만드는 양호한 입도일 것이다.
잡담은 그만두고, '간편한' CYBOZU 사용자 정의 응용 프로그램은 왜 자바스크립트를 읽어서 사용자 정의를 할 수 있는지 모르겠다.갑자기 작은 디테일을 말하면 아마도 자바스크립트로 인기 있는 프로그램을 만들 수 있을 것이다.
맞춤형 앱의 표준 기능은 날짜 데이터형의 생일부터 자동으로 나이를 계산할 수 없지만 자바스크립트를 사용할 수 있다면 된다.
그나저나 이 안의 사람들은 자바스크립트(Javascript)를 처음 접한 학자이고, 모사크와 넷스케이트의 시대를 접한 사람이기 때문에'비프로그래밍의 자바스크립트'같은 책을 사서 학습의 기초부터 시작한다.허허.그나저나 이 책을 산 후 바로 커피를 쏟았는데, 이것은 여기에만 있는 비밀이다.(커피의 얼룩도 맞춤 제작의 일환이다. 그렇다.)
그렇다면'CYBOZU','나이'등의 키워드로 검색해보니 과연 누군가는 이미 하고 싶은 일을 했고, 다음 사이트에서 목적 코드를 찾았다.
http://cybozu.kanshin.jp/keyword/751380
바퀴를 재발명할 필요가 없기 때문에 우선 이곳의 스크립트를 복사해서 CYBOZU가 읽게 합니다.그러나modules에 Unncaught reference error가 나왔어요.저는 이상해요.modules에 대한 검색도 왜 정보가 전혀 없는지 모르겠습니다. 아마도 포장판의 Cybors에서 관리자가 사용하는 대상일 것입니다.클라우드 버전을 사용하려면 반드시 다시 써야 한다.
그래서 다시 한 번 써 보았다.
(2015/02/12 추기: DBView뿐만 아니라 업데이트와 추가 화면도 다시 썼습니다. 수정이 필요합니다. 잠시만 기다려 주십시오.)
$(document).ready(function () {

InnerCalculateAgeFromBirthday("record-value-12", 133, "歳");
InnerCalculateAgeFromBirthday("record-value-13", 133, "年");

    function InnerCalculateAgeFromBirthday(tdclass, app_num, suffix){
    //function InnerCalculateAgeFromBirthday(変換したい class, アプリケーションID, 接尾語)
        var did = $(':hidden[name="DID"]').val();
        console.log(did);

        if (did==app_num){

            var d=new Date();
            today=d.getFullYear()*10000+d.getMonth()*100+100+d.getDate();
            var $tdobj=$("td").each(function(){
                if(typeof(this)!="number"){
                    if(this.getAttribute("className")==tdclass||this.getAttribute("class")==tdclass){
                        var b=new Date(this.innerHTML);
                        birthday=b.getFullYear()*10000+b.getMonth()*100+100+b.getDate();
                        var age=Math.floor((today-birthday)/10000);
                        this.innerHTML+=" ("+age+suffix+")";
                    }
                }
            });
        }
    }
});
사용 방법은 함수에 적힌 대로 변환하고자 하는 열의class, ID번호 적용, 변환된 숫자 뒤에 추가된 알파벳을 제공합니다.실제 집행의 결과는 다음과 같다.

잘 바뀌었네.이렇게 하면 더욱 직관적으로 데이터를 열람할 수 있다.
앞으로도 서력과 일본력이 바뀌길 바란다.잘 되면 투고하고 싶어요.

좋은 웹페이지 즐겨찾기