Entity Module

Block

El registro de entidad se representa visualmente como formulario en la vista de edicion / vista de detalle. El bloque se comprende de un grupo del campo del módulo. Puede haber uno o más bloques en el módulo. Layout Editor proporciona la capacidad para que el administrador agregue bloques personalizados.

Field

Field es la unidad fundamental de la gestión de datos. El módulo puede tener uno o más campos. Sin embargo, la presencia de campo de entidad es obligatoria para el módulo.

UItypes for Fields in Modules

UI Tipe Proposito Ejemplo
1 Un campo de una linea. Cambia su color cuando se selecciona Ciudad
2 Lo mismo que el uitype 1, pero este es un campo obligatorio. Una estrella esta presente antes de la etiqueta del campo. Cambia de color cuando se selecciona. Nombre de Cuenta
3 Un campo no se puede editar el texto de una sola línea que muestra la entrada de auto-generada e incremental, como número de factura. Es un campo obligatorio. Una estrella está presente antes de que la etiqueta del campo. Cuando cambia el color seleccionado. AccessKey - Usuarios
4 Se utiliza para generar el tipo de AutoNumerico, configurado en cualquier módulo. Numero de Cuenta
5 Contiene un enlace a "jscalendar" con él que puede ser usado para llenarlo. También se muestra las fechas actuales del formato de usuarios por debajo de ella. Toma fechas inut basado en el formato de fecha actual usuarios. No permitir que entre en fechas no válidas como 30 de febrero. No cambia de color en la selección. Generalmente se utiliza para tomar las entradas fechas de inicio. Inicio de Soporte
6 Se trata de un campo de hora y fecha. Permite entrar en el tiempo utilizando menús desplegables y fecha utilizando un enlace a "jscalendar". La validez de la fecha y la hora se comprueba antes de la entrada. Es obligatorio que al introducir la fecha es mayor que o igual a la fecha actual. No cambia de color en la selección. Fecha y Hora de Inicio
7 Un campo de texto de una sola línea que se utiliza principalmente para tomar una entrada numérica. Cambia de color cuando es seleccionado. Empleados
8 Array JSON es almacenado y el valor se consume en cadenas separadas por coma E-Mails => To, CC, BCC
9 Un campo de texto de una sola línea ¿Cuál es el porcentaje utilizado para aceptar entradas de los usuarios. Comprueba si la entrada es inferior a 100 o no, y da y de error de lo contrario. Los cambios en la selección de color. % de Probabilidad
10 Sirve para crear un tipo de entrada de 'Modulo entidad vinculada', donde un campoesta vinculado a una entidad a partir de múltiples módulos (por ejemplo: Miembro del campo) -> Introducido por vtlib Cuenta, Contacto en Recursos
11 Un campo de texto de una sola línea. No tiene comprueba la validez de los datos. Cambia de color cuando es seleccionado. Telefono
12 Campo id de correo electrónico, almacena el correo electrónico de identificación único (de dirección de correo electrónico) Cuando el correo electrónico se envía desde el sistema. Enviado desde
13 Un campo de texto de una sola línea. Se utiliza para tomar las direcciones e-mail desde la entrada del usuario. Comprueba la validez del correo electrónico introducida y da un error si no es válido. Cambia de color cuando es seleccionado. Campo E-mail
15 Un combo desplegable que acepta la entrada del valor seleccionado en ella. Los valores en el menú desplegable Varian de módulo a módulo y se basan en roles. Origen de Pre-Contactos
16 Un combo desplegable que acepte la entrada del valor seleccionado en ella. Los valores en el menú desplegable Varían de un módulo a otro, y no depende el rol (no basado en rol) del usuario actual. Zona Horaria en Usuarios
17 campo sola línea de texto que se utiliza para aceptar los nombres de los sitios web de los usuarios. No comprueba la validez de la entrada. Los cambios en la selección de color. Sitio Web
19 Área de texto utilizado por aceptar grandes entradas como "Descripción", "soluciones", etc. Los cambios en la selección de color. Descripcion, Terminos de Condiciones
20 Igual que uitype 19, pero un campo obligatorio, es decir, que tiene que ser llenado y hay una estrella antes del presente fieldLabel. Los cambios en la selección de color. Pregunta => FAQ
21 Extarea tamaño en torno a cinco líneas. Se utiliza para dar pequeños detalles como "Dirección de la calle" a partir la entrada del usuario. Los cambios en la selección de color. Diraccion
22 Un área de texto que se utiliza para aceptar el campo "Título" en algunos módulos. Es un campo obligatorio. Una estrella está presente antes de la fieldLabel. Los cambios en la selección de color. Campo titulo => Incidencias
23 Campo de fecha. Igual que uitype 5, pero en su mayoría se utilizan para tomar las entradas de fecha de terminacion. Fecha de Finalizacion
24 Área de texto de tamaño en torno a cinco líneas. Se utiliza principalmente para tomar pequeños detalles como "Dirección de facturación" a partir la entrada del usuario. Cuando se selecciona un contacto, entonces, si el usuario consiente, la dirección de facturación se llena automáticamente con la dirección de contacto como la dirección de facturación. Es un campo obligatorio. Una estrella está presente antes de la TextLabel. Los cambios en la selección de color. Campo como el de direccion permite tomar la direccion de facturacion si el usuario lo consiente.
25 Seguimiento de correo electrónico de estado (Se utiliza para contar el número de veces que se abre un correo electrónico). Se trata de un uitype especial valor para el cual se calcula basándose en los valores de la otra tabla. Access Count
26 Folder de Documentos Nombre de Folder
27 información de tipo de archivo (interno / externo). Este uitype es especial, ya que ofrece una selección de lista de selección en el lado izquierdo, donde la etiqueta que aparece y se basa en el tipo de entrada para los cambios de valor. Tipo de Desacarga => Documentos [Interno / Externo]
28 El campo de titular de nombre de archivo (que anteriormente se fusionó con otra uitype). Ahora existe independiente de la otra uitype este campo, pero su tipo varía en función del valor de la otra uitype Nombre del Archivo => Documentos
30 Este se compone de tres menús desplegables que se utilizan para Ajuste del tiempo de aviso en el caso de cualquier creación actividad. Enviar Recordatorio
31 Theme
32 Language
51 Sirve para seleccionar una cuenta de una ventana emergente. Miembro de => Cuentas, Cuenta => Contacto
52 Un combo desplegable que acepte la entrada del valor seleccionado en ella. La entrada es el nombre del controlador (como admin, standarduser etc.) para la entidad que está siendo creado. Ultima Modificacion por
53 La combinación de un combo desplegable y un botón de radio que acepte la entrada del valor seleccionado en el combo. El valor del botón de opción, a su vez, decide los valores en el combo. La entrada es el nombre del usuario o grupo a una actividad que se asigna a. Asignado a
55 Este uitype Proporciona una combinación de Tratamiento y Nombre. El campo de Tratamiento es un desplegable mientras que el campo Nombre es un campo de texto de línea que cambia de color en la selección. Tratamiento y nombre
56 Una casilla de verificación que toma la entrada en forma de sí o no. Activo [Si / No]
57 Un campo de texto no editable sola línea. Toma su entrada desde el enlace que aparece con ella. Se utiliza para seleccionar un contacto de una ventana emergente. Que contiene un enlace se puede utilizar para borrar el valor anterior. También contiene un enlace a una ventana emergente que añade un nuevo contacto. No cambia de color en la selección. Reporta a => Contactos
58 Origen de Campaña
59 Seleccionar Producto
61 Nombre del Archivo en Documentos
63 Duracion Duracion en Horas => Incidencias
66 Relacionado Relacionado a
69 Imagen Imangen Producto
70 Fecha de Creacion Fecha de Modificacion
71 Campo moneda Costo actual
72 Campo moneda Total => Factura
73 Account Name => Cotizaciones
75 Nombre del Proveedor => Productos
76 Nombre de la Oportunidad => Cotizacion
77 Usuario asignado encargado del inventario. Envargado del Inventario => Cotizaciones.
78 Nombre de la Cotizacion => Orden de venta
80 Orden de Venta => Factura
81 Proveedor => Orden de Compra
83 Clase de Iva => Servicios
99 Password => Usuarios
101 Reporta a => Usuarios
104 E-mail => Usuarios
105 Imagen => Usuarios
106 Nombre de Usuario => Usuarios
115 Estado => Usuarios
116 Hora Fin
117 Moneda en Cotizacion
156 Es Admin => Usuarios
255 En los Pre-contactos y los contactos, el apellido es obligatorio, pero primero nombre no lo es. Cuando por primera vez el nombre está deshabilitado para el perfil, el saludo se maneja y ha añadido para el último nombre que utiliza este uitype. Apellidos => Pre-contactos

Campo(s) principal(es) del módulo a través de los cuales el registro se identifica por nombre (etiqueta a.k.a) se denomina Campo de Entidad.

Sharing Access

Webservices

................

Extension Module

El módulo de extensión agrega un comportamiento adicional al CRM y funciona con los datos existentes del módulo Entity o de otras fuentes. Ejemplo: Dashboard, Reportes, etc ... La plataforma proporciona API para facilitar el trabajo con los datos del módulo de entidad y define la estructura general a seguir para la implementación del módulo.

Language Pack

Para empezar a usar Console Tool > Create New Language Pack

Actualice los archivos de idioma php creados en la carpeta languages / languagecode_countrycode.

Exporte el paquete de idioma utilizando Language Export API

Layouts

Application UI is controlled by layout. CRM administrator can choose the default layout through Configuration Editor (available 6.4.0 onwards).

Themes

...................

Server APIs

Server API enables data flow control for a module. It is recommended for use when a module needs to access of other module data / state. The Server API will take measure to apply the required Sharing / Profile access restriction as configured for the logged in user. Also triggers configured Event handlers (Workflow etc...) for operations like Save / Delete.

  • Attention

Using direct database queries is discouraged as developers might induce data-security issues unknowingly and increase risk.

Webservice ID

include_once 'include/Webservices/Utils.php';

$crmid = '1'; // ID of Leads record.
$wsid = vtws_getWebserviceEntityId('Leads', $crmid);

List Types

include_once 'include/Webservices/ModuleTypes.php';

$current_user = CRMEntity::getInstance('Users');
$current_user->retrieveCurrentUserInfoFromFile(1);

try {
        $typeInformation = vtws_listtypes(array(), $current_user);
        foreach ($typeInformation['types'] as $name) {
                echo sprintf("%s\n", $name);
        }
        foreach ($typeInformation['information'] as $name => $information) {
                echo sprintf("Name: %s, Label: %s, SingluarLabel: %s, IsEntity: %s \n",
                        $name, $information['label'], $information['singular'], ($information['isEntity']? "yes": "no"));
        }
} catch (WebServiceException $ex) {
        echo $ex->getMessage();

Describe

include_once 'include/Webservices/DescribeObject.php';

try {
        $describe = vtws_describe('Leads', $current_user);
        foreach ($describe['fields'] as $field) {
                echo sprintf("%s (%s), Mandatory? %s \n", $field['name'],
                        $field['type']['name'], ($field['mandatory']? "yes": "no"));
        }
} catch (WebServiceException $ex) {
        echo $ex->getMessage();
}

Create

include_once 'include/Webservices/Create.php';
try {
        $data = array (
                'lastname' => 'LNAME',
                'firstname'=> 'FNAME',
                'company'  => 'CNAME',
                'assigned_user_id' => '19x1', // 19=Users Module ID, 1=First user Entity ID
        );
        $lead = vtws_create('Leads', $data, $current_user);

        print_r($lead);

} catch (WebServiceException $ex) {
        echo $ex->getMessage();
}

Retrieve

include_once 'include/Webservices/Retrieve.php';
try {
        $wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
        $lead = vtws_retrieve($wsid, $current_user);
        print_r($lead);

} catch (WebServiceException $ex) {
        echo $ex->getMessage();
}

Revise

include_once 'include/Webservices/Revise.php';
try {
        $wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
        $data = array('firstname' => 'FIRSTNAME', 'id' => $wsid);
        $lead = vtws_revise($data, $current_user);
        print_r($lead);

} catch (WebServiceException $ex) {
        echo $ex->getMessage();
}

Query

include_once 'include/Webservices/Query.php';
try {
        $q = "SELECT * FROM Leads WHERE lastname LIKE '%LNAME%'";
        $q = $q . ';'; // NOTE: Make sure to terminate query with ;
        $records = vtws_query($q, $current_user);
        print_r($records);

} catch (WebServiceException $ex) {
        echo $ex->getMessage();
}

Delete

include_once 'include/Webservices/Delete.php';
try {
        $wsid = vtws_getWebserviceEntityId('Leads', 'CRMID') // Module_Webservice_ID x CRM_ID
        vtws_delete($wsid, $current_user);
} catch (WebServiceException $ex) {
        echo $ex-
>
getMessage();
}

Package Structure

Entity Module

<MODULENAME>.zip
  manifest.xml
  modules/
    <MODULENAME>/
        <MODULENAME>.php
        views/
        actions/
        models/
  crons/
    MODULENAME.service
  templates/
    .tpl
    resources/

  languages/
    en_us/
      <MODULENAME>.php

  settings/
    views/
    actions/
    models/
    templates/
      .tpl

Extension Module

<MODULENAME>.zip
  manifest.xml
  modules/
    <MODULENAME>/
        <MODULENAME>.php
        views/
        actions/
        models/

  templates/
    .tpl
    resources/

  languages/
    en_us/
      <MODULENAME>.php

Language Pack

<en_us>.zip
  manifest.xml
  modules/
     Vtiger.php
     Accounts.php
     Contacts.php
     Leads.php
     Settings/
       Vtiger.php

Layout Pack

<LAYOUTNAME>.zip
  manifest.xml
  layouts/
      <NAME>/
          libraries/
              jquery/
                  jquery.min.js
          skins/
              application.js
              application.css
          modules/
              Vtiger/
                  Header.tpl
                  Footer.tpl
                  dashboards/
                      DashBoardPreProcess.tpl
                      DashBoardContents.tpl
              Users/
                  Login.tpl
              Settings/
                  Vtiger/
                      ConfigEditorDetail.tpl

Theme Pack

<THEMENAME>.zip
  manifest.xml
  vlayout/
    style.css
  otherlayout/
    style.css

Bundled Module

Note

Yet to be documented - please be patient.

results matching ""

    No results matching ""