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}"
Cesta de compras