Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Силblч
ага, как в старые добрые времена ;)
там не очень сложно, если устройство нормально работает через ;)

ну например:



Public Function fnGoodsToEcr()
    Dim ECRFisc As Object
    Dim res As Variant, ret As Variant
    Dim db As Database
    Dim rs As Recordset
    On Error GoTo err233
    If MsgBox("Решили перепрограммировать артикулы в ЭККА?" & vbCrLf & _
              "Помните: артикулы не могут быть перепрограммированы до Z-отчета", vbYesNo, "Подтвердите") = vbNo Then Exit Function
    SetWait True
    Set db = CurrentDb()
    db.Execute "delete * from ecr_goods", dbFailOnError
    db.Execute "add_price", dbFailOnError
    
    Set rs = db.OpenRecordset("ecr_goods", dbOpenDynaset)
    
    Set ECRFisc = CreateObject("DatecsECR.TECRFisc")
    res = ECRFisc.SetComPort(Nz(GetProperty("ecrCOM"), 1), Nz(GetProperty("ecrBoud"), 19200))
    If ECRFisc.IsPresent() = True Then
        If Not rs.EOF Then rs.MoveLast: rs.MoveFirst
        ret = SysCmd(acSysCmdInitMeter, "Выполнено: ", rs.RecordCount)
        Do While Not rs.EOF
            res = ECRFisc.ProgramArt(rs.Fields("itax").Value, rs.Fields("ecr_code").Value, _
                                     rs.Fields("grp").Value, rs.Fields("price").Value, _
                                     Nz(GetProperty("usrPName"), "0000"), Left(Trim(rs.Fields("sun_desc").Value), 24))
            If ECRFisc.GetError() <> 0 Then
                MsgBox "Не удалось запрограммировать артикул " + Trim(rs.Fields("sun_code").Value) & vbCrLf & _
                       "цена: " & rs.Fields("price").Value & vbCrLf & _
                       "код в ЭККА: " & rs.Fields("ecr_code").Value, _
                       vbExclamation, "Внимание"
                       GoTo errProgArt
            End If
            DoEvents
            ret = SysCmd(acSysCmdUpdateMeter, rs.AbsolutePosition + 1)
            rs.MoveNext
        Loop
        SetWait False
        res = ECRFisc.CloseComPort(Nz(GetProperty("ecrCOM"), 1))
        MsgBox "Артикулы запрограммированы успешно", vbInformation, "Сообщение"
    Else
errProgArt:
        SetWait False
        MsgBox "Не удалось обнаружить подключенный ЭККА", vbCritical, "Сообщение"
        res = ECRFisc.CloseComPort(Nz(GetProperty("ecrCOM"), 1))
    End If
    Exit Function
err233:
    SetWait False
    MsgBox Err.Description, vbExclamation, "Err# " & Err.Number
    Exit Function
End Function


так што чем смогу- помогу :)


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.