Un foro de discusión para nuestra comunidad de hispano hablante
By janiszapata
#795773
Buen día,

Tengo inconvenientes con el combo producto:
Image

Lo que quiero es que se muestren los productos que estén asignados al cliente que este ingresando, estoy utilizando el siguiente código antes ya me había funcionado con la V 2.5 pero ahora no entiendo cual es el problema, si me pudieran ayudar se los agradecería muchísimo.
Code: Select all
select concat(concat(p.ch_code, p.ch_subcode),p.usr_uid), p.vc_name
from talg_product as p inner join talg_clientproduct as c
on p.ch_code=c.ch_code and p.ch_subcode=c.ch_subcode
and p.ch_subcode='00' and p.usr_uid is not null and c.ch_codeclient= @@txhIDCliente;
Saludos, gracias!!! :D
User avatar
By amosbatto
#795779
¿Cual versión estas usando ahora?

Si estas usando un proceso BPMN en PM 3, la ID del campo y su variable debe ser "txhIDCliente". Si su variable no es "txhIDCliente", no va a funcionar. Debes quitar el ";" al final del query.

Puedes simplificar tu query así:
select concat(p.ch_code, p.ch_subcode, p.usr_uid), p.vc_name
from talg_product as p, talg_clientproduct as c
WHERE p.ch_code=c.ch_code and p.ch_subcode=c.ch_subcode
and p.ch_subcode='00' and p.usr_uid is not null and c.ch_codeclient=@@txhIDCliente
By janiszapata
#795784
Buenos días @amosbatto,

Si, estoy usando la versión 3,

Image

Como me dijiste, el Id y la variable son "txhIDCliente", le quite el ";" pero sigue sin funcionar, lo corrí con Debug y el "txhIDCliente" esta jalando el código correspondiente, hago la consulta en el MYSQL y funciona sin problemas. Quisiera saber cual podría ser el problema, intente con @@ - @# - @= y sigue sin mostrarme los productos.

A la espera de tus comentarios, saludos!!

Gracias!! :)
User avatar
By amosbatto
#795789
La resolución de tu screenshot es muy baja y no puedo ver los detalles. ¿Has seleccionado un Database Connection en las propiedades de tu dropdown?
¿Qué tipo de base de datos estas usando?

¿Hay una diferencia si utilizas este query?:
select concat(p.ch_code, p.ch_subcode, p.usr_uid), p.vc_name
from talg_product as p, talg_clientproduct as c
WHERE p.ch_code=c.ch_code and p.ch_subcode=c.ch_subcode
and p.ch_subcode='00' and p.usr_uid is not null and c.ch_codeclient='@#txhIDCliente'

¿Funciona el query si lo ejecutas adentro de tu base de datos?

¿talg_clientproduct.ch_codeclient contiene caracteres que no son ASCII (como ñ, é, Ï)?

Crea un trigger con este codigo:
Code: Select all
$codeClient = 'XXXXXXXX'; //un valor en talg_clientproduct.ch_codeclient
#dbConnection = 'XXXXXXXXXXXXXXXXXXXXXXX'; //ID del Database Connection

$sql = "select concat(p.ch_code, p.ch_subcode, p.usr_uid), p.vc_name
from talg_product as p, talg_clientproduct as c
WHERE p.ch_code=c.ch_code and p.ch_subcode=c.ch_subcode
and p.ch_subcode='00' and p.usr_uid is not null and c.ch_codeclient='$codeClient' ";
@@result = executeQuery($sql, $dbConnection);
Y setea este trigger para ejecutar en tu proceso. Activa el Debug Mode en tu proceso y crea un caso para ver el valor de la variable @@result o chequear el valor de @@__ERROR__ despues de ejecutar el trigger.

También puedes chequear el archivo <install-directory>/shared/sites/<workspace>/log/processmaker-YYYY-MM-DD.log y puedes active el modo debug_sql en el archivo env.ini.
By janiszapata
#795799
Buenos días @amosbatto

Image

Ya hice lo indicado, pero sigue sin funcionar, el problema esta en la variable, borro la misma y me muestran los productos, lo pongo y el combo se queda en blanco.

Con respecto a tus preguntas, si, el query funciona sin problemas en la base de datos. No, ninguno de los productos tiene tilde o tiene ñ.

Espero me puedas seguir ayudando, gracias por la atención.

Saludos.
User avatar
By amosbatto
#795801
Si funciona el query, debe ser algo en tu DynaForm. ¿Puedes exportar tu DynaForm y publicarlo aca?
User avatar
By amosbatto
#795816
El problema es que campos ocultos (hidden) no pueden ser los campos independientes en queries de campos dependientes. En el wiki dice:
Note: Hidden controls cannot be used as the independent field in an SQL query. If not wishing to user to see the independent field, then create a text control whose value is used in the SQL query. Then, add JavaScript code to the DynaForm that uses the hide() method to hide the text control. For example, if the independent field has the ID "account", then the following JavaScript code will hide it:
Code: Select all
$("#account").hide();
http://wiki.processmaker.com/3.1/Depend ... figuration

Borra tu campo oculto "txhIDCliente". Y crea un campo de texto con la misma ID y variable "txhIDCliente". Puedes usar este query en tu campo:
Code: Select all
select concat(p.ch_code, p.ch_subcode, p.usr_uid), p.vc_name
from talg_product as p inner join talg_clientproduct as c
on p.ch_code=c.ch_code and p.ch_subcode=c.ch_subcode
and p.ch_subcode='00' and p.usr_uid is not null and c.ch_codeclient=@@txhIDCliente 

Y puedes ocultar el campo de texto con este JavaScript:
Code: Select all
$("#txhIDCliente").hide();
Want to create your own meme coin?

In the world of cryptocurrencies, a unique and exc[…]

The market for cryptocurrencies is demonstrating a[…]

What's SAP FICO?

Embarking on a dissertation can be one of the most[…]

Hello. For rental housing, there are software solu[…]