Python Script vorzeitig verlassen

Dieses Forum ist für alle NiceLabel Fragen für die deutschen Benutzer.

Moderators: Georges, milos, RobertK, NiceLabel Support Team

Post Reply
Ronny Witzgall
Newcomer
Posts: 4
Joined: Fri Jun 19, 2020 10:32 am

Python Script vorzeitig verlassen

Post by Ronny Witzgall » Wed Jun 02, 2021 11:44 am

Hallo ich habe eine Solution, die eigentlich nur eine Textbox mit Variable und eine Funktion als Python Script hat.
Wird die Solution gestartet, wird aber das Python Script direkt ausgeführt. Was wirklich verstörend ist.

Um das zu umgehen, wollte ich die Länge der Varaible im Python Script abfragen und einfach das Script verlassen, weil es nämlich mit leerer Variable auch nicht zu drucken gibt. Aber quit(0) kann ich nicht verwenden oder exit(0). Es kommt immer die Fehlermeldung quit exit ist unbekannt. Auch funktioniert der Import nicht richtig.

Mit

Code: Select all

Import datetime, os
kommt immer die Fehlermeldung No module named os. In der Abfrage unter den Variablen habe ich versucht irgendwie abzubrechen. Hier mal das Script:

Code: Select all

import datetime, os

#Variablen
Etikett = V_AusgewaehltesEtikett.Value
EtikettFile = ''
SNKomplett = V_Eingabe.Value
OrderNumber = '9999999'
SN = ''
Version = ''
Suffix = ''
Printer = 'Mach4_Sonderetikett'

if len(SNKomplett) < 17:
	Result.Value = "1"

#Welches Etikett wurde ausgewählt?
if Etikett == "PWCMOD-10":
	EtikettFile = "http://servername/Montage/Labels/PWCMOD-10.nlbl"
elif Etikett == "SC30APP.BG2":
	EtikettFile = "http://servername/Montage/Labels/SC30APP_BG2_10x20_dm_bgr_pb.nlbl"

#Ist es SN3?
if SNKomplett.find("0000") == 0:
	SN = SNKomplett[0:14]
else:
	OrderNumber = SNKomplett[0:7]
	SN = SNKomplett[7:14]


#Generell Version und Suffix holen
Version = SNKomplett[14:16]
Suffix = SNKomplett[16:19]

#Datei erzeugen
#Dateiname als MontagePrint_Datum_SN.csv
Date = datetime.datetime.now()
JobFileName = '\\\\pathToJobFile\\_print\\montage\\' + SN + '.csv'
if DoesFileExist(JobFileName) == True:
	DeleteFile(JobFileName)

CreateFile(JobFileName)

with open(JobFileName, "a") as file:
	#Hier die Kompfzeile
	file.write("@Label,@Printer,@Quantity,@Skip,@IdenticalCopies,V_OrderNumber,V_SN14,V_Version,V_Suffix\n")
	#Hier der Inhalt, also die einzelnen Variablen
	file.write(EtikettFile + "," + Printer + ",1,0,1," + OrderNumber + "," + SN + "," + Version + "," + Suffix)

Result.Value = "0"

Rainer
Enthusiast
Posts: 14
Joined: Mon Oct 15, 2018 1:03 pm

Re: Python Script vorzeitig verlassen

Post by Rainer » Fri Jun 04, 2021 2:11 pm

Hallo,
in Nicelabel kannst du das Ausführen jeder Aktion mit einer Bedingung verbinden.
Nur wenn die Bedingung erfüllt ist wird die Aktion ausgeführt.
In deinem Fall müsste man prüfen ob die Variable ungleich leer ist.
z.B. V_Eingabe <> ""


weitere Hilfen von

Rainer Huwer
reconon GmbH
Anschrift: Julius-Probst-Str. 1, DE-66459 Kirkel-Limbach
Telefon: +49 6841 7777-834
Telefax: +49 6841 7777-839
Mobil: +49 1761 6777-834
E-Mail: rainer.huwer@reconon.de
Home: www.reconon.de

Ronny Witzgall
Newcomer
Posts: 4
Joined: Fri Jun 19, 2020 10:32 am

Re: Python Script vorzeitig verlassen

Post by Ronny Witzgall » Mon Jun 07, 2021 11:05 am

Hallo Rainer,

danke für die Hilfe. Hat tatsächlich etwas gebracht. Beim Start des Formulars, scheint sich der Inhalt der Textbox von "" zu "" :lol: zu ändern. Was dann den Event auslöst. Wieso auch immer. Die Prüfung der Variable verhindert dann das Ausführen des Scripts. :?

User avatar
Mytch
NiceLabel Support
NiceLabel Support
Posts: 212
Joined: Fri Jul 13, 2018 10:26 pm
Location: Milwaukee, Wisconsin
Contact:

Re: Python Script vorzeitig verlassen

Post by Mytch » Mon Jun 07, 2021 3:16 pm

Hello,

Sorry to reply in English, but please install Python 2.7 and PyWin32 according to this article if you need to import os module:
https://www.nicelabel.com/support/knowl ... ing-python

NiceLabel 2017 and NiceLabel 2019 use IronPython implementation, which does not have all the same support/modules as full Python 2.7 or Python 3 deployments. We have some other tips about using Python in NiceLabel here:
https://www.nicelabel.com/support/knowl ... web--cloud

Regards,
Mytch

Post Reply