Skip to content

Commit

Permalink
Merge pull request #772 from jetstreamapp/bug/764
Browse files Browse the repository at this point in the history
Fix currency length/precision issue
  • Loading branch information
paustint authored Mar 10, 2024
2 parents 2546100 + 49e8d99 commit a03a132
Showing 1 changed file with 14 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -172,27 +172,29 @@ export const fieldDefinitions: FieldDefinitions = {
precision: {
label: 'Length',
type: 'text', // number
labelHelp: 'Number of digits to the left of the decimal point',
validate: (value: string) => {
if (!value || !/^[0-9]+$/.test(value)) {
return false;
}
const numValue = Number(value);
return isFinite(numValue) && numValue >= 0 && numValue <= 18;
return isFinite(numValue) && numValue >= 1 && numValue <= 18;
},
invalidErrorMessage: 'Must be between 0 and 18',
required: true,
},
scale: {
label: 'Decimal Places',
type: 'text',
labelHelp: 'Number of digits to the right of the decimal point',
validate: (value: string) => {
if (!value || !/^[0-9]+$/.test(value)) {
return false;
}
const numValue = Number(value);
return isFinite(numValue) && numValue >= 0 && numValue <= 18;
return isFinite(numValue) && numValue >= 0 && numValue <= 17;
},
invalidErrorMessage: 'Must be between 0 and 18',
invalidErrorMessage: 'Must be between 0 and 17',
required: true,
},
required: {
Expand Down Expand Up @@ -819,6 +821,15 @@ function prepareFieldPayload(sobject: string, fieldValues: FieldValues, orgNames
const fieldApiName = orgNamespace ? `${orgNamespace}__${fieldMetadata.fullName}__c` : `${fieldMetadata.fullName}__c`;
fieldMetadata.fullName = `${sobject}.${fieldApiName}`;

if (fieldMetadata.scale && fieldMetadata.precision) {
const scale = Number(fieldMetadata.scale);
const precision = Number(fieldMetadata.precision);
if (!Number.isNaN(scale) && !Number.isNaN(precision)) {
fieldMetadata.scale = scale;
fieldMetadata.precision = scale + precision;
}
}

if (fieldValues.type.value === 'Formula') {
fieldMetadata.type = fieldValues.secondaryType.value;
fieldMetadata.secondaryType = undefined;
Expand Down

0 comments on commit a03a132

Please sign in to comment.