kintone 견적서 앱에 서브 테이블 반올림 계산을 구현해보십시오.

kintone Advent Calendar 2018 의 기사입니다. 킨톤 커스터마이징을 통해 킨톤 사랑을 이야기하려고합니다.

앱 작성이 어려울까?



앱 스토어가 있습니다.



kintone의 앱을 만들 때는 먼저 앱 스토어에서 사용할 수 있는 것이 없는지 찾습니다.
그대로 사용할 수있는 것도 많기 때문에 앱 스토어는 편리합니다.

이번에는 앱 스토어의 '상품 견적서 팩' 을 사용하여 반올림 처리를 추가해 보았습니다.

사용자 정의? 무리 무리!



JSEdit for kintone을 사용하여 쉽게 사용자 정의 할 수 있습니다.



kintone은 프로그래밍에 자세하지 않아도 부담없이 커스터마이즈를 시도할 수 있습니다.
kintone을 사용자 정의할 수 있는 플러그인이 제공됩니다. 이것을 사용하면 JavaScript나 CSS를 kintone상에서 작성해 곧바로 결과를 볼 수 있습니다.
커맨드 완성 등의 기능도 있으므로, 조금 커스터마이즈는 JSEdit를 사용해 충분히 할 수 버립니다.

이번 커스터마이즈의 완성 이미지





양식 화면



하위 테이블에 다음 필드를 추가하고 있습니다.


필드 이름
종류
필드 코드


반올림
수치
반올림

총 금액 반올림
계산
총 금액 반올림

소비세 반올림
계산
소비세 반올림

부가세 포함 총 반올림
계산
부가세 포함 총 반올림


추가한 기능


  • 반올림 처리
  • 필드 편집 불가 설정

  • 주요 처리 설명



    1. 반올림 처리



    견적 품목 서브 테이블에 숫자 필드를 추가. 반올림한 계산 결과를 설정합니다.
    이번에는 Math.round를 사용하여 소수점 1위로 반올림하고 있습니다.
    changes.row.value.四捨五入.value = Math.round(event.changes.row.value.単価.value * event.changes.row.value.数量.value);
    

    2. 필드 편집 불가 설정



    숫자 필드에 설정된 계산 결과를 편집 불가능으로 설정합니다.
    레코드의 신규 작성, 편집, 서브 테이블의 추가·삭제 이벤트시에 처리를 실시합니다.
    kintone.events.on(['app.record.create.show','app.record.edit.show','app.record.create.change.見積明細','app.record.edit.change.見積明細'], function(event) {
            let record = event.record;
            for (let i=0, len = record.見積明細.value.length; i<len; i++) {
                record.見積明細.value[i].value.四捨五入.disabled = true;
            }
            return event;
        });
    



    견적서를 만들면, 납품서·청구서는 그대로 이용할 수 있는 것이 좋네요.

    견적서·납품서·송장을 라디오 버튼으로 선택해, 타이틀을 바꿀 수 있도록 해 보았습니다.

        kintone.events.on("app.record.detail.show", function(event) {
            let record = event.record;
            let valTitle = record.帳票名.value;
            let fdTitle = kintone.app.record.getSpaceElement("title");
            fdTitle.innerHTML = '<div class="control-gaia control-label-field-gaia " style="box-sizing: border-box; width: 163px; height: auto;"><div class="control-inner-gaia"><span class="control-value-label-gaia"><font size="6"><b>' + valTitle + '</b></font></span></div></div>';
        });
    


    라디오 버튼으로 선택한 서식 이름의 텍스트를 공백 필드에 설정합니다.

    마지막으로 정리



    kintone 앱 스토어의 「상품 견적서 팩」에 약간의 편리 기능을 구현해 보았습니다.

    이번 커스터마이즈 내용은 cybozu developer network 에 축적되어 있는 정보를 참고로 하고 있습니다.

    kintone은 오픈 소스가 아니라 사이보즈 씨의 제품 중 하나입니다만, cybozu developer network 이나 킨톤 카페 등, 유저의 정보 공유의 장소가 온라인, 오프라인으로 준비되어 있는 것은, 개인적으로 매우 좋다고 느낍니다.

    또 내년도 cybozu developer network 이나 킨톤 카페 를 통해서, kintone의 장점을 발신해 가고 싶습니다.

    좋은 웹페이지 즐겨찾기