Page 1 of 1

Validar duplicidad en grid

Posted: Fri May 15, 2020 2:59 am
by jorge.posadas
Grupo,

Estoy creando una pantalla en donde se captura las ventas del día, y por cada captura voy llenando un grid para que el usuario vea lo que ha capturado, sin embargo tengo el problema que si el usuario capturo la venta número 120, y más adelante vuelve a capturar ese mismo número de vanta, ¿como valido que en grid BUSQUE si ya existe ese número? esto es para evitar que se capture más de una vez un mismo número de venta.

De antemano agradezco la ayuda.

Re: Validar duplicidad en grid

Posted: Fri May 15, 2020 10:26 am
by mustafa
Si colocas un Contador de Captura no se repetirá
duplicidad de Captura, mira este Sample de Contador

Code: Select all


#include <hmg.ch>

*  Modified by   Mustafa López  Alicante (Spain)
  
*-----------------------------------------------*
FUNCTION MAIN   
*-----------------------------------------------*
  SET CODEPAGE TO SPANISH
  SET LANGUAGE TO SPANISH
  SET EXCLUSIVE ON  
  SET CENTURY ON
  SET DATE FRENCH
  SET DATE FORMAT TO 'dd/mm/yyyy'
  SET EPOCH TO 2000
  SET ESCAPE ON
  SET DELETED ON
  SET NAVIGATION EXTENDED
  SET SOFTSEEK ON  
  SET DECIMALS TO 0
  SET TOOLTIPSTYLE BALLOON

  PRIVATE apar_5 := 0

 IF !FILE("numerato.mem") 
     apar_5 := apar_5 + 1    
     apar_2 := STRZERO( apar_5 ,5)     
     apar_3 := DTOC(DATE())
     apar_4 := TIME()
     SAVE TO numerato.mem ALL LIKE apar_*
 ELSE
   
     RESTORE FROM numerato.mem ADDITIVE
 
  apar_5 := apar_5 + 1 
  apar_2 := STRZERO( apar_5 ,5)     
  apar_3 := DTOC(DATE())
  apar_4 := TIME()
 
  SAVE TO numerato.mem ALL LIKE apar_*

 ENDIF

  RESTORE FROM numerato.mem ADDITIVE

  MsgInfo( apar_5 )
  MsgInfo( apar_2 )

/*
  Para Salvar la Captura de Pantalla 
  RESTORE FROM numerato.mem ADDITIVE

   numeroQ := ALLTRIM( STRZERO( apar_5 ,5) )
   cNunPho := "Photo\"+ numeroQ +".jpg"

  apar_5 := apar_5 + 1 
  apar_2 := STRZERO( apar_5 ,5)     
  apar_3 := DTOC(DATE())
  apar_4 := TIME()
   SAVE TO numerato.mem ALL LIKE apar_*
*/

Return Nil
Mira : https://www.hmgforum.com/viewtopic.php? ... Cam#p60219
==>> WebCamPhoto.zip

Saludos
Mustafa

Re: Validar duplicidad en grid

Posted: Fri May 15, 2020 1:40 pm
by danielmaximiliano
Simple, el usuario puede capturar las veces que quiera una misma factura ya que la captura contiene en orden de facturacion o/u orden de la numeracion de la factura.. espero se comprendalo. lo mismo es valido para los remitos

Re: Validar duplicidad en grid

Posted: Fri May 15, 2020 6:16 pm
by martingz
Jorge puede que sea una manera algo muy basico, pero yo validaria cuando ingreses el numero de la factura ,buscaria recorriendo los valores del grid

for y =1 to form.grid.itemcount
aValues:=form.grid.item(y)
if aValues[X] = form2.textnumfac.value

endif
next

algo asi

saludos

Re: Validar duplicidad en grid

Posted: Fri May 15, 2020 11:02 pm
by jorge.posadas
Lo resolvi, gracias a la sugerencia de Martin


// Reviso si no existe una venta previamente capturada
FOR venta := 1 TO Frm_Nota_Venta.Grd_Nota_Venta.ItemCount
IF ALLTRIM(Frm_Nota_Venta.Grd_Nota_Venta.Cell(venta,1)) == ALLTRIM(Frm_Nota_Venta.Txt_Serie.Value) .AND. +;
ALLTRIM(Frm_Nota_Venta.Grd_Nota_Venta.Cell(venta,3)) == ALLTRIM(STR(Frm_Nota_Venta.Txt_Numero_Nota.Value))
MsgExclamation("Ya existe ese número de venta con ese número de serie","Corriga")
Frm_Nota_Venta.Txt_Numero_Nota.SetFocus
RETURN
ENDIF
NEXT venta

Re: Validar duplicidad en grid

Posted: Sat May 16, 2020 6:03 am
by mol
It would be easier to build your grid as a VIRTUAL.
In this case you have data in a table and you case use ASCAN function.