Copia del modulo Facturas o contratos

Hola, como puedo hacer una copia del modulo de Facturas o Contratos, intente copiando las carpetas, pero no se muestra el modulo en el estudio

1 Like

Hola Melecio,

no creo que haya una buena razon para copiar estos modulos. Puedes explicar porqué lo quieres hacer?

Si lo hagas, hay que cambiar el nombre de los clases y también asegurarse que los datos se escribe en otra tabla (public $table_name)
No creo que estos modulos functionan como copía porque hay que cambiar el clase en muchos lugares.

Pero para contestar tu pregunta: Para mostrar el modulo en Studio crea este archivo

custom/Extension/application/Ext/Language/en_us.nuevomodulo.php

Con este codigo (nuevomodulo es el nombre del clase)


<?php
$app_list_strings['moduleList']['nuevomodulo'] = 'Nuevo Modulo';

Después haces un Admin - Repair - “Quick Repair and Rebuild” (no sé como se han traducido en español)

Muchas Gracias por tus comentarios. La razón por la que trato de copiar los módulos es porque necesito hacer 4 módulos y cada modulo llevara una linea de artículos distinta, igual y no se si tu conozcas otra forma de hacer esto y que sea mas sencilla

Hola,

Lo más facil es crear 4 facturas como plantilla y cuando quieres generar una nueva, duplicas de uno de estos.

Otro método es crear un campo de tipos de facturas. Cuando generas una nueva factura y eliges e tipo, hay que programar una función en Javascipt para evocar una nueva línea.

Se me ocurre que si quieres copiar el modulo de facturas es por su funcionalidad de items de linea(Line Items), si es así, puedes crear un modulo nuevo y agregar dicha funcionalidad al modulo, me he guiado de este enlace https://suitecrm.com/suitecrm/forum/developer-help/8613-add-line-items-in-opportunties y me ha funcionado.

El inconveniente que se me ha presentado es hacer que funcione desde la carpeta custom para no modificar los módulos originales.

Hola buen día,

Busco agregar product_line en un custom module, Tu me podrías ayudar con esto?

Gracias.

Hola jrivas, lo que yo puedes hacer para agregar items por linea es lo siguiente:

-Crear un modulo cualquiera en el constructor de módulos.
-Ve a la carpeta del modulo creado y copia todo lo que esta en la carpeta AOS_Invoices o bien, copia el contenido de una carpeta que tenga el items por linea y en todas las referencias al modulo le cambias el nombre por el que le pusiste al tuyo.
-Y con eso debería quedar agregada tu items por linea.

Es un método algo tedioso pero a mi me funciono.
Saludos!!

1 Like

Hola @melecio55.

Voy a probar muchas gracias por tu ayuda.

Hola jrivas, pues los pasos que realice para que funcionara son los siguientes:

  1. Crear un módulo y agregar una relación 1-M con el módulo Line Items
  2. Agregar el campo al vardefs.ext.php en la siguiente ruta: /custom/extension/modules//ext/vardefs del modulo creado, te dejo el código como yo lo agregue fue así:

$dictionary["Remisiones"]["fields"]["line_items"] = array(

        'required' => false,
        'name' => 'line_items',
        'vname' => 'LBL_LINE_ITEMS',
        'type' => 'function',
        'source' => 'non-db',
        'massupdate' => 0,
        'importable' => 'false',
        'duplicate_merge' => 'disabled',
        'duplicate_merge_dom_value' => 0,
        'audited' => false,
        'reportable' => false,
        'inline_edit' => false,
        'function' =>
            array(
                'name' => 'display_lines',
                'returns' => 'html',
                //yo reuse el archivo original del modulo line items, pero puedes sacar una copia y ubicarlo en custom si deseas, modificando la ubicación del  include
                'include' => 'modules/AOS_Products_Quotes/Line_Items.php' 
            ),
    );
  1. Agregar el panel en los archivos editviewdefs.php y detailviewdefs.php
  2. Copiar la carpeta language del módulo Line Items y pegarlo en custom del modulo creado para que aparezcan los labels.
1 Like

Hola @Hatori Muchas gracias,

Probaré y cualquier cosa te comento.

Gracias.