Clarion - Pasar datos del escaner a un campo

 
Vista:
Imágen de perfil de Fabián
Val: 101
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Pasar datos del escaner a un campo

Publicado por Fabián (74 intervenciones) el 13/11/2018 20:15:11
Buenas tardes Foro de Clarion
Necesito si alguien me puede dar una mano con el manejo del escaner que lee código de barra.
Adjunto imagen del formulario: Dentro del list tengo el primer campo donde la lectora me guarda todos los datos obtenidos del código de barra. Utilizo la sentencia SUB y extraigo el código del artículo que necesito .
Ahora como hago para transferir el dato al campo código y que luego verifique que el artículo está o no.

Gracias foro y disculpas las molestias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Pasar datos del escaner a un campo

Publicado por Ricardo (196 intervenciones) el 14/11/2018 18:22:35
Estas usando un Edit in Place. Tienes que hacer la asignación de los campos en este. Mira el ejemplo INVOICE de Clarion, ahí viene bien detallado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabián
Val: 101
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Pasar datos del escaner a un campo

Publicado por Fabián (74 intervenciones) el 14/11/2018 19:04:48
Hola Ricardo me fijo a donde me decis

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabián
Val: 101
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Pasar datos del escaner a un campo

Publicado por Fabián (74 intervenciones) el 14/11/2018 20:03:01
Hola Ricardo
Estuve viendo EIP de clarion8.....me fije en el app y no me dice como debo asignar dentro de un EIP los campos
Me podes orientar un poco más
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Pasar datos del escaner a un campo

Publicado por Ricardo (196 intervenciones) el 15/11/2018 09:39:50
Este código de ayuda me lo escribí hara unos 18 años. Aun lo sigo usando de referencia cuando tengo que hacer algo de esto.
No lo tienes que usar todo, solo lo que interesa.
Para las inserciones pulsas sobre cualquiera de los Botones: Insertar, Editar, Suprimir del Browse y vas a Embeds.
Buscas:
-Local Objects
--Abc Objects
---EIP Field Manager for Browse Using ?List for field [Nombre del campo donde quieres hacer el calculo] (EditEntryClass)
----TakeEvent. Aquí pones el código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Init - 2500
  !EditInPlace
  SELF.Feq = CREATE(0,CREATE:Spin)
  ASSERT(~ERRORCODE())
  SELF.Feq{PROP:Text} = ListBox{PROPLIST:Picture,FieldNumber}
  SELF.Feq{PROP:Right} = 1
  SELF.Feq{PROP:Use} = UseVar
  SELF.Feq{PROP:Alrt,1} = TabKey
  SELF.Feq{PROP:Alrt,2} = ShiftTab
  SELF.Feq{PROP:Alrt,3} = EnterKey
  SELF.Feq{PROP:Alrt,4} = EscKey
  SELF.Feq{PROP:RangeLow} = -99999  !Controla el rango de Cantidad
  SELF.Feq{PROP:RangeHigh} = 99999
  RETURN
  PARENT.Init(FieldNumber,ListBox,UseVar)
 
Take Event - 2500
  !EditInPlace
  UPDATE(SELF.Feq)                        !UPDATE Q FIELD
  CASE Event                              !ESTAS LINEAS CONTROLAN LAS PULSACIONES DE TECLAS
  OF EVENT:AlertKey                       !  EN EL EDIT IN PLACE
    CASE KEYCODE()                        !
    OF EnterKey                           !
      CHK = 0
      DO CHK_FIELDS
      IF CHK = 1
        RETURN(EditAction:Complete)
      .
    OF EscKey                             !
      ACTION = 0
      RETURN(EditAction:Cancel)           !
    OF TabKey                             !
      RETURN(EditAction:ForWard)          !
    OF ShiftTab                           !
      RETURN(EditAction:BackWard)         !
    END                                   !
  END                                     !
  RETURN(EditAction:None)                 !
 
Take Event - 7500
  !EditInPlace
  UPDATE(SELF.Feq)
  IF ReturnValue AND ReturnValue <> EditAction:Cancel
    IF BRW8.Q.ALI:ALI05 = ''
      GlobalRequest = SelectRecord          !  modo de busqueda selectiva
      ShoArt                                !  muestra tabla para seleccionar
      IF GlobalResponse <> RequestCompleted !Si cancelaste la busqueda
        CLEAR(ART:RECORD)                   !  limpia variables
        ReturnValue = EditAction:None
      .
      BRW8.Q.ALI:ALI05 = ART:ART01
      BRW8.Q.ALI:ALI05A= ART:ART02
      BRW8.Q.ALI:ALI06 = 1
    .
    DO TERCERO
    EXISTE = 0
    ART:ART01 = BRW8.Q.ALI:ALI05            !Asigna valor para busqueda
    GET(RESART,ART:ART_1)
    IF ERROR()
      CLEAR(ART:RECORD)
      BRW8.Q.ALI:ALI05A = 'ARTICULO NO REFERENCIADO'
      DISPLAY
    ELSE
      EXISTE = 1
      IF ACTION = 1 OR BRW8.Q.ALI:ALI05 <> A_I:ALI05
        BRW8.Q.ALI:ALI05A= ART:ART02
        BRW8.Q.ALI:ALI06 = 1
        BRW8.Q.ALI:ALI07 = 0
 
        IF ALM:ALM02A <> 0 AND ALM:ALM02B <> 0 !TRASPASO
          BRW8.Q.ALI:ALI07 = ART:ART16
        ELSIF ALM:ALM04
          AR1:AR101 = ALM:ALM04
          AR1:AR102 = BRW8.Q.ALI:ALI05
          GET(RESAR1,AR1:AR1_1)
          IF ERROR()
            BEEP(BEEP:SystemHand)
            MESSAGE('Artículo: ' & ART:ART01 & 'No existe en Proveedor','ATENCION',ICON:Hand)
          ELSE
            BRW8.Q.ALI:ALI07 = AR1:AR103
            BRW8.Q.ALI:ALI07A= AR1:AR105
        . .
        IF BRW8.Q.ALI:ALI07 = 0
          BRW8.Q.ALI:ALI07 = ART:ART17A
          BRW8.Q.ALI:ALI07A= ART:ART14
        .
  . . .
  DISPLAY
 
CHK_FIELDS routine
    IF BRW1.Q.CA_:CAB01 = ''
      BEEP(BEEP:SystemHand)
      MESSAGE('Debe especificar Código','ATENCION',ICON:Hand)
      SELECT(?)
      EXIT
    .
    CHK = 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar