Imprimir Atributos adicionales (líneas) en pedido de cliente
Imprimir Atributos adicionales (líneas) en pedido de cliente
Hola, buenas
Alguien tiene algún dato de como hacer para recuperar e imprimir la información de Atributos adicionales (líneas).
Ya que son datos que se agregan al momento de crear el pedido y necesito que salgan impresas en el pdf.
Yo modifique la plantilla para ajustarlo a lo que necesitamos. pero no hay nada que me ayude a recuperar esos datos.
Saludos desde Cba, Arg.
Damian
Alguien tiene algún dato de como hacer para recuperar e imprimir la información de Atributos adicionales (líneas).
Ya que son datos que se agregan al momento de crear el pedido y necesito que salgan impresas en el pdf.
Yo modifique la plantilla para ajustarlo a lo que necesitamos. pero no hay nada que me ayude a recuperar esos datos.
Saludos desde Cba, Arg.
Damian
Gracias,
Si estoy tocando el php, ese no es el problema.
Estoy siguiendo este ayuda en Wikipedia, pero no he logrado dar con la tecla aun.
https://wiki.dolibarr.org/index.php/Extrafields
Me falta el dato de $rowid que no encuentro de donde obtenerlo.
Si estoy tocando el php, ese no es el problema.
Estoy siguiendo este ayuda en Wikipedia, pero no he logrado dar con la tecla aun.
https://wiki.dolibarr.org/index.php/Extrafields
Me falta el dato de $rowid que no encuentro de donde obtenerlo.
Si, te paso algo que use y me ayudo, es imprimir el contenido de una variable
tipo array al log:
$oneline = $objectsrc;
$pp = print_r($oneline, true);
dol_syslog("---objectsrc: " . $pp);
En este caso la variable $objectsrc es la que quiero ver, tenes que habilitar el modulo
de log para que mande la info al archivo dolibarr.log
Lo que vos mencionas, $rowid, creo es la propiedad id, seria
$objectsrc->id
Eso no seria extrafield, es la clave unica del objeto en la tabla, en general.
Saludos,
Eduardo.
tipo array al log:
$oneline = $objectsrc;
$pp = print_r($oneline, true);
dol_syslog("---objectsrc: " . $pp);
En este caso la variable $objectsrc es la que quiero ver, tenes que habilitar el modulo
de log para que mande la info al archivo dolibarr.log
Lo que vos mencionas, $rowid, creo es la propiedad id, seria
$objectsrc->id
Eso no seria extrafield, es la clave unica del objeto en la tabla, en general.
Saludos,
Eduardo.
Buen Dato Aduart. Mil gracias.
Estuve tirando los logs.
y efectivamente es $object->rowid
Pero ahi me di cuenta que la información que obtengo es de los campos extras de los pedidos.
Pero no me devuelve los datos de campos extras de "líneas" de los pedidos.
Asi que voy a tener que meter código para consultar la bd.
Gua ver que me sale, despues les cuento,
Buscando en info en internet encontré que este tema estaba tocado en otra publicación aca en el foro, no lo habia encontrado antes.
https://www.dolibarr.es/foro/viewtopic.php?f=17&t=2782
Pero tampoco lo han solucionado, quedaron en el mismo punto que yo.
Saludos
Damian
Estuve tirando los logs.
y efectivamente es $object->rowid
Pero ahi me di cuenta que la información que obtengo es de los campos extras de los pedidos.
Pero no me devuelve los datos de campos extras de "líneas" de los pedidos.
Asi que voy a tener que meter código para consultar la bd.
Gua ver que me sale, despues les cuento,
Buscando en info en internet encontré que este tema estaba tocado en otra publicación aca en el foro, no lo habia encontrado antes.
https://www.dolibarr.es/foro/viewtopic.php?f=17&t=2782
Pero tampoco lo han solucionado, quedaron en el mismo punto que yo.
Saludos
Damian
Hola:
Lo puedes añadir con el módulo AdrODT y para configurarlo y que aparezca en el PDF solo tienes que descargar la plantilla .odt y agregarle los tags ahí.
Sería algo así:
{line_options_xxxx}
*siendo xxxx el código del atributo que agregaste.
Saludos,
Lo puedes añadir con el módulo AdrODT y para configurarlo y que aparezca en el PDF solo tienes que descargar la plantilla .odt y agregarle los tags ahí.
Sería algo así:
{line_options_xxxx}
*siendo xxxx el código del atributo que agregaste.
Saludos,
Gracias Osek,
Pero lo solucione modificando el php del modulo que imprime el pdf del pedido.
Publico lo que hice, por ahi le sirve a otro/a.
Dentro del condicional si existe el directorio.
y justo antes del bucle
inserte el siguiente código.
Luego dentro del bucle podes usar la siguiente linea para recuperar los datos e imprimirlo donde quieran.
Suerte y Gracias
Damian
Pero lo solucione modificando el php del modulo que imprime el pdf del pedido.
Publico lo que hice, por ahi le sirve a otro/a.
Dentro del condicional si existe el directorio.
Código: Seleccionar todo
if (file_exists($dir))
Código: Seleccionar todo
// Loop on each lines
for ($i = 0 ; $i < $nblignes ; $i++)
Código: Seleccionar todo
// Cargamos las lineas extras
$extrafields = new ExtraFields($db);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element_line);
foreach ($object->lines as $line) {
$line->fetch($line->rowid);
$line->fetch_optionals($line->rowid,$extralabels);
}
Código: Seleccionar todo
$object->lines[$i]->array_options ['options_NOMBREQUELEASIGNAMOSALCONFIGURAR']
Damian
Hola Damian
Para que me quede más claro, ¿puedes enviar una captura de lo que has conseguido en un documento ejemplo?
No se si hablamos de lo mismo, pero yo tenía la necesidad que incorporar nuevas líneas también, donde se incluyeran los números de cuenta o información particular de la cotización. En ese momento, la solución que encontré fue incorporar las líneas como cadena traducida:

Y lo he incorporado como código debajo de la siguiente función
de la siguiente manera:
Y el resultado es:

Espero os sirva mi solución.
Un saludo¡!
Para que me quede más claro, ¿puedes enviar una captura de lo que has conseguido en un documento ejemplo?
No se si hablamos de lo mismo, pero yo tenía la necesidad que incorporar nuevas líneas también, donde se incluyeran los números de cuenta o información particular de la cotización. En ese momento, la solución que encontré fue incorporar las líneas como cadena traducida:

Y lo he incorporado como código debajo de la siguiente función
Código: Seleccionar todo
function _tableau_info(&$pdf, $object, $posy, $outputlangs)
Código: Seleccionar todo
// CUENTA EN PESOS
if ($object->mode_reglement_code
&& $object->mode_reglement_code != 'CHQ'
&& $object->mode_reglement_code != 'VIR')
{
$pdf->SetFont('','B', $default_font_size - 1);
$pdf->SetXY($this->marge_gauche, $posy);
$titre = $outputlangs->transnoentities("BBVAMXN").':';
$pdf->MultiCell(80, 5, $titre, 0, 'L');
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posxval, $posy);
$datos = $outputlangs->transnoentities("BBVAMXN2");
$pdf->MultiCell(90, 5, $datos, 0, 'L');
$posy=$pdf->GetY()+1;
}
// CUENTA EN DOLARES
if ($object->mode_reglement_code
&& $object->mode_reglement_code != 'CHQ'
&& $object->mode_reglement_code != 'VIR')
{
$pdf->SetFont('','B', $default_font_size - 1);
$pdf->SetXY($this->marge_gauche, $posy);
$titre2 = $outputlangs->transnoentities("BBVAUSD").':';
$pdf->MultiCell(80, 5, $titre2, 0, 'L');
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posxval, $posy);
$datos2 = $outputlangs->transnoentities("BBVAUSD2");
$pdf->MultiCell(90, 5, $datos2,0,'L');
$posy=$pdf->GetY()+1;
}

Espero os sirva mi solución.
Un saludo¡!
Sebastián Medina
México - España
Versión de Dolibarr: 8.0
México - España
Versión de Dolibarr: 8.0
Hola Sebastian,
Por lo que veo, los datos tuyos son Constantes.
No es mala tu solución. Porque sino estarías grabando los datos en cada presupuesto o pedido..
En cambio, yo necesitaba variables en cada linea, que cambian en cada presupuesto o pedido.
Por ejemplo:

Ahi por ejemplo se cargan Medidas, Papel, gramos, etc.. que difieren de cada pedido.
Esto se configura en el panel de Configuracion.

Donde los atributos adicionales pertenecen al presupuesto en gral, mientras los de linea, a cada producto dentro del presupuesto.
¿Se entiende?
Saludos
Damian
Por lo que veo, los datos tuyos son Constantes.
No es mala tu solución. Porque sino estarías grabando los datos en cada presupuesto o pedido..
En cambio, yo necesitaba variables en cada linea, que cambian en cada presupuesto o pedido.
Por ejemplo:

Ahi por ejemplo se cargan Medidas, Papel, gramos, etc.. que difieren de cada pedido.
Esto se configura en el panel de Configuracion.

Donde los atributos adicionales pertenecen al presupuesto en gral, mientras los de linea, a cada producto dentro del presupuesto.
¿Se entiende?
Saludos
Damian