Documento(Banco de Dados)

(system) #1

Este tipo de dado, poderia ter uma opção para selecionar o tipo de icone que gostariamos de apresentar na tela junto ao arquivo, pois em alguns tipo de arquivo o icone e representado com um ponto de interrogação(?), pois o ScriptCase não consegue identificar todos os tipo de arquivos existentes, por ex., eu tenho um tipo de arquivo que anexo no banco de dados que a extensão e .p7s, arquivo assinado digitalmente, o ScriptCase não reconhece e mostra (?).

Dorival

(Haroldo) #2

Crie um campo imagem html, e na onrecord ou onload, você move o tipo de imagem (icone) que deseja mostrar conforme a arquivo anexado.

(system) #3

Desculpe Haroldo, mas não entendi, quanto você fala de mover a imagem, pois fiz o seguinte:

{arquivoanexo} = {ximagem}.’ '.{arquivoanexo};

mas não fuincionou.

Obrigado pela Ajuda.

Dorival

(Haroldo) #4

Em seu formulario ou consulta, va em novo campo e crie um campo novo do timpo imagem html, Exemplo: {ico_ext_arquivo}

Supondo que o nome do campo que guarda o nome do arquivo ao qual vc fez upload é: {documento}
no Evento Onload:
//-----------------------------------------------------
$arr=explode(".",{documento});
if ($arr[1]=".DOC") { {ico_ext_arquivo}=“icodoc.jpg”;}
if ($arr[1]=".XLS") { {ico_ext_arquivo}=“icoxls.jpg”;}
if ($arr[1]=".TXT") { {ico_ext_arquivo}=“icotxt.jpg”;}
//-----------------------------------------------------

Na edição do formulairo no IDE do SC3 em configuração da aplcaação você faz o upload de todas as imagens ico???.jpg possiveis.

Se foi o que entendi, você quer mostrar um icone representativo do documento anexado (upload), isso deverá resolver, mas para isso voê tem que ter a extenão do arquivo guardada num campo da tabela.

(system) #5

Haroldo, mais uma vez, e obrigado pela atenção.

         A extensão do arquivo que você falou gravada na tabela, eu ja tenho no nome do arquivo, e só pegar, como no seu exemplo. Fiz o upload em Configurações da Aplicação de todas as imagens que preciso, mas quanto vou igualar o campo imagem que eu crei com a imagem que importei, ele não mostra nada no campo de imagem. Tenho a imagem com o simbolo do word com o nome icodoc.jpg importado na minha Aplicação. Gostaria de saber se tenho que ter gravado na tabela também o icone correspondente ao arquivo, pois já importei na aplicação.

o valor de meu campo documento é: exemplo.DOC

$arr=explode(".",{documento});
if ($arr[1]=".DOC") { {ico_ext_arquivo}=“icodoc.jpg”;}

echo {ico_ext_arquivo} —> ELE NAO MOSTRA NADA

se eu fizer: {ico_ext_arquivo} = “icodoc.jpg”; no onRecord

echo {ico_ext_arquivo} —> ELE MOSTRA icodoc.jpg

Dorival

(Haroldo) #6

Vou fazer um exemplo e posto para você, aguenta ai, vou tentar fazer hoje ainda.

(Haroldo) #7

Desculpa aí amigo, mas não consegui fazer o exemplo antes. Mas segue o mesmo agora:
para download da exportação do exemplo: http://www.centralsys.com.br/centralsys/download.php?view.4, neste estão as imagens, a query sql para criar a tabela, e o arquivo .zip para importação da aplicação.

Aqui segue duas formas de mostrar uma imagem (icone) conforme a extensão do arquivo anexado.
Na verdade a solução era mais simples do que eu pensava, pois eu ainda não tinha necessitado fazer upload de documentos, mas como sempre é válido a aprendizagem, segue as duas formas:
para executar o exemplo clique em http://www.centralsys.com.br/sc3forum/consulta_documento/.

Uma das formas foi criar um campo do tipo label para excutar a tag html image e mostrar a imagem, para esta, tive que copiar as imagens para a aplicação, no formulário a opção de fazer uploads de imagens funcionou (Aplição/Configuração) …

Nota: Para funcionar nesta forma não pode usar aplicação ajax (VELHO PROBLEMA QUE A NETMAKE NÃO RESOLVEU AINDA)
…mas em consulta esta opção não funciona (quem sabe o expert Alexandre da Netmake saiba por que, solicitem um suporte a ele) , tive que usar o sc_imagem, copiando as imagens para o diretorio …\devel\conf\sys\img\img da instalação scriptcase. Note que em formulário usar a opção de upload de imagens a serem usadas na aplicação , a mesma sofre uma alteração no nome (usr__NM__icopps.jpg no caso para a pasta de imagens user).
Em formulario no evento onload:
if (strrchr({nomearquivo},".")==".doc") {icone}="";
if (strrchr({nomearquivo},".")==".pps") {icone}="";
if (strrchr({nomearquivo},".")==".pdf") {icone}="";

em Consulta no evento on Init:

sc_image(icodoc.jpg,icopps.jpg,icopdf.jpg);

e no evento onRecord:

if (strrchr({nomearquivo},".")==".doc") {tipodocumento}="";
if (strrchr({nomearquivo},".")==".pps") {tipodocumento}="";
if (strrchr({nomearquivo},".")==".pdf") {tipodocumento}="";

Mas a solução ideal mesmo para o problema, e este surge porque o Scriptcase não possui todas as icones necessarias para representar a associação de um documento para isso basta criar a icone com o nome: nm_icon_pps.gif (no caso para extensão .pps) e jogar na mesma pasta da instalação do scriptcase: …\devel\conf\sys\img\img e usar a macro sc_image na oninit: sc_image(nm_icon_pps.gif);

Assim o icone de ? (arquivo desconhecido) será substituído pelo arquivo de imagem correto.

(Júlia Garbossa) #8

Olá,

Gostaria de saber se tem a possibilidade de desativar o APAGAR, do campo em caso de edição.

Fico no aguardo da dica.

(George Carvalho) #9

Meses atrás solicitei ao suporte que a opção APAGAR fosse opcional, a sugestão foi acatada mas até agora não vi a modificação.

George Carvalho

(Júlia Garbossa) #10

Aff precisava disso… obrigada pela resposta desde já George…