' ======== AVTOMAR EMARK ============= ' Texadrel frmVajarq->INFO-AfterUpdate KOD = Trim(Nz(Me!INFO)) ic heto ' Mas1. texadrel ' Copy skizb ' DataMatrix verlucel ' 010485000127420921H/s6x;'93VsbZ ' 0 4032900162454 vFx!ILFUjB6MW40 ' 000000 48515863 WWTvA83ZDhjSDBp ' KOD - Datamatrix kody Dim datamatrix As String datamatrix = "" If Len(KOD) >= 29 Then datamatrix = KOD If Left(KOD, 3) = "010" Then KOD = Mid(KOD, 4, 13) ElseIf Left(KOD, 6) = "000000" Then KOD = Mid(KOD, 7, 8) ElseIf Left(KOD, 1) = "0" Then KOD = Mid(KOD, 2, 13) End If End If ' Copy verj ' MAS2 Texadrel nujn moduli mej, ijnel nerev rst!Occupied = True ' ic heto avelacnel rst!EMark = datamatrix ' Texadrel sa .. Copy skizb Copy Verj ' =========================== AVTOMATI VERJY ================My Heart case vbKeyInsert KeyCode = 0 Set rst = Me!Cucak.Form.Recordset rst.Edit rst!EMark = InputBox("E-Mark") rst.Update ======================== ' =================== dnum e GS cody Function Grig(ByVal EM As String) As String ' By Kolya & Grig (Scan City), (E-Mark Operator company) https://e-mark.am/ ' Dnum e GS kody Dim L As Integer L = Len(EM) Grig = "" Select Case L Case 29 ' Papiloz GS chka Grig = EM Case 31 - 1 ' Kat+Kosmetica Grig = Left(EM, 24) & Chr(29) & Mid(EM, 25) Case 32 - 1 ' Oxi+Garejir Grig = Left(EM, 25) & Chr(29) & Mid(EM, 26) Case 36 - 1 ' Blokov papiloz Grig = Left(EM, 25) & Chr(29) & Mid(EM, 26) Case 38 - 1 ' Jur + Blokov jur+ Hjut Grig = Left(EM, 31) & Chr(29) & Mid(EM, 32) Case 78 - 2 ' Tsovamterq Grig = Left(EM, 24) & Chr(29) & Mid(EM, 25,6) & Chr(29) & Mid(EM, 31) Case 85 - 2 ' Duxi + karag Grig = Left(EM, 31) & Chr(29) & Mid(EM, 32,6) & Chr(29) & Mid(EM, 38) Case 92 - 2 ' Notebook + Phone Grig = Left(EM, 38) & Chr(29) & Mid(EM, 39,6) & Chr(29) & Mid(EM, 45) End Select End Function Function ValidateEMark(EM As String) As String ' By Kolya (E-Mark Operator company) https://e-mark.am/ ' Hanum enq GS kody Dim L As Integer Dim QTY As Byte, P1 As Byte, P2 As Byte ' Position ' pblGSCode - Scaneri GS codn e. Scanery petq e nastrojka anel vor nra GS (ASCII29) cody kam chkarda /hin scanerner/, kam CONVERSION exac lini "]", "",... symvolneri ' pblGScode = "" ValidateEMark = "" If Len(EM) = 29 Then QTY = 29 Else QTY = Len(EM) - Len(pblGScode) + 1 ' vorpeszi hamapatasxanecvi Kolyaji cucakin If QTY > 38 Then QTY = Len(EM) - 2 * Len(pblGScode) + 2 ' GS kody erku angam e handipum End If End If ' Aranqic hanum enq GS kody, tex ka 2 hata Select Case QTY Case 29 EM = EM ' do nothing for Tobaco Case 31 ' kat + kosmetika P1 = 2 + 14 + 2 + 6 + 1 ' GS kody pazician string-um..... 123456714222 - > P1=8 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode)) ' 01+GTIN(14)+21+SN(6) + ASCII(29) + 93 + KOD(4) Case 32 ' Oxi + Piva P1 = 2 + 14 + 2 + 7 + 1 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode)) Case 36 ' papiloz blokov P1 = 2 + 14 + 2 + 7 + 1 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode)) Case 38 ' Jrexen + Oxi Blokov P1 = 2 + 14 + 2 + 13 + 1 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode)) Case 78 ' Kanserva + Karag + Mis + dzuk P1 = 2 + 14 + 2 + 6 + 1: P2 = P1 + Len(pblGScode) + 2 + 4 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode), 2 + 4) & Mid(EM, P2 + Len(pblGScode)) Case 85 ' duxi karag jux + kakao+Kofe + krasitel + laq P1 = 2 + 14 + 2 + 13 + 1: P2 = P1 + Len(pblGScode) + 2 + 4 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode), 2 + 4) & Mid(EM, P2 + Len(pblGScode)) Case 92 ' Notebook + Telephone P1 = 2 + 14 + 2 + 20 + 1: P2 = P1 + Len(pblGScode) + 2 + 4 EM = Left(EM, P1 - 1) & Mid(EM, P1 + Len(pblGScode), 2 + 4) & Mid(EM, P2 + Len(pblGScode)) End Select ValidateEMark = EM ' 04850000000001abcabcd12345678 - 29 ' 010485000000000121abcabc93abcd - 31 ' 010485000000000121abcabce93abcd -32 ' 010485000000000121abcabce93abcdABCD -36 ' 010485000000000121ABCDEFGEFRTVG93ABCD -38 ' 010485000000000121ABCABC91ABCD92ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC - 75 ' 010485000000000121123456789012391ABCD92ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC - 85 ' 0104850000000001211234567890123456789091ABCD92ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC - 92 End Function ' GAGOR -- If IDV = 0 Then ' ========== Toxeri avelacum ev hanum ' 09.01.19 Avelacum Queriov DoCmd.SetWarnings False SQL = "INSERT INTO VajarqApranq ( IDVajarq, IDApranq, Qan, P1, P0, P2, HDMSent, Qan1, EMark )" SQL = SQL & " SELECT " & IDVNew & " AS IDVNew, TMPVajarqApranq.BarCode, TMPVajarqApranq.Qan, TMPVajarqApranq.P1, TMPVajarqApranq.P0, TMPVajarqApranq.P2, TMPVajarqApranq.Sent, TMPVajarqApranq.Qan1, TMPVajarqApranq.EMark" SQL = SQL & " FROM TMPVajarqApranq" SQL = SQL & " WHERE (((TMPVajarqApranq.KTR)=0) AND ((TMPVajarqApranq.Occupied)=-1));" CurrentDb.Execute SQL 'SQL = "UPDATE tblApranq INNER JOIN TMPVajarqApranq ON tblApranq.IDApranq = TMPVajarqApranq.BarCode SET tblApranq.Qanak = [tblApranq]![Qanak]-[TMPVajarqApranq]![Qan]" 'SQL = SQL & " WHERE (((TMPVajarqApranq.KTR)=0) AND ((TMPVajarqApranq.Occupied)=-1));" SQL = "UPDATE tblApranq INNER JOIN VajarqApranq ON tblApranq.IDApranq = VajarqApranq.IDApranq SET tblApranq.Qanak = [tblApranq]![Qanak]-[VajarqApranq]![Qan]" SQL = SQL & " WHERE (((VajarqApranq.IDVajarq)=" & IDVNew & "));" CurrentDb.Execute SQL ' DoCmd.OpenQuery "qryADD" ' Disabled 10.12.24 ' DoCmd.OpenQuery "qryHanel" DoCmd.SetWarnings True End If