現在、@TomDeWitteによって開発されたPipeline Tracking & TraceabilityデータモデルおよびArcadeポップアップスクリプトのテストを行っており、ASTM F2897-15aの16文字フォーマットに準拠していないバーコードに遭遇しました。<\/P>
テスト中に、バーコードが予想される16文字フォーマットを超える値にデコードされたバルブに出会いました。フィールド幅を変更する前は、OOTB arcadeスクリプトはAttribute Expressionダイアログで単純なドラッグ&ドロップでした。その他の変更は行っていません。単純にフィールドを変更しただけです。<\/P>
抽出されたバーコード属性の一例はこちらです:'ELboG04njHV70Z90MW6 DEMO'。<\/P>
拡張文字のキャプチャを可能にするため、新しいより長いバーコードフィールドを作成しようとしましたが、その後、ポップアップ用のarcadeスクリプトが正しく保存できず、次のエラーが発生しました:'Execution Error: <\/SPAN>Field not Found'。これは奇妙ですが、フィールドは存在しており、長いフィールドを使用する前は問題ありませんでした。調査したところ、直前から2番目の行(Diameter & Wall Thicknessスクリプト)の'[text(C1FACTOR)] 'を削除すると:'var DIAM = DIAMETERDICTIONARY[text(C1FACTOR)];' スクリプトが保存可能になり、ポップアップも動作しました(表示されている内容が正しいかどうかは不明です)。<\/SPAN><\/P>同様に、Diameter2およびWallThickness2スクリプトにも同様の問題がありましたが、次の行から'[text(C2FACTOR)]'部分を削除すると:<\/SPAN>var DIAM = DIAMETERDICTIONARY[text(C2FACTOR)]; スクリプトが保存可能になりました。C1FACTORは配列自体をスクリプトから完全に削除すれば問題ありませんでした。<\/SPAN><\/P>したがって、C1Factor/C2Factorが実際に何をしているのか少し混乱していますが、私には2つの選択肢があります:<\/SPAN><\/P>'Field not Found'エラーを回避するためにarcadeスクリプトを修正する。<\/SPAN><\/LI>Field mapsアプリでバーコードを自動的に16文字に切り詰める方法を見つける。現在は手動で余分な文字を削除しており、それによってarcadeポップアップ値の正しい抽出が可能ですが、これは信頼できる方法ではないと感じています。また、設置時に失われる可能性のある追加情報が含まれているかもしれないため、完全なバーコード値は保持したいと考えています。<\/SPAN><\/LI><\/OL>この件について何か助けやより良い代替案についてのご意見をいただけるとありがたいです。<\/SPAN><\/P>TL/DR: 16文字より長いバーコードを発見しました。16文字より広いデータベースフィールドはDiameter, Diameter2, Wall Thickness, & Wall Thickness2 arcadeスクリプトで'Execution Error:<\/SPAN>Field not Found'エラーとなりスクリプト保存時に失敗します。<\/SPAN><\/P>