kintone에서 CSV 내보내기를 사용하지 않고 레코드 1 개를 다른 환경에 복사

소개



kintone에서 개발 환경 · 프로덕션 환경을 준비하여 앱을 운용하고 있을 때,
「프로덕션 환경의 레코드 1건으로 에러가 일어났기 때문에, 조사를 위해서 개발 환경에 데이터 카피하고 싶다」
라고 케이스가 있었습니다.

그러나, 일반 수단의 CSV 내보내기 -> 읽기를 수행하려면
프로덕션 앱에 레코드 내보내기 권한을 설정해야 하며,
PC내에 파일로 한번 다운로드 저장할 필요도 있고,
정보 유출의 리스크가 높아지기 때문에 가벼운 스트레칭에는 하는 것이 무서워요. . .

이런 것은 "정도의 문제"가 매우 크기 때문에,
"레코드 1건만 PC의 클립보드를 통해 다른 환경에 복사"
정도 바삭바삭할 수 있으면 편리하고, 비교적 리스크도 낮다고 생각하는 것입니다.

방법



브라우저 콘솔에 JavaScript를 작성하고 레코드의 데이터를 JSON 문자열로 복사합니다.
난이도적으로는, 프로그래머가 아니어도 아슬아슬하게 흉내낼 수 있을 정도일까라고 생각합니다.
  • 복사 원본 kintone 앱에서 레코드 세부 정보 화면 열기

  • 브라우저 콘솔에 다음을 입력
    JSON.stringify(kintone.app.record.get().record)
    

  • 이런 식으로 JSON 문자열이 출력되므로 { ~ }까지를 선택하고 복사
    "{"レコード番号":{"type":"RECORD_NUMBER","value":"20"},"更新者":{"type":"MODIFIER","value":{"code":"akaza","name":"akaza"}},"作成者":{"type":"CREATOR","value":{"code":"akaza","name":"akaza"}},"更新日時":{"type":"UPDATED_TIME","value":"2018-08-25T00:38:00Z"},"作成日時":{"type":"CREATED_TIME","value":"2018-08-25T00:38:00Z"},"会社名":{"type":"SINGLE_LINE_TEXT","value":"金都運総研"},"部署名":{"type":"SINGLE_LINE_TEXT","value":"情報システム部"},"担当者名":{"type":"SINGLE_LINE_TEXT","value":"下山 達士"},"郵便番号":{"type":"SINGLE_LINE_TEXT","value":"5010001"},"住所":{"type":"SINGLE_LINE_TEXT","value":"岐阜県岐阜市××××"},"TEL":{"type":"SINGLE_LINE_TEXT","value":"090-××××-××××"},"FAX":{"type":"SINGLE_LINE_TEXT","value":"050-××××-××××"},"メールアドレス":{"type":"SINGLE_LINE_TEXT","value":"[email protected]"},"会社ロゴ":{"type":"FILE","value":[]},"備考":{"type":"MULTI_LINE_TEXT","value":""},"顧客ランク":{"type":"DROP_DOWN","value":"A"},"$revision":{"type":"__REVISION__","value":"1"},"$id":{"type":"__ID__","value":"20"}}"
    

  • 대상 kintone 앱에서 새 레코드 만들기 화면을 열고 " 변수의 값으로 위의 JSON 문자열을 붙여 넣습니다.
    const record = {"レコード番号":{"type":"RECORD_NUMBER","value":"20"},"更新者":{"type":"MODIFIER","value":{"code":"akaza","name":"akaza"}},"作成者":{"type":"CREATOR","value":{"code":"akaza","name":"akaza"}},"更新日時":{"type":"UPDATED_TIME","value":"2018-08-25T00:38:00Z"},"作成日時":{"type":"CREATED_TIME","value":"2018-08-25T00:38:00Z"},"会社名":{"type":"SINGLE_LINE_TEXT","value":"金都運総研"},"部署名":{"type":"SINGLE_LINE_TEXT","value":"情報システム部"},"担当者名":{"type":"SINGLE_LINE_TEXT","value":"下山 達士"},"郵便番号":{"type":"SINGLE_LINE_TEXT","value":"5010001"},"住所":{"type":"SINGLE_LINE_TEXT","value":"岐阜県岐阜市××××"},"TEL":{"type":"SINGLE_LINE_TEXT","value":"090-××××-××××"},"FAX":{"type":"SINGLE_LINE_TEXT","value":"050-××××-××××"},"メールアドレス":{"type":"SINGLE_LINE_TEXT","value":"[email protected]"},"会社ロゴ":{"type":"FILE","value":[]},"備考":{"type":"MULTI_LINE_TEXT","value":""},"顧客ランク":{"type":"DROP_DOWN","value":"A"},"$revision":{"type":"__REVISION__","value":"1"},"$id":{"type":"__ID__","value":"20"}}
    

  • 또한 다음을 입력하십시오.
    kintone.app.record.set({ record })
    
  • 화면의 각 필드에 값이 들어가므로, 그대로 「저장」버튼을 클릭!

  • 이것뿐입니다. 빨리 갈 수 있습니다!

    주의점(추기)



    JavaScript 커스터마이즈로 「필드 편집시에 다른 필드를 자동 변경한다」와 같은 처리를 넣고 있으면, record 그리고 일부 필드가 공란이 되거나, 무한 루프해 버리는 경우가 있었습니다.

    그럴 때는 먼저 2~3회 연속으로 kintone.app.record.set({ record })를 두드려 봅시다. 상당히 잘 작동하는 경우가 많습니다.

    그래도 안된다면, 일시적으로 JS를 무효로 하면 틀림없네요. 하지만 거기까지 할 정도라면 솔직하게 CSV 임포트하는 것이 좋을지도 w

    이 방법은 어디 까지나 "쉽게 사쿠와 복사"하는 것이 목적이므로 어떤 이유로 사쿠와 움직이지 않는 경우는 일찍 포기하는 것이 지름길이기도합니다. 임기응변에 가자~.

    동영상 데모



    앱 스토어의 '고객 목록'끼리 데이터를 복사하는 데모입니다.
    참고해 보세요.

    좋은 웹페이지 즐겨찾기