kintone 누가 읽었습니까? 기능
그 기록 누가 읽었는지 모르겠다;;
히사시 부리입니다.
요전날, 「투고한 레코드를 누가 읽었는지 확인하고 싶다!」라고 상사로부터 사령을 받았습니다.
앱 준비
앱 ID: 717
필드 이름
필드 유형
필드 코드
문자열 (1 행)
문자열(1행)
문자열_1행
읽은 사람
사용자 선택
읽음
JavaScript로 사용자 정의
이벤트 핸들러는 한 번 변수로
const event1 = ['app.record.create.show','app.record.edit.show'];
const detail = 'app.record.detail.show';
const index = 'app.record.index.show';
읽은 사람 필드를 편집할 수 없도록
kintone.events.on(event1, function(event){
//読んだ人フィールドは入力不可
const r = event.record;
r['既読'].disabled = true;
return event;
});
① 자신의 사용자 이름이 읽음에 포함되어 있는지 확인
② 들어가면 처리를 그만둔다
②’ 들어있지 않으면 지금 들어있는 사람을 유저 선택 필드에 맞추어 obj에 저장
③ 자신의 사용자 이름을 obj에 추가
④api로 PUT
kintone.events.on(detail, function(event){
//既読の仕組みはここ
const r = event.record;
const User = kintone.getLoginUser();
for(var num = 0; num < r['既読']['value'].length; num++){
if(r['既読']['value'][num]['code'] === User.code){
return ;
}
}
//オブジェクト作っておく
var obj = {};
obj['app'] = 717;
obj['id'] = r['レコード番号'].value;
obj['record'] = {};
obj['record']['既読'] = {};
obj['record']['既読']['value'] = [];
//今入っている人を数えて一緒に入れる
for (var i = 0; i < r['既読']['value'].length; i++) {
obj['record']['既読']['value'][i] = {};
obj['record']['既読']['value'][i]['code'] = {};
obj['record']['既読']['value'][i]['code'] = r['既読']['value'][i]['code'];
}
//ログインユーザを読んだ人フィールドに追加
obj['record']['既読']['value'][r['既読']['value'].length] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = User.code;
kintone.api('/k/v1/record', 'PUT', obj, function(resp){
console.log(obj);
});
});
조금 딱딱한 코드가되어 버렸습니다만,
서둘러 보스의 요청이 대답되었습니다! !
Reference
이 문제에 관하여(kintone 누가 읽었습니까? 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/weeeeell_LW1973/items/8f1f74fb1822becd1ad0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
앱 ID: 717
필드 이름
필드 유형
필드 코드
문자열 (1 행)
문자열(1행)
문자열_1행
읽은 사람
사용자 선택
읽음
JavaScript로 사용자 정의
이벤트 핸들러는 한 번 변수로
const event1 = ['app.record.create.show','app.record.edit.show'];
const detail = 'app.record.detail.show';
const index = 'app.record.index.show';
읽은 사람 필드를 편집할 수 없도록
kintone.events.on(event1, function(event){
//読んだ人フィールドは入力不可
const r = event.record;
r['既読'].disabled = true;
return event;
});
① 자신의 사용자 이름이 읽음에 포함되어 있는지 확인
② 들어가면 처리를 그만둔다
②’ 들어있지 않으면 지금 들어있는 사람을 유저 선택 필드에 맞추어 obj에 저장
③ 자신의 사용자 이름을 obj에 추가
④api로 PUT
kintone.events.on(detail, function(event){
//既読の仕組みはここ
const r = event.record;
const User = kintone.getLoginUser();
for(var num = 0; num < r['既読']['value'].length; num++){
if(r['既読']['value'][num]['code'] === User.code){
return ;
}
}
//オブジェクト作っておく
var obj = {};
obj['app'] = 717;
obj['id'] = r['レコード番号'].value;
obj['record'] = {};
obj['record']['既読'] = {};
obj['record']['既読']['value'] = [];
//今入っている人を数えて一緒に入れる
for (var i = 0; i < r['既読']['value'].length; i++) {
obj['record']['既読']['value'][i] = {};
obj['record']['既読']['value'][i]['code'] = {};
obj['record']['既読']['value'][i]['code'] = r['既読']['value'][i]['code'];
}
//ログインユーザを読んだ人フィールドに追加
obj['record']['既読']['value'][r['既読']['value'].length] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = User.code;
kintone.api('/k/v1/record', 'PUT', obj, function(resp){
console.log(obj);
});
});
조금 딱딱한 코드가되어 버렸습니다만,
서둘러 보스의 요청이 대답되었습니다! !
Reference
이 문제에 관하여(kintone 누가 읽었습니까? 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/weeeeell_LW1973/items/8f1f74fb1822becd1ad0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const event1 = ['app.record.create.show','app.record.edit.show'];
const detail = 'app.record.detail.show';
const index = 'app.record.index.show';
kintone.events.on(event1, function(event){
//読んだ人フィールドは入力不可
const r = event.record;
r['既読'].disabled = true;
return event;
});
kintone.events.on(detail, function(event){
//既読の仕組みはここ
const r = event.record;
const User = kintone.getLoginUser();
for(var num = 0; num < r['既読']['value'].length; num++){
if(r['既読']['value'][num]['code'] === User.code){
return ;
}
}
//オブジェクト作っておく
var obj = {};
obj['app'] = 717;
obj['id'] = r['レコード番号'].value;
obj['record'] = {};
obj['record']['既読'] = {};
obj['record']['既読']['value'] = [];
//今入っている人を数えて一緒に入れる
for (var i = 0; i < r['既読']['value'].length; i++) {
obj['record']['既読']['value'][i] = {};
obj['record']['既読']['value'][i]['code'] = {};
obj['record']['既読']['value'][i]['code'] = r['既読']['value'][i]['code'];
}
//ログインユーザを読んだ人フィールドに追加
obj['record']['既読']['value'][r['既読']['value'].length] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = {};
obj['record']['既読']['value'][r['既読']['value'].length]['code'] = User.code;
kintone.api('/k/v1/record', 'PUT', obj, function(resp){
console.log(obj);
});
});
Reference
이 문제에 관하여(kintone 누가 읽었습니까? 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/weeeeell_LW1973/items/8f1f74fb1822becd1ad0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)