external_info (Relación con otros CFOs)
En numerosas ocaciones se necesita visualizar registros o entidades de un CFO relacionado con el que estamos modificando. Por ejemplo, una entidad EMPRESA tiene asociadas n-entidades CONTACTOS y nos gustaría poder visualizar dicha información en un formato de listado de contactos a los que podamos acceder.
Relacionando un CFO con otros
En la definición de campos crearemos un campo virtual con el atributo ''
{"fields": ,
"VirtualProposals": {
"name": "Proposals",
"type": "virtual",
"external_info": "datastore",
"entity": "CloudFrameWorkCRMProposals",
"linked_field": "CompanyId",
"field_value": "KeyName",
"fields": "*",
"where":{"field1":"value1",..},
"summary_line": "{{ProposalId}}: {{Title}} [{{Status}}] {{TotalBase}}",
"allow_insert":true,
"external_new_entity_url": "https://api.cloudframework.io/core/cfo/cfi/CloudFrameWorkCRMProposals/insert?filter_CompanyId={{KeyName}}"
}
}
Atributo | Descripción | Valor de emeplo |
---|---|---|
* external_info= | Indica que se va a mostrar información de otro CFO. El valor puede ser datastore o ds,database o db | {"external_info":"datastore"} |
*entity | Nombre del CFO con el que vincularlse | {"entity":"CloudFrameWorkCRMProposals"} |
*linked_field | Nombre del campo o atribute del CFO que será el que hará de enlace. La query buscará registros o entidades del campo que define linked_field = <valor> | {"linked_field": "CompanyId"} |
[*]field_value | Indica qué campo del CFO actual se va a utilizar para que su valor enlace con el linked_field. En caso de que este atributo no se indique se deberá indicar linked_value | {"field_value": "KeyName"} |
[*]linked_value | Opción alternativa a field_value es linked_value, indicando un valor o valores estáticos. Esto sirve cuando queremos enlazar uno o una serie de registros específicos. Si se indica field_value y linked_value prevalecerá feld_value. linked_value puede ser un array de valores. | {"linked_value":"pr-25"} |
*fields | Which fields it will retrieve to be used | {"fields":"*"} |
summary_line | Indica cómo la información se mostrará en cada registro que devuelva la relación. Es un string que contiene valores {{campo}} que se sustituirán por el valor del del campo o atributo del CFO entity | {"summary_line": "{{ProposalId}}: {{Title}} [{{Status}}] {{TotalBase}}"} |
allow_insert | Si tiene un valor true, permitirá que se inserten nuevos registros en el CFO entity | {"allow_insert":true} |
external_new_entity_url | Opcionalmente se puede indicar que para insertar un nuevo registro se puede llamar a un API específico que deberá devolver una estructura de CFO. | "external_new_entity_url": "https://url}" |