Hi,ùusing sambapos v3 we have an action that execute a .cmd file that execute a powershell… now in sambapos v5 we canno’t execute .cmd or bat file. so, can we execute the powershell directly from sambapos?
the powershell read a .txt file created by sambapos after the payment tipe selection and transfer the bill to the PMS…
we wrote a little mdb over a vpn connection.
If (Test-Connection 192.168.1.250 -count 1 -quiet) {
if (Test-Path C:\temp\prova.txt){
$a = (Get-Content C:\temp\prova.txt)
$camera = $a[4].Replace("Camera: ", "")
$codice = $a[5].Replace("Codice:", "")
$totale = $a[7].Replace("Totale:", "")
$totale_e = "€ "+$totale
$date = Get-Date
$data_completa = $date.ToShortDateString()
$gg=$data_completa.Substring(0,2)
$mm=$data_completa.Substring(3,2)
$aa=$data_completa.Substring(6,4)
$datenow=$aa+$mm+$gg
if (($camera -eq $null) -Or ($codice -eq $null) -Or ($totale -eq $null)) {
$a = new-object -comobject wscript.shell
$b = $a.popup("Non è stato possibile caricare tutte le informazioni in SistemaHotel",10,"Errore addebito in camera",0)
}else{
$adOpenStatic = 3
$adLockOptimistic = 3
$objConnection = New-Object -com "ADODB.Connection"
$objRecordSet = New-Object -com "ADODB.Recordset"
$objConnection.Open("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Z:\CONTO_CLIENTE.MDB")
$objRecordset.Open("Select * From Conto_Cliente", $objConnection,$adOpenStatic,$adLockOptimistic)
$objRecordSet.AddNew()
$objRecordSet.Fields.Item("NumeroHotel").Value = "1"
$objRecordSet.Fields.Item("CodiceCliente").Value = "$codice"
$objRecordSet.Fields.Item("NumeroCamera").Value = "$camera"
$objRecordSet.Fields.Item("DataAddebito").Value = "$datenow"
$objRecordSet.Fields.Item("NumeroConto").Value = "1"
$objRecordSet.Fields.Item("VoceFattura").Value = "1000"
$objRecordSet.Fields.Item("VoceAddebito").Value = "1000"
$objRecordSet.Fields.Item("Descrizione").Value = "BAR ESTERNO"
$objRecordSet.Fields.Item("Importo").Value = "$totale_e"
$objRecordSet.Fields.Item("Unitario").Value = "$totale_e"
$objRecordSet.Fields.Item("Quantità").Value = "1"
$objRecordSet.Fields.Item("Fatturato").Value = "S"
$objRecordSet.Fields.Item("DataFattura").Value = "$datenow"
$objRecordSet.Update()
$objRecordSet.Close()
$objConnection.Close()
}
Remove-Item C:\temp\prova.txt
}
}else{
$e = new-object -comobject wscript.shell
$f = $e.popup("Addebito non contabilizzato. Chiamare assistenza",60,"Errore connessione VPN",0)
}