kintone 맞춤형 동작 기능의 함정

8527 단어 kintone
킨톤의 맞춤형 제작을 통해 동작 기능을 사용할 때 갑자기 동작이 느려지거나 오류가 발생하지 않을까요?
나는 여러 차례 이 동작 기능의 함정에 빠졌다.

동작 검증 응용 프로그램


테이블에 여러 항목 배치하기

동작 기능을 사용하여 레코드 복사



이벤트 작업 확인 사용자 지정


이벤트 발생 시 console.로그에 이벤트 형식만 표시합니다.
test1.js
(function() {
  'use strict';
  const changeEvents = [
    'app.record.create.show','app.record.edit.show',
    'app.record.create.change.顧客ランク','app.record.edit.change.顧客ランク', // テーブル以外
    'app.record.create.change.Table','app.record.edit.change.Table',            // テーブル
    'app.record.create.change.サービス名1','app.record.edit.change.サービス名1', // テーブル項目
    'app.record.create.change.商品名1','app.record.edit.change.商品名1'           // テーブル項目
  ];
  kintone.events.on(changeEvents, function(event) {
    console.log('event', event.type);
    return event;
  });
})();

작업 기능 사용 시 이벤트 발생 순서



※ 테이블 내 아이템의 서비스명 1 이벤트는 12회, 상품명 1 이벤트는 10회
테이블 항목 자체와 테이블에 없는 항목은change 이벤트가 발생하지 않습니다.
일반적으로create.show 이벤트가 발생한 후에 프로젝트의 값을 구할 때change 이벤트가 발생하고 싶습니다.
실제로 표에서 항목의change 이벤트가 발생하기 전에 값이 설정한 줄 수에 대응하는 이벤트가 발생합니다.
대개 동작 기능의 복제 처리를 하면change 이벤트가 발생합니다.
이렇게 하면create.show가 먼저 발생하는 전제에서 맞춤형 제작을 진행하면 때때로 예상치 못한 오류가 발생할 수 있습니다.
행수가 많은 기록이change 사건을 무겁게 처리하면 화면이 작동할 때까지 잠시 기다려야 한다.
탁자의 줄 수가 많을수록 느리다.
이미 맞춤형으로 제작된 제품에 change 이벤트 처리를 추가하면 이 함정에 빠지기 쉽다.
요즘 너무 빠져있어요.기억력이 나빠져서 그런가?

대책


이벤트 처리 등록,create.쇼 이벤트 내에서 진행되면 동작 기능이 불필요한change 이벤트 처리가 발생하지 않습니다.
그러나change 이벤트 처리의 등록은 한 번만 등록하는 것을 제어해 주십시오.
test2.js
(function() {
  'use strict';

  const changeEvents = [
    'app.record.create.change.顧客ランク','app.record.edit.change.顧客ランク', // テーブル以外
    'app.record.create.change.Table','app.record.edit.change.Table',            // テーブル
    'app.record.create.change.サービス名1','app.record.edit.change.サービス名1', // テーブル項目
    'app.record.create.change.商品名1','app.record.edit.change.商品名1'           // テーブル項目
  ];
  var changeEvents_flag = true;

  kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event) {
    console.log('event', event.type);

    // changeEvents 登録
    if (changeEvents_flag) {
      changeEvents_flag = false;
      kintone.events.on(changeEvents, function(event) {
        console.log('event', event.type);
        return event;
      });
    }

    return event;
  });

})();

대책 후 동작 기능 사용 시 이벤트 발생 순서


동작 기능도create입니다.쇼 사건만 일어났어요.

후기


이런 대책이 필요하지 않기 위해서는 동작 기능이 있을 때의change 활동을 멈추세요.

좋은 웹페이지 즐겨찾기