こちらの「kintone コマンドラインツールの使い方」に関連する質問です。
https://developer.cybozu.io/hc/ja/articles/202957070-kintone-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
以下のようなテーブルをもつアプリがあります。
このアプリに対して、
(1)新規登録ではテーブルに値はセットしたくない
"アイテム分類","アイテム詳細"
,,
(2)すでにあるレコード(レコードID:123456)のテーブルを初期化したい
*,$id,"アイテム分類","アイテム詳細"
*,123456,,
上記のようなケースに対して記載したCSVでコマンドを実行したところ、
コマンドの実行は成功を返しますが、以下の通りレコードが全くない状態となります。
<実行結果>
本来期待したいのは以下のように空(初期)のレコードが設定されてほしいのですが、
どのようにしたら初期化ができるのでしょうか。
<期待値>
なお、cli-kintoneのバージョンは0.13.0となります。
$ cli-kintone -v
0.13.0
以上、よろしくお願いします。
R.Kさん
こんにちは。
サブテーブルは全てのフィールドが空文字だと行が無視されるようですね。
文字列1行フィールドがあれば、改行を入れるのはいかがでしょうか。
"アイテム分類","アイテム詳細"
"
",""
これで空行が入ることは確認しました。
編集しない限りは改行「」が内部的には入った形になりますが、見た目上は空になります。
koichi さん
お世話になります。
早々にご回答及び検証まで対応していただき、誠にありがとうございます。
なるほど、たしかに見た目としては達成できますね。大変参考になります。
しかしやはり今回はドロップダウンのみで構成されるテーブルが含まれており、
この問題への対処のために文字列フィールドを組み込むというのが難しそうです。。
他の対処法も確認しているので、何かわかったらこちらのスレッドを更新させていただきます。
本件、担当営業経由でも並行して問い合わせていたのですが、そちらから回答があり解決しましたのでご報告致します。
解決に向けてご協力頂いた方々に感謝申し上げます。ありがとうございました。
生憎ではございますが更新時にテーブルを初期化する機能はcli-kintoneに実装しておりません。
代替案として、テーブル内フィールドの更新値に
最低ひとつ" "(半角スペース)を指定いただく方法がございます。
cli-kintoneでは、テーブル内フィールドの更新値が全て""(空文字)の指定となっている場合、
更新対象(kintone REST APIへのリクエスト対象)に含めない仕様としております。
例えば、
・テーブル内フィールドは「ドロップダウン1」「ドロップダウン2」
・レコード番号12で登録あり
という状態で、
*,"$id","ドロップダウン1","ドロップダウン2"
*,12,"",""
というCSVをcli-kintoneで実行したとしても、テーブル内フィールドは更新対象となりません。
CSVを
*,"$id","ドロップダウン1","ドロップダウン2"
*,12," ",""
としていただければ、テーブル内フィールドが更新対象となります。
またドロップダウンフィールドに" "(半角スペース)を指定した場合、
""(空文字)に変換して更新が行われるため、結果として初期化された状態(-----)とできます。
情報共有ありがとうございます。
文字列1行で試していたので、半角スペース入れても当然半角スペースが入った状態で登録されたのですが
ドロップダウンは「-----」で入るんですね。
これは勉強になりました。