「1시간 이내에 작성된 레코드만 일람」이 생각보다 힘들었던 이야기

소개


  • 킨코미에도 썼지만 qiita에도 기사 남겨주세요
  • 「1시간 이내에 작성된 레코드만의 일람을 갖고 싶다」라고 말해져 만들어졌습니다
  • 편하게 받았지만 생각보다 힘들었습니다

  • 자기 소개입니다.




  • 아이시 칸타 로워입니다
  • 브러시를 만드는 회사의 겸 업정 시스입니다
  • kintone 인증 자격은 3개 모두 취득되었습니다


  • 기타 IT 전략가 및 시스템 감사 기술자와 같은 일부 국가 자격을 취득했습니다.
  • kintone의 커스터마이즈는 사내 전용으로, 플러그인은 만들지 않습니다 (만들 수 없습니다)

  • 하고 싶은 일



    formBridge에서 등록한 레코드 중 최근 1시간 이내에 등록된 레코드만 kViewer에서 표시하고 싶습니다.

    움직일 때까지의 경위


  • 「오늘 등록된 레코드만 표시」는 표준 기능으로 할 수 있지만, 시간 단위라면 현재 일시와의 비교 밖에 할 수 없다
  • 작성일시에 1시간 더한 「1시간 후」필드를 만들어, 「1시간후 >= 현재 일시」라고 하는 좁히기 조건으로 하면, 1시간 이내에 작성된 레코드만이 표시되는 하즈
  • 「1시간 후」를 계산 필드로 작성 → 작성 일시 + 60 * 60
  • 계산 필드는 현재 날짜와 시간과 비교할 수 없습니다!
  • 날짜 및 시간 필드에 작성 날짜와 시간의 1시간 후를 넣는 js 를 기술
  • formBridge로부터의 등록이므로 app.record.create.submit가 움직이지 않는다!
  • formBridge 측에서 fb.events.form.mounted 에 쓰기 → 드디어 움직인

  • formBridge 구현


      fb.events.form.mounted = [ (state) => {
    
        // 1時間後日時の生成
        const now = new Date();
        const afterAnHour = new Date();
        afterAnHour.setHours(now.getHours() + 1);
    
        // 1時間後日時のセット
        state.record.afterAnHour.value = afterAnHour;
    
        return state;
      }];
    

    kViewer 구현





    결론


  • 엄밀하게는 폼이 마운트된 일시로부터 1시간 후이므로, 열림 없음의 폼으로부터 등록되면 1시간 이내라도 일람으로부터 사라져 버린다
  • 더 쉬운 방법이 있으면 알려주세요
  • 그리고 평소입니다만, 도장용 롤러도 만들고 있습니다

  • 좋은 웹페이지 즐겨찾기