Salesforce INVALID_FIELD_FOR_INSERT_UPDATE al actualizar Cuentas

Actualmente haciendo algunas modificaciones e inserciones en el Object Account, específicamente en su field vlocity_ins_MiddleName__pc recibí el error "Account: bad field names on insert/update call: vlocity_ins__MiddleName__pc".

Noté que el sufijo del campo personalizado era "__pc" en lugar del típico "__c", por lo que cuando intentaba guardar algo en él inmediatamente arrojaba el error.

Curiosamente, el field al que se hace referencia en el error eran en realidad de contacto, personalizado e implementados por la fusión entre los objetos Account y PersonAccount. Esto lo implementa Vlocity y se define por el field recordTypeId, dependiendo de si esta definido o no podemos estar usando Account como Business Account o como Person Account, lo que también modifica su comportamiento, razón por la cual no esta permitido usar los fields que terminen en "__pc" como vlocity_ins__MiddleName__pc cuando se define como Business Account.




Resulta que el sufijo "__pc" se usa cuando la organización está configurada para usar Person Account, por lo que los fields que tengan este sufijo sólo estarán disponibles cuando se define el RecordTypeId con el Id correspondiente a PersonAccount.

Adicionalmente para usarlo correctamente a pesar de ser un campo personalizado debemos llamarlo por si nombre simple, es decir sin el prefijo vlocity_ins_ y sin el sufijo __pc, como hacemos normalmente con los campos persolizados, es decir, simplemente lo invocamos como MiddleName.

Comentarios

Entradas más populares de este blog

Cómo implementar una CUSTOMFUNCTION de Salesforce

Salesforce en Safari siempre cambia a modo tradicional en Salesforce