i have a problem when printing a text file from AX2012 R3 to a specific printer. Here is my source:
public void printToPrinter(str _text, str printerName)
{
#File
System.Diagnostics.ProcessStartInfo processInfo;
System.Diagnostics.Process process;
System.Exception interopException;
TextIo textIo;
PrintPathTable printPath = PrintPathTable::find();
str fileName, arguments;
FileIoPermission perm;
try
{
// Get the path and name.
fileName = this.getGuid();
fileName = strFmt(@'%1%2',printPath.PrintPath, fileName);
// Assert permission.
perm = new FileIoPermission(fileName,'RW');
perm.assert();
// Open file for writing.
textIo = new TextIo(fileName, #IO_WRITE);
textIo.write(_text);
// Close the file.
textIo = null;
arguments = '\"' + printerName + '\"';
process = new System.Diagnostics.Process();
processInfo = process.get_StartInfo();
processInfo.set_Verb('printto');
processInfo.set_UseShellExecute(true);
processInfo.set_Arguments(arguments);
processInfo.set_FileName(fileName);
processInfo.set_WindowStyle(System.Diagnostics.ProcessWindowStyle::Hidden);
process.set_StartInfo(processInfo);
process.Start();
// revert asserted permissions
CodeAccessPermission::revertAssert();
}
catch(Exception::CLRError)
{
interopException = CLRInterop::getLastException();
while (!CLRInterop::isNull(interopException.get_InnerException()))
{
interopException = interopException.get_InnerException();
}
error(strFmt('Fehler Druck "%1", "%2"', fileName, CLRInterop::getAnyTypeForObject(interopException.get_Message())));
}
}
I get the error message every time in the process.Start()
: The specified file is not assigned to an application.
I also checked the assignment on the AOS for the extension .txt. The method is run on Server.
I have proceeded according to the following examples:
Ok, I've tricked myself,
I have checked the file assignments with my personal login on the AOS. Here the assignments were correct, but the source is executed with the AOS service user. The assignment was not set for the AOS service user. Probably by installing a third-party software.According to the assignment of the .txt to the notepad, it runs as desired.
Thanks to all who have considered