Bom dia, Alguém sabe alguma forma de capturar as impressoras que estão na sessão do usuário no Totvs/Datasul ? A saber meus usuário conectam em uma máquina terminal service para acessar o Totvs, sendo que temos 7 máquinas terminal service que ele pode acessar. E o nome da impressora muda conforme o terminal que ele acessa, ai não consigo pegar o nome completo da impressora para redirecionar impressão. Não posso mandar para impressora padrão. Veja exemplo em anexo.
DEFINE VARIABLE c-aux-nome-impressoras AS CHARACTER NO-UNDO. DEFINE VARIABLE i-aux AS INTEGER NO-UNDO. DEFINE TEMP-TABLE tt-impressora NO-UNDO FIELD nome AS CHARACTER. EMPTY TEMP-TABLE tt-impressora. ASSIGN c-aux-nome-impressoras = SESSION:GET-PRINTERS(). IF TRIM(c-aux-nome-impressoras) <> '' THEN DO: DO i-aux = 1 TO NUM-ENTRIES(c-aux-nome-impressoras): CREATE tt-impressora. ASSIGN tt-impressora.nome = ENTRY(i-aux, c-aux-nome-impressoras). END. END. FOR EACH tt-impressora: DISP tt-impressora.nome FORMAT 'x(100)' WITH SCROLLABLE. END. /*talvez isso resolva*/
Obrigado meu caro, matou a pau. Confesso que não conhecia o comando SESSION:GET-PRINTERS() mas seu código complementar me ajudou muito. Obrigadão.
Uma dica pra limpar aquela sua lista, nas opções do TS, desmarca compartilhar impressoras, dai na lista de impressoras do TS, só vai aparecer as impressoras do TS e as REDIRECT vão sumir.