Uncountableでは、カスタムラベルを使用し、在庫の追跡からレシピの整理まで、特定のニーズに合わせて情報を表示することができます。このガイドでは、新規でカスタムラベルを作成するまたは既存のラベルを複製するかにかかわらず、カスタムラベルを作成する手順を説明します。
カスタムラベルの作成
カスタムラベルは、「Form Admin」画面の「Templates」タブで作成します。一般的には、既存のラベルをコピーし、新しいカスタムラベルを作成する方法が簡単です。しかしながら、ラベルテンプレートから新規で作成することもできます。
作成済みのラベルを複製した上で、カスタムラベルを作成
ユーザーは、[ラベルを追加]ボタンをクリックし、既存のラベルのJsonコードを貼り付け、コンテンツセクションにコピーすることで、新しいラベルを作成できます。以下の手順に従い、作成します。
オプション列の下にある歯車アイコンをクリックし、「ラベルを複製」を選択してください。

名前を追加して送信します。

新規でカスタムラベルを作成する
[+テンプレートを追加]ボタンをクリックします。

このモーダルから、ラベルに名前を付けて、次の要素を指定します:
- Namespace:ラベル
- フィールド:レイアウト
- コンテンツタイプ:Json変数またはカードラベル

カスタムラベルの設定
「Admin Form」の「Templates」タブにある、ラベルエディタに遷移します。「オプション」列にて、Card Labelテンプレートの歯車アイコン(例:Hannah Test3-card)をクリックし、「ラベルへ移動」を選択します。

ラベルエディタの「設定」タブに移動し、エンティティを選択します。「エンティティタイプ」を選択した後、既存のエンティティ(すなわち実験)を選択します。
注記:上記の例では、ラベルが特定のエンティティにのみリンク付けされていることを意味するのではなく、ラベルがどのように表示されるかテストするために選択しています。選択したエンティティの例を自由に変更し、様々な属性/メタデータでどのように変化するのか確認してください。
ただし、全てのアイテムが全てのエンティティに使用できるわけではありません。(つまり、ref:recipeはレシピのみ使用でき、在庫量や他のエンティティでは使用できません。)利用可能なケースにおいてref:fieldsを使用するか、適切な値のスペックオーダーで作成されたラベルを複製することで解決できます。

「カード」タブで、ラベルに表示するアイテムを追加および削除します。アイテムは、画像、テキスト、スペーサー、バーコードまたはアイテムコンテナ(フローまたはスタック)があります。これらのアイテムのいずれかをクリックすると、サイズ、位置、スタイルなどのプロパティの一部を変更できます。

「基本スタイル」タブで、ラベルページの印刷時の設定をおこないます。

「ページ」タブで、ラベルページの印刷設定を行ってください。
- ページのサイズ(幅と高さ)を設定します。
- ページごとに含めるラベルの数を決定します(グリッドXとグリッドY)。
- カードブリード(背景色やグラフィックがラベルの境界線を越えて広がり、最終的な印刷ラベルに隙間がないようにする)や余白(ラベルの外枠からの距離)など、その他の書式設定プロパティにアクセスします。

「カード仕様」タブは、ラベルの設定に関する全ての情報がJson形式で表示されます。フィールドを編集すると、JSONコードも自動で編集されるため、JSONエディタからラベルを自由に変更してください。
カスタムラベルのエクスポートへのリンク
ラベルテンプレートを作成すると、「Form Admin」ページからエクスポートにリンクできます。
Form Adminの「Definitions」タブから、[+Create Definition]ボタンをクリックします。
次に、適切な定義タイプを選択します。Typeとラベルエンティティは一致させる必要があります。― レシピラベルの「recipe_export」または在庫ラベルの「inventory_amount」を選択してください。

そして、全ての必須項目を入力した上で、[Add Definition]ボタンをクリックし、定義を追加します。
新しく作成した定義の「Runsheets and Lables」タブに移動し、[Add New Runsheet]ボタンをクリックします。

ラベル名を追加し、「Type」に「label」を選択し、新しいRunsheetを構成します。以前に作成したテンプレートに適切な値(例:HannahTest3-card)を入力します。

Runsheetの作成後、[ラベルへ移動](バーコードアイコン)をクリックし、更にラベルテンプレートを編集できます。

値仕様
プラットフォームの値をラベルアイテムに反映させるには、値仕様を使用する必要があります。式を構築するにはノーコードツールの値仕様エディタを使用し、その後「テスト」タブで実際に動作するかテストすることができます。

よく使用される値仕様
このセクションでは、よく使用される値仕様をいくつか用意しています。コピー&ペーストをし、お使いください:
レシピの場合
recipe_name: text:${ref:recipe.name} or text:${ref:recipe.editable_name}
recipe_id: text:${ref:recipe.id}
recipe_metadata: text:${ref:recipe.metadata.metadata_name}
recipe barcode: text:${v:recipe.barcode}
recipe Lot ID: text:${ref:recipe.metadata.lot_id}
Ingredient within a recipe: text:${(id_source_map "entity/ingredient" ref:recipe.lotIngredientId)}
ingredient attribute within a recipe: text:${(id_source_map "fieldOptions:fieldoptionsRefName" (with_entity "ingredient" ref:recipe.lotIngredientId ref:ingredient.attributes.attributeRefName))}
在庫量の場合
General lookup for all info: v:invAmount or ref:invAmount
title: text:${ref:invAmount.name}
barcode: text:${ref:invAmount.barcode}
lot: text:${expr:(coalesce ref:invAmount.ingredientLot.name json:"No Lot")}
category: text:${expr:(coalesce ref:invAmount.ingredient.category.name json:"Uncategorized")}
Lab: (ref:invAmount.lab.name)
Location type: text:${v:invLocalLocation.type.name}
Location within the lab: text:${expr:(join ref:invLocalLocation.path_names text:>)}
Metadata from the inventory’s lot: text:${expr:(coalesce
ref:recipe.metadata.MetadataRefName json:"")}
在庫ロケーションの場合
General lookup: v:invLocalLocation or ref:invLocalLocation
原材料/在庫の場合
name: text:${ref:ingredient.name}
attribute_value: text:${ref:ingredient.attributes.attribute_name}
List attribute: (join ref:ingredient.attributes.hazard_id ", ")
フィードの場合
ラボリクエストやカスタムエンティティ等
field_name: text:${ref:fields.field_ref}
ユーザーコンテキストの場合
現在のプロジェクト、マテリアルファミリ、エクスポート時のユーザーデータなど
project_name: (with_entity "project" ref:userContext.project.id ref:project.name)
リファレンスフィールドの設定
リファレンスフィールドは、コントロールパネルにて編集できます。コントロールパネルページで、画面をスクロールし、[Edit reference names]ボタンをクリックします。
- 左上のコンボボックスから、変更するリファレンステーブルを選択します(1)。
- 列名の下のフィールドに値を入力すると(2)、すばやくフィルタリングできます。(例:“名称”で絞り込み)。
- リファレンス名を追加するフィールドの[編集]ボタン(3)をクリックします。
- リファレンス名を変更した後、[commit]ボタンをクリックして変更を保存します。
重要:コントロールパネルで値を変更する場合は、別の設定(カスタムrunsheet等)がリファレンス名を使用している可能性があるため、特に注意してください。

カスタムエンティティやラボリクエストで使用できるフィールドには、作成時にリファレンス名が付けられることに注意してください。

GHS記号をラベルへ追加する
GHS記号は、原料属性から一覧の画像を読み込む必要があるため、Uncountableでは特殊なケースになります。そのため、ユーザーは新しい原料属性を作成し、リファレンス名を編集の上、その属性を公開データにリンク付けする必要があります。
ステップ1:新しいGHSシンボル属性を作成する
最初に、「GHS Symbols」タイプの属性を作成します。

ステップ2:新しい属性のリファレンス名を編集する
ラベルにGHS記号を反映させるには、あたらしく作成された原料属性のリファレンス名を編集し、値仕様を介して反映させる必要があります。これは、上記の「参照フィールドの構成」セクションで説明したように、コントロールパネル内でおこないます。
- 「Control Panel」ページで画面をスクロールし、[Edit reference names]ボタンをクリックします。このドキュメント全体で値仕様の例を使用するには、ref名を” ghs_ing_attribute”に設定することをお勧めします。
- ドロップダウンメニューから「ingredient_attributes」を選択します。
- [鉛筆アイコン]をクリックし、新しく作成した原料属性のリファレンス名を編集します。
ステップ3:属性を公開データにリンク付ける
リファレンス名を編集し、値仕様を介して新しい原料属性を反映させた後、原料属性を公開データにリンク付けする必要があります。
原料属性ページで、属性を公開データソースに連携します。「追加設定」で「パブリックデータソースへの属性の同期」のドロップダウンメニューから、「GHS記号」を選択します。

ステップ4:ラベルにGHS記号を追加する
ラベルの設定に際し、ラベルテンプレートのアイテムコンテナとしてフロー要素を追加し、GHS記号が収まるようにサイズを定義します。

アイテムコンテナのパターン画像をフロー要素に追加します。次の変数を使用して、GHS記号のピクトグラムをプルします。
expr:(ghs_symbol_pictogram_url (coalesce ref:ingredient.attributes.ghs_ing_attribute
json:[]))

実験のメタデータとして保存されているGHS記号を表示するより短い代替え案として、実験ラベルにhazard
を表示させる方法があります。
(ghs_symbol_pictogram_url ref:recipe.metadata.hazard)
一般的に使用されるコードは以下です:
- coalesce: フォールバックを提供することで null 値を処理します。
- datetime: 日付と時刻の書式設定をします。
- lower / upper: テキストを小文字または大文字に変換します。
- initials: テキストからイニシャルを抽出します。
- if: 条件付きロジックを追加します。
- join: 複数の値を 1 つの文字列に結合します。
- json: JSON データを処理します。
- ref: 別の属性またはメタデータフィールドを参照します。
- regex_match: 正規表現パターンを使用して値を照合します。
- round: 数値を丸めます。
- substring: 文字列の一部を抽出します。
- add / sub / mul / div: 基本的な四則演算をおこないます。
ラベルに画像またはロゴを追加する
ラベルをエクスポートする際にロゴなどの画像を追加することもできます。これは「カード」タブの「画像」項目の「画像参照」フィールドに、それぞれの画像へのWebリンクを入力することで、画像を参照することができます。
「Image Ref」値仕様の例:
text:link_to_logo
text:<https://vectorlogoseek.com/wp-content/uploads/2019/06/remmers-vector-logo.png>

