aoyama
(aoyama)
1
こんにちは
サブテーブルのフィールド値の更新です。
現在、詳細編集画面にて下記の処理でサブテーブルの1行目の日付へ値を入力しています。
record['テーブル']['value'][0].value['日付'].value=event.record['完了日']['value']
これを一覧画面から更新をかけようと思っています。
サブテーブル以外のフィールドは成功しているのですが、
サブテーブルのデータ更新につまづいています。
ご教授いただけますと幸いです。
よろしくお願いいたします。
param.records.push({
id: record['$id'].value,
record: {
'補足_支払い方法': {
value: furikae
},
'請求内容': {
value: {
0:{
value:{
'請求書_日付':{
value:record['工事完了日'].value
}
}
}
}
},
}
});
「いいね!」 1
この [0]
をどう扱うかがポイントです。record[‘テーブル’][‘value’]
はオブジェクトではなく配列なので以下のようになります。
param.records.push({
id: record['$id'].value,
record: {
'補足_支払い方法': {
value: furikae
},
'請求内容': {
value: [
// [0]の内容 = 1行目
{
value: {
'請求書_日付': {
value: record['工事完了日'].value
}
}
},
{ /* 2行目があればここに書く */ },
{ /* 3行目があればここに書く */ }
]
}
詳しくはこちらを参考にしてみてください。
「いいね!」 1
aoyama
(aoyama)
3
返信ありがとうございます。
旧サイトから本サイトに変わったんですかね。
アカウントを新たに登録をして投稿をしたんですが
投稿ボタン押した後、アカウント保留状態でロックされていて
投稿した内容が確認できずで・・・・
本題です。現状、別アプリからテーブルデータを取得しているのですが、
テーブル内の日付フィールドへ編集時にフィールドから値をコピーしていました。
record[‘テーブル’][‘value’][0].value[‘日付’].value=event.record[‘完了日’][‘value’]
この作業はedit時に書き込んでいるのですが、indexでボタンを生成して一括書き込みをしたいと
思っていました。書き込む際に↑であればピンポイントで書き込みにいけてたんですが
テーブル内の全てのフィールドに対し処理しないと行けなかったんですね・・・
下記の感じで一度コピー(修正をした)データを作って突っ込んでなんとか事なきを得ました・・・
var postTable = []
for (var i = 0, l = record.請求内容.value.length; i < l; i++) {
if(i!==0){
postTable.push(record.請求内容.value[i])
}
else{
postTable.push({
"id": record.請求内容.value[i].id,
"value": {
"請求書_日付": {
"type": "DATE",
"value": record.工事完了日.value
},
"商品": {
"type": "SINGLE_LINE_TEXT",
"value": record.請求内容.value[i].value.商品.value
},・・・・・・中略
「いいね!」 2
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。