Como pasar un SetFilter con dos valores, siendo uno de ellos un espacio

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Autor
    Entradas
  • #1020730
    juanjo.mauriz
    Participante

    Hola, buenas noches.

    Resulta que estoy creando un report, de facturas y del cual extraigo datos de la tabla “Cust. Ledger Entry” para hacer una trazabilidad y saber si esta pagada o no.
    Mi sorpresa es que quiero poner un filtro del campo “Document Situation” que es un combo con opciones, este es el código original de la tabla…

    field(7000001; “Document Situation”; Option)
    {
    Caption = ‘Document Situation’;
    OptionCaption = ‘ ,Posted BG/PO,Closed BG/PO,BG/PO,Cartera,Closed Documents’;
    OptionMembers = ” “,”Posted BG/PO”,”Closed BG/PO”,”BG/PO”,Cartera,”Closed Documents”;
    }

    Yo pongo el filtro de la siguiente manera…

    MovCliente.SetFilter(“Document Situation”, ‘ |Cartera’); <————- Hay un espacio en blanco para los que no tienen asignado una situación específica.

    Ya que solo quiero mostrar lo que este vacío o en Cartera y desestimar el resto de procesos.

    Pues no quiere ir este filtro, porque cuando lo compilo y lanzo el código cuando llega a este punto me dice el siguiente mensaje:

    El filtro ” |Cartera” no es válido para el campo Situación documento de la tabla Mov. cliente. El lado izquierdo de los operadores ‘|’ no puede estar vacío.

    Pero da igual si lo pongo a la derecha o a la izquierda, que siempre me dice lo mismo que no puede estar vacío, pero no está vacío ya que hay un espacio en blanco.

    No se que puede ser.

    Agradezco cualquier iluminación, porque llevo alguna que otra hora intentando entender que puede ser el fallo.

    No pongo código, porque solo quiero saber como filtrar el dato, solo eso y claro, que funcione bien y no de error.

    Espero vuestros comentarios.

    Saludos y gracias!!!

    • Este debate fue modificado hace 4 años, 3 meses por juanjo.mauriz.
    • Este debate fue modificado hace 4 años, 3 meses por juanjo.mauriz.
    #1020733
    Laura Nicolàs
    Superadministrador

    Hola Juanjo

    Tendrias que ponerlo así:

    CustLedgerEntry.SetFilter(“Document Situation”,’%1|%2′,CustLedgerEntry.”Document Situation”::” “,CustLedgerEntry.”Document Situation”::Cartera);

    %1 se reemplazará con el primer valor después de la coma.
    %2 se reemplazará con el segundo valor.

    Salut!
    Laura Nicolàs

    #1020739
    juanjo.mauriz
    Participante

    Buenos días Laura.

    Eso es exactamente lo que tenía que hacer y que funciona perfectamente.

    Interesante el “::”…

    Saludos y muchas gracias!!!

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.

10 cursos gratis, sin tarjeta

Accede a los cursos Gratis de Business Central

Instalación, ventas, fabricación y Power BI.

Acceso inmediato, sin límite de tiempo.