none
Añadir nuevo registro con la informacion seleccionada con un checkbox de mi grid, como nuevo registro en Genexus 9.0 RRS feed

  • Pregunta

  • Buenas tardes comunidad, me encuentro en busca ayuda en genexus no encuentro mucha información sobre lo siguiente:

    en mi pantalla me aparece información filtrada según mis datos de compañía mes y año, entonces me muestra el grid que esta con 4 registros, busco que al seleccionar sea cual sea el registro me agregue una linea nueva con esa info mas el usuario y fecha cuando se realizo, el problema es que me realiza en parte la función solo que nada mas me agrega si selecciono el ultimo registro , si es el primero o antes de el ultimo no me agrega nada no encuentro exactamente por que , entonces agradecería que me ayudaran no hay mucha info de genexus , desde ya muchas gracias por su atencion dejo mi codigo :

    tengo la siguiente pantalla:

    Con el siguiente codigo en mi work panel :

    Event 'Seleccionar Compañía'
        Call(WCNCIAS1, &CNUSERID,&NMRASTNOMCIA,&MB_CIASDSC )
        &NMRASTNOMCIA.Setfocus()
    EndEvent  // 'Seleccionar compañía'
    
    //=====================================================================================================================//
    
    Event 'Guardar'
      
    If  &Seleccionar_GRID = 1 
        For Each Line In GVDetalle   
          
        if &Seleccionar_GRID = 1
                    Do 'Guardar_Grid' 
                   
                    Msg('Proceso Terminado')
                      
                //If SEL ESTATUS     
                endif    
        Endfor
        Else
    
        Msg( 'Seleccione') 
        
        Endif 
        
         GVDetalle.Refresh()
          
        
        
    
    EndEvent  // 'Guardar'
    
    //=====================================================================================================================//
    
    Sub 'Guardar_Grid' 
        &CNUSERID = 'lvazquez'
        Call(PPNMRASTNOMFAC,&NMRASTNOMCIA_G,&NMRASTNOMGPO_G,&NMRASTNOMNOM_G,&NMRASTNOMANIO_G,&NMRASTNOMPER_G,&NRASTNOMCON_G,&NMRASTNOMTDOC,&NMRASTNOMNDOC,&NMRASTMOV_G,&CNUSERID) 
    EndSub
    
    //=====================================================================================================================// 
    
    Event GVDetalle.Load
    
    IF &NMRASTNOMANIO <> NullValue(&NMRASTNOMANIO)
                
                FOR EACH   
    
                 WHERE   NMRASTNOMCIA = &NMRASTNOMCIA
                 WHERE   NMRASTNOMPER = &NMRASTNOMPER
                 WHERE	 NMRASTNOMANIO = &NMRASTNOMANIO
                     
                                 
                                    &NMRASTNOMCIA_G = NMRASTNOMCIA
                                	&NMRASTNOMGPO_G = NMRASTNOMGPO
                                	&NMRASTNOMANIO_G = NMRASTNOMANIO
                                    &NMRASTNOMNOM_G = NMRASTNOMNOM
                                    &NMRASTNOMPER_G = NMRASTNOMPER
                                    &NMRASTNOMPREI_G = NMRASTNOMPREI
                                	&NMRASTNOMSTPRE_G = NMRASTNOMSTPRE
                                	&NMRASTNOMSTPREN_G = NMRASTNOMSTPREN
                                    &NMRASTNOMSTCIE_G = NMRASTNOMSTCIE
                                    &NMRASTNOMSTCIEN_G = NMRASTNOMSTCIEN
                                    &NMRASTNOMSTPOL_G = NMRASTNOMSTPOL
                                	&NMRASTNOMSTPOLN_G = NMRASTNOMSTPOLN
                                	&NMRASTNOMSTDIS_G = NMRASTNOMSTDIS
                                    &NMRASTNOMSTDISN_G = NMRASTNOMSTDISN
                                    &NMRASTNOMSTFAC_G = NMRASTNOMSTFAC
                                    &NMRASTNOMSTFACN_G = NMRASTNOMSTFACN
                                	&NMRASTNOMSTCOB_G = NMRASTNOMSTCOB
                                	&NMRASTNOMSTCOBN_G = NMRASTNOMSTCOBN
                                    &NMRASTNOMCLI_G = NMRASTNOMCLI
                                    &NMRASTNOMUSRPRE_G = NMRASTNOMUSRPRE
                                    &NMRASTNOMFPRE_G = NMRASTNOMFPRE
                                	&NMRASTNOMUSRCIE_G = NMRASTNOMUSRCIE
                                	&NMRASTNOMFCIE_G = NMRASTNOMFCIE
                                    &NMRASTNOMUSRPOL_G = NMRASTNOMUSRPOL
                                    &NMRASTNOMFPOL_G = NMRASTNOMFPOL
                                    &NMRASTNOMUSRDIS_G = NMRASTNOMUSRDIS
                                	&NMRASTNOMFDIS_G = NMRASTNOMFDIS
                                	&NMRASTNOMUSRFAC_G = NMRASTNOMUSRFAC
                                    &NMRASTNOMFFAC_G = NMRASTNOMFFAC
                                    &NMRASTNOMUSRCOB_G = NMRASTNOMUSRCOB
                                    &NMRASTNOMFCOB_G = NMRASTNOMFCOB
                                	&NMRASTNOMTRAS_G = NMRASTNOMTRAS
                                	&NMRASTNOMTRASN_G = NMRASTNOMTRASN
                                    &NMRASTNOMUSRTRAS_G = NMRASTNOMUSRTRAS
                                    &NMRASTNOMFTRAS_G = NMRASTNOMFTRAS
                                    &NRASTNOMCON_G = NRASTNOMCON
                                	&NMRASTNOMTDOC_G = NMRASTNOMTDOC
                                	&NMRASTNOMNDOC_G = NMRASTNOMNDOC
                                    &NMRASTMOV_G = NMRASTMOV
                                    &NMRASTCNUSERID_G = NMRASTCNUSERID
                                    &NMRASTFECHA_G = NMRASTFECHA
                               
                                      GVDetalle.Load()
    
                                ENDFOR
                             
                               
              ENDIF
    
    
    EndEvent  // GVDetalle.Load
    
    Event Start
    
    
    
    EndEvent  // Start
    

    y el siguiente codigo en mi transaccion :

    DO 'Reg'
    DO 'RegFac'
    
              sub 'Reg'
               
                for each (NRASTNOMCON)
                 
                 WHERE NMRASTNOMCIA = &NMRASTNOMCIA_G 
                 WHERE NMRASTNOMGPO = &NMRASTNOMGPO_G 
                 WHERE NMRASTNOMNOM = &NMRASTNOMNOM_G
                 WHERE NMRASTNOMANIO = &NMRASTNOMANIO_G 
                 WHERE NMRASTNOMPER = &NMRASTNOMPER_G 
                 WHERE NRASTNOMCON = &NRASTNOMCON_G 
                 WHERE NMRASTNOMTDOC = &NMRASTNOMTDOC 
                 WHERE NMRASTNOMNDOC = &NMRASTNOMNDOC
                 WHERE NMRASTMOV = &NMRASTMOV_G
                 
                 // NMRASTMOV = 'FAC'
                 
                 &NRASTNOMCON_G = NRASTNOMCON
                 
                 
                 exit
                 endfor 
    
                 &NRASTNOMCON_G = &NRASTNOMCON_G + 1
                 EndSub
                 
                 
                 Sub 'RegFac'
    
                 New
               
                 
                  NMRASTNOMCIA = &NMRASTNOMCIA_G 
                  NMRASTNOMGPO = &NMRASTNOMGPO_G 
                  NMRASTNOMNOM = &NMRASTNOMNOM_G
                  NMRASTNOMANIO = &NMRASTNOMANIO_G 
                  NMRASTNOMPER = &NMRASTNOMPER_G 
                  NRASTNOMCON = &NRASTNOMCON_G 
                  NMRASTNOMTDOC = &NMRASTNOMTDOC 
                  NMRASTNOMNDOC = &NMRASTNOMNDOC
                  NMRASTMOV = &NMRASTMOV_G
    
                 //NMRASTMOV = 'FAC'
                  NMRASTCNUSERID = &CNUSERID
                  NMRASTFECHA = serverdate()
                 
    
                     
                EndNew
               
                
    
                EndSub
    

    miércoles, 18 de septiembre de 2019 18:25