|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Inicio → WINDEV 25 → Função iListPrinter não retorna algumas impressoras remotas |
Função iListPrinter não retorna algumas impressoras remotas |
Iniciado por Edson Alamino, nov., 01 2019 7:25 PM - 3 respostas |
| |
| | | |
|
| |
Publicado em novembro, 01 2019 - 7:25 PM |
Boa tarde !
Cenário: Computador A, com Win10, e impressora LB-1000 (etiquetas) devidamente instalada e compartilhada. Computador B, com Win Server 2008. Este computador B é o servidor da empresa, e onde eu instalei o servidor de WS. Neste computador B, consigo enxergar a impressora LB-1000 compartilhada pelo computador A, e consigo instalá-la sem problemas. Uma das rotinas do WS é retornar para o app Android (via iListPrinter), a lista de impressoras instaladas no PC (computador Ocorre que a função não retorna nada ! Ela não consegue "enxergar" a impressora que está instalada neste computador B (que está fisicamente conectada no computador A) Fiz testes com outros tipos de impressoras e o problema ocorre com umas e não com outras !!!
Julgando ser problema com driver de impressora ou SO bloqueando algum recurso, usei uma função do programa feito em xHarbour (GetPrinters()) e para minha surpresa, ela traz todas as impressoras que não são trazidas pelo iListPrinter (Windev)
Alguém já percebeu algo assim ? O que fazer ? Estou com esse abacaxi na mão, e no atual cenário de desenvolvimento dos projetos aqui, parei tudo pois esse é um recurso primordial, haja vista a necessidade de imprimir em impressoras remotas constantemente. |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 04 2019 - 10:51 AM |
Bom dia
GetPrinters
Tem no windev usando o comando Api Busque no help api Windows O windev tem todas as api detalhadas e funcionais Tenho certeza que isso é bem pontual |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 04 2019 - 3:04 PM |
Obrigado Ivan !
Sinceramente não encontrei nada a respeito.
Mas fiz algumas descobertas: a função iListPrinter quando chamada num executável Windows, retorna a impressora normalmente. Porém quando chamo a função iListPrinter de dentro de uma rotina de WS, não traz a impressora. Desconfio que seja alguma configuração faltando, ou alguma diretiva de segurança do Windows.
Continuo na busca pela solução. |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.651 mensagems Popularité : +175 (223 votes) |
|
Publicado em novembro, 06 2019 - 4:32 AM |
Solução
https://help.windev.com/en-US/?1011002&name=Report_on_printers_on_Web_server
Imprimindo um relatório sobre uma das impressoras conectadas ao Servidor Web visão global Para imprimir um relatório sobre uma das impressoras conectadas ao servidor Web, você deve: configurar o servidor Web. Esta configuração depende do tipo de impressoras usados (locais ou de rede). especificar a impressora para uso. imprimir o relatório. Nota : Este tipo de impressão é recomendado apenas para os sites de intranet. Como proceder? Configurar o servidor Web para as impressoras locais (servidores IIS Web apenas)
Para configurar o servidor Web para as impressoras locais (IIS apenas servidores Web): No IIS, usar uma conta local (IUSR) para as conexões anônimas. Este IUSR corresponde conta para a conta "guest Internet" e pertence ao grupo "Guest". Para saber a conta IUSR de servidor Web atual, consulte Como identificar a conta que executa o protocolo de AWP . Verifique se as impressoras utilizadas por esta conta IUSR tem permissão para imprimir (aba "Segurança" das propriedades da impressora). Nota : configuração específica Não é necessário para os outros tipos de servidores Web. Configurar o servidor Web para as impressoras de rede
Para configurar o servidor Web para as impressoras de rede: Dependendo do tipo de servidor Web utilizado: Em IIS , use uma conta de domínio para conexões anônimas. Essa conta deve pertencer ao grupo "convidado de domínio". Para saber a conta de domínio do servidor Web atual, consulte Como identificar a conta de domínio que executa o protocolo de AWP . Para o Apache , use uma conta do domínio. Para saber a conta de domínio do servidor Web atual, consulte Como identificar a conta de domínio que executa o protocolo de AWP . Verifique se a conta de domínio é permitido escrever no registro Regedt32: Inicie o Regedt32 ( "Start .. Run .. Regedt32" no desktop do Windows). Selecione "HKEY_LOCAL_MACHINE \ SOFTWARE \ PC SOFT \ Webdev \ 24.0". Selecione "Segurança .. Direitos". Verifique se a conta de domínio tem os direitos para criar chaves de registro ( "Controle Total"). Verifique se as impressoras podem ser acessados pelo servidor Web. Verifique se as impressoras usadas pela conta de domínio têm permissão para imprimir (aba "Segurança" das propriedades da impressora). Selecionando a impressora
Para selecionar a impressora: usar iConfigure . Nota : iListPrinter retorna a lista de impressoras locais instaladas no computador atual. especificar a impressora que será usada por padrão no administrador Webdev (botão "Configurar as impressões", aba "Configuração"). Imprimir o relatório
Para imprimir um relatório, use iPrintReport . Exemplo O relatório "RPT_ReportName" deve ser impresso em uma impressora local ou de rede. Os "LIST_PrinterList" listas de controle de impressoras locais e de rede acessível a partir do servidor Web. O botão "BTN_PrintReport" é usado para: configurar a impressora para uso. imprimir o relatório. Neste exemplo: o código de inicialização do controle "LIST_PrinterList" é a seguinte: // Adicione o impressoras de rede ListAdd (eu, "\\ Server1 \ HP 750" ) ListAdd (eu, "\\ Server2 \ Canon LBP-1000" ) // Adicione as impressoras locais ListAdd (eu, iListPrinter ()) o código do servidor clique do botão "BTN_PrintReport" é a seguinte: // Selecione a impressora utilizada iConfigure ( LIST_ PrinterList [ LIST_ PrinterList ]) // Imprimir o relatório iPrintReport ( RPT_ ReportName ) // Se nenhuma impressora for selecionada, // a impressão será feita na impressora selecionada // no administrador Webdev
Outro detalhe é poder criar uma porta lpt1 virtual mapeada com:
NET USE LPT1 \\REMASA_ADM\HPL1200
Se nao quiser a tela do ms dos tem como esconder com um exemplo que fiz e coloquei no repository
Hide Screem MS-DOS
https://repository.windev.com/resource.awp?file_id=281474976710850;msdos-hide-prompt-msdos-hide-screen
é importante estar a impressora compartilhada com nome curto e sem acento e espaço e estar visivel no windows pelo windows explorer
\\servidor\impressora
ou só \\servidor
e aparecer tudo o que tem compartilhado, daí só imprimir para a porta virtual mapeada
Lpt1
Copy file.txt Lpt1
Pode usar daí o comando copy podem ser usados para mandar para a impressora um relatorio
Com o exemplo esconde tela do ms dos que tem no repositório da pra fazer muita coisa
Ficando assim bem profissional
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, novembro, 06 2019 - 4:33 AM |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|