My Stuff

市倉丈寛/Ichikura Takehiro Bronze Trophy

Comments

  • @IT働楽研究所 toya 様 こんにちは。 NetSuiteの標準機能では、「在庫アイテムとして登録しながら、特定のロケーションのアイテムを在庫評価から除外する」 という直接的な機能はありません。 そのため、以下の方法で対応するのが一般的です。 方法1:特定のロケーション(倉庫)を「簿外用」として運用 ロケーション単位で在庫を管理し、財務レポートで特定のロケーションを除外する運用 ただし、システム上は在庫として記録されるため、財務処理で手動調整が必要になる 方法2:非在庫アイテム(Non-Inventory Item)として管理 財務評価に含めないアイテムとして扱うことができる ただし、物理的な在庫数量の追跡はできなくなる…
  • @Ayaka様 こんにちは。 ご検討されているとおり、新しくワークフローを作成し、旧ワークフローを一時停止する方法は適切な対応かと思います。 この方法であれば、過去に適用されたワークフローのデータが失われることなく、新しいフローを適用できます。 また、ワークフローの構成によっては、「アクション」を4つ設定している場合、そのうち1つを無効化することで、承認者を減らす対応が可能なケースもあります。 ただし、この方法はワークフローの全体設計に依存するため、適用できるかどうかを事前にご確認いただくのがよいかと思います。
  • こんにちは 私の考えだと請求締日:(monthlyclosing)と 締め請求書(Statement Billing)の話は違う機能だと思うんだけどどうかな?
  • @User_FU1RZ様 こんにちは。 自動で請求書を作成する機能(請求スケジュールなど)において、「請求締日」が参照されます。顧客に対してサブスクリプション契約や定期請求を行っており、請求書作成が煩雑になっている場合、請求書機能と、この設定値に基づいて請求書が自動生成され、業務効率化につながります。 例えば、「請求締日」を「月末」に設定している場合、毎月末日に自動で請求書トランザクションが作成されます。 ただし、請求書を手動で作成する場合は、「請求締日」の設定は適用されません。
  • @Ayaka 様 こんにちは。 「*(アスタリスク)」は、トランザクションのmainline(メインライン)にマークされる機能です。mainlineとは、トランザクション全体の情報を含む行のことで、明細行(アイテムレベルのデータ)は含まれません。 「*」の表示ルール 「*」が付いている行 → トランザクション全体の情報(mainline) 「*」が付いていない行 → トランザクションの明細行(ラインレベルの情報) たとえば、発注書(PO)の場合: mainline(*が付いた行)には、発注書全体の情報や合計金額が表示される。 明細行(*が付いていない行)には、個別のアイテムごとの情報が表示される。…
  • @ yuki nomoto様 ドキュメントの保存検索では、更新されたファイルを特定するのが確かに難しい と思います。 そのため、「システムノートの保存検索」と「ドキュメントの保存検索」の2つの検索結果をダウンロードし、VLOOKUP などを使って比較する方法 しか、私の考えでは思いつきません。 ただ、2つの保存検索を「ファイル名」などの条件で VLOOKUP するだけであれば、Workbook(SuiteAnalytics Workbook)を活用することでも実現できそうな気がします。
  • @KayoSumida様 ご確認ありがとうございました。 既にご存じかもしれませんが、内部ID等の細かいことが記載のページがございます。 https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2019_1/schema/record/itemreceipt.html もしなにか参考になれば幸いです。
  • @User_XO2SY様 こんにちは。 たしかに、NetSuiteのUIでは リスト表示の制限が1,000件まで となっています。 また、SuiteScript 1.0 の nlapiSearchRecord を使用すると、一度に取得できるのは最大1,000件まで という制約があります。そのため、SuiteScript 2.0 の N/search.runPaged() モジュールを使用することで、制限なくデータを取得することが可能 です。 ただ、あまりにも行数が多い場合はスクロールが発生するので、工夫が必要になってくる気もします。
  • @KayoSumida様 こんにちは。 このような形ではいかがでしょうか。 数量と合計金額からコストを算出しています。 function getItemUnitCost(itemReceiptId) { // 受領書(Item Receipt)のレコードをロード var itemReceipt = nlapiLoadRecord('itemreceipt', itemReceiptId); // アイテムサブリストの行数を取得 var lineCount = itemReceipt.getLineItemCount('item'); // 各アイテムごとに処理 for (var i = 1; i <= lineCount; i++) {…
  • @IT働楽研究所toya様 こんにちは。 おそらく、XML形式のデータを使用し、銀行の入金データを照合する目的で利用する形でしょうか? 私は実際に使用したことはありませんが、電子請求書作成 SuiteApp(バンドルID:116076) が対応している可能性があります。
  • @IT働楽研究所toya様 こんにちは。 請求書トランザクションをXMLに出力するのは、なかなか難易度が高く導入が難しいかと思います。 なので、理想はCSVでのインポート・アウトプットが無難かなとは思います。 ただもし、開発ができるようであれば、ざっくり以下のイメージで進めるとよいかと思います。 (このままコピペしても動かなのでイメージとして書いておきます。) 内容:請求書トランザクションをXMLへ出力する 1:請求書トランザクション (record.Type.INVOICE) をロード 2:XMLドキュメントを作成 3:請求書の基本情報 (取引先, 請求書番号, 請求金額, 日付) を追加 4:明細行 (items)…
  • @ yuki nomoto様 こんにちは。 「コンテキスト」とは、どのような経緯でデータが変更されたかを示す情報です。 例えば、以下のように変更の原因を特定できます。 UI → 手動で変更された場合 ワークフロー → ワークフローを通じて変更された場合 一括更新 → 一括更新機能で変更された場合 CSV → CSVインポートによって変更された場合 などなど このように、コンテキストを確認することで、データの変更経緯を詳細に把握することができます。
  • @yuki nomoto様 こんにちは。 システムノートの検索では、「コンテキスト」を利用してフィルターを設定するのが適切かと思います。 バンドルのインストールによる変更は、通常「システム」や「スクリプト」などのコンテキストで記録されているため、 検索条件に「コンテキスト に'システム'を含まない」「コンテキストに'スクリプト'を含まない」などを追加することで、バンドル適用による変更を除外できる可能性があります。環境によっては違うコンテキストの内容かもしれませんが、保存検索の結果を解析してみて除外してみてください。
  • @User_LXM0G 様 こんにちは。 Oracle社では、以下のURLからコンプライアンス情報を取得できます。 しかし、外資系ならではの仕様のため、日本語の情報が少なく、やや探しづらい点があります。 📌 Oracle NetSuite Trust Center(公式セキュリティ・コンプライアンス情報) 🔗 https://www.oracle.com/jp/corporate/security-practices/ 英語のため読み違えがあるかもしれませんが、確認した限りでは以下の情報が掲載されています。 🔹 保証報告書(SOCレポート等)について NetSuiteはSOC 1, SOC 2, ISO 27001, PCI DSS,…
  • @User_LXM0G 様 こんにちは。 NetSuiteのデータベースバージョンやOSバージョンは、公式には公開されていません。 NetSuiteはクラウドベースのSaaS製品 ユーザーが直接サーバーのデータベースやOSにアクセスすることはないため、内部の詳細なシステム情報は公開されていません。 データベースに関する公開情報 NetSuiteはOracle Databaseを基盤にしていると考えられていますが、具体的なバージョンは非公開です。 SQLの互換性に関する情報は一部公開されていますが、完全な仕様は開示されていません。 OSに関する公開情報 NetSuiteはOracle Cloud Infrastructure (OCI)…
  • @IT働楽研究所toya 様 こんにちは 各トランザクション(注文書、発注書など)に共通していますが、 明細行の「終了」 がすべての行でチェックされている場合、そのトランザクションは「終了」扱いとなります。 また、数量が0 でも同様の処理が適用されることがあります。 ワークフローで制御する場合は、 サブリストアクショングループで「アイテム」を選択 「フィールド値を設定」 を追加 「Closed (ライン)」を選択し、チェックを付ける (※ トランザクション画面では「終了」と表示されます) なお、誤って「終了」にしてしまった場合でも、チェックを外すことでトランザクションのステータスが復帰 します。
  • @Ayaka 様 こんにちは。 ワークフローの作成画面が表示されたら、 「新しいサブリストグループ」 をクリックし、「アイテム」 を選択してください。 「サブリスト・アクション・グループ」 から 「フィールド値を設定」 を選択します。 パラメーター で 「Closed (ライン)」 を選択し、値は「チェック済」 を設定してください。 ワークフローの条件は ・Status(トランザクションのステータス) ・Approval Status(承認のステータス) のどちらかになるかと思いますが、現場の業務フローによって適宜修正してください。
  • @User_QBFWY様 こんにちは。 保存検索の結果画面上でも、該当フィールドが編集可能となる場合があります。ただし、サブリスト(メインライン)レベルのフィールドは編集できませんが、カスタムボディフィールドに表示されている内容は保存検索の結果から編集可能であるため、その設定内容が影響していると考えられます。 運用上の影響として、保存検索結果からの直接編集による誤操作やデータ変更のリスクが懸念されます。そのため、利用者や業務フローを十分に考慮し、適切な権限設定を行うことをお勧めします。 ご参考になれば幸いです。
  • @IT働楽研究所toya様 こんにちは。こんなのであれば見たことはあります。 ただ、私が使ったことがないバンドルやオプションなので詳細は営業担当に聞いた方がよいかと思います。 Advanced Inventory Management 概要: NetSuiteの標準機能の拡張版で、在庫レベルや補充を最適化します。 特徴: 安全在庫レベルや補充ポイントの自動計算 シーズナリティやトレンドに基づく需要予測 活用場面: 過剰在庫や欠品を減らしたい場合。 WMS (Warehouse Management System) 概要: NetSuiteの公式WMSソリューションで、倉庫管理プロセス全体をカバーします。 特徴:…
  • @山田大貴 様 こんにちは。以下の方法をご提案いたします。 保存検索の条件設定では、カスタムレコードフィールドに関して「条件」や「結果」を設定せずにしてください。代わりに、「計算式(テキスト)」を利用して以下のような CASE 文を設定する方法をお試しください。※参照している内部IDは例となりますので、適宜変更してください。 CASE WHEN {item.customrecord} IS NULL THEN 'なし' ELSE {item.customrecord} END この方法では、カスタムレコードフィールドに値が存在する場合はその値を表示し、 値が存在しない場合は「なし」と表示されるようになります。…
  • @yuki nomoto様 こんにちは。いくつか回答させていただきます。 注文書の保存検索で、その特定の顧客のみ「発行日」に+1ヵ月した日付けを「計上日」とする情報を保持したいと考えています。 保存検索の結果で「計算式 (日付)」を選択してください。 式には [ {trandate} + 30 ] を設定すると、注文書トランザクションの日付に30日を加えた日付が保存検索の結果として表示されます。 まず確認として、保存検索で計算式の結果に対してフィルタを設定することはできないでしょうか? 保存検索には「利用可能なフィルター」というタブがあり、「結果」タブで使用されたフィールドに対してフィルターを設定することが可能です。…
  • @山田大貴 様 こんにちは。NetSuiteでは特殊な構文を使用して文字列を変換することが可能です。 以下は全角カタカナを半角カタカナに変換する構文例です: TO_MULTI_BYTE(UTL_I18N.TRANSLITERATE('アイウエオ', 'fwkatakana_hwkatakana')) その他の変換オプション一覧 全角カタカナ → 半角カタカナ 'fwkatakana_hwkatakana' 全角カタカナ → 全角ひらがな 'fwkatakana_hiragana' 全角ひらがな → 全角カタカナ 'hiragana_fwkatakana' 全角ひらがな → 半角カタカナ 'hiragana_hwkatakana'…
  • @hayato 様 こんにちは。おそらくこんな感じで作れるかと思います。 新しいワークフローを作成 メニューから カスタマイズ > ワークフロー > 新しいワークフロー を選択。 名前: キャンセルされた支払請求書のロック レコードタイプ: トランザクション 適用スコープ: 支払請求書 トリガー条件を設定 フィールド条件で「Status」「支払請求書(仕入):キャンセル済」を設定 アクションを設定 フィールドをロックするアクション: アクションとして「レコードをロック」を設定
  • @Miyu 様 こんにちは。 上部メニューの各トランザクションから「リスト」を開くと、「トランザクションの検索結果」として表示されます。この機能は保存検索に似ていますが、どのメニューから呼び出されたかによって表示される内容が異なる仕様になっており、保存検索とは若干異なる性質を持っています。 たとえば、仕入先支払い請求書のリストからアクセスすれば仕入先支払い請求書が表示され、発注書のリストからアクセスすれば発注書が表示されるという仕様です。 NetSuiteでは「カスタムビュー」を動的にトランザクションごとに自動切り替えすることはできません。「カスタムビュー」はすべてのトランザクションに適用されます。 そのため、以下の方法をお勧めします。…
  • @Ayaka様 こんにちは。 過去のデータを参照したい場合は、NetSuiteではレポートの利用をおすすめします。 今回の場合、以下のレポートが有効かと思います: レポート > 在庫 > 在庫台帳 レポート > 在庫 > 在庫評価 これらのレポートでは、過去の日付を指定することで、その日時点の在庫数などを確認することが可能です。
  • @User_CEHFB 様 設定 > 会社 > 国 を選んでいただき、「日本」を編集で開いてみてください。 現在の住所表記内容が表示されているはずです。 そこから「カスタム住所入力フォーム」に飛び、以下のテンプレートを入力してみてください。(必要に応じて調整をお願いします) 〒<ZIP> <STATE><CITY><ADDR1> <ADDR2><ADDR3><ATTENTION> <ADDRPHONE> 最後の入力として「タブ」に「国」がありますので、「日本」を選択してから保存してください。これで適用されるかと思います。
  • @Ayaka 様 こんにちは。 »①計算式を使わず、税額を表示することはできますか? 保存検索を同じ条件で試してみました。結論としてはこちらもマイナスの表示にしかなりませんでした。以下の式で絶対値を取得することで対策しました。 ABS({taxamount}) »②計算式を使わず、アイテムラインごとの総額を表示することはできますか? こっちもマイナス表示は変わらないですね。以下の式で対策できました。 ABS({netamount})+ABS({taxamount}) 「勘定科目の種類」を保存検索の結果に表示してみてもらいたいのですが、…
  • 取得したい値がNetSuite標準の内部IDで取得できる場合と、自社のカスタムボディフィールドを利用する場合では、大きな違いはフィールドのメンテナンス性やカスタマイズのしやすさにあるかと思います。 もし標準のフィールドで値を取得できるのであれば、カスタムボディフィールドを使わずに済ませた方が、メンテナンス作業が減り、シンプルな運用が可能です。一方で、カスタムボディフィールドを使用する場合、トランザクションの保存時にデフォルト値やソース値を設定することで、柔軟な設計が可能になります。…
  • @yuki nomoto 様 もう少し調べたら、仕入先支払請求書に適用する「出金票」に電子メール機能がありました。 「出金票」は相手にお支払いするトランザクションなので、送信するメールがあっても業務設計上は不自然じゃないと思います。 なので、仕入先支払請求書を作成し、出金票を作成したのちに、 目的のお客様には出金票を電子メールするのが良いのかもしれません。