Multiplos UPLOAD

olá pessoal tudo bem? espero que sim. Tenho uma aplicação de formulario em uma tabela_master que contem um campo uploadfile que insere arquivos documentos pdf em uma tabela_detalhe. ao inserir arquivos duplicados na table detalhe, o banco de dados gera uma mensagem de exception e o scriptcase apresenta a mensagem na tela. Bem, até aqui tudo certo. Na verdade eu gostaria de manipular o texto da mensagem antes que ela fosse apresentada na tela para que fique mais claro para o usuario.
ou que eu pudesse ter acesso aos documentos que foram selecionados para serem gravados no banco de dados antes de serem enviados de forma que eu pudesse tratá-los no client e nao no server como esta hoje.
Outra coisa, as macros sc_error_message somente tratam erros na tabela master e o problema ocorre na tabela detalhe.
tem alguma ideia de como poderia fazer isso? desde ja obrigado.

Ajuste em Idiomas o texto desejado.

O problema nao é o texto é o texto da mensagem e sim onde (em qual evento) ocorre para que u possa tratar a mensagem padrao por outro alert por exemplo.

A janela de erro que aparece é de javascript?
Eu não tenho como simular essa opção.

Haroldo, no manual do sc temos:

Ex. 1: Utilizando o evento onInsert para tratamento de mensagem devolvida por uma trigger do mssql, que cancela a inclusao do registro e manda uma mensagem de erro no formato: [Microsoft][ODBC SQL Server Driver][SQL Server] Você não pode incluir este registro.

sc_error_continue(“inserir”);
if (!empty({sc_erro_insert}))
{
$tmp = strrpos({sc_erro_insert}, “]”);
if ($tmp !== false)
{
{sc_erro_insert} = substr({sc_erro_insert}, $tmp + 1);
}
sc_error_message({sc_erro_insert});
sc_erro_exit;

isso nao deveria funcionar? pelo que entendi lendo o manual, a sc_error_continue recupera a mensagem de erro retornada por uma exception no banco de dados, armazena a mensagem na variavel sc_erro_insert e ai ou modifico a mensagem e apresento da minha forma seja até mesmo utilizando um alertifyJS. nao seria assim?

Haroldo, me ajude ai por favor … :frowning:

Existem os eventos onbeforeinsert e onafterinsert. Desconheço evento oninsert no SC.

Seu banco de dados é MSSQL?

Você utiliza triggers para validação?

Haroldo obrigado por responder.
O banco de dados é PostGres e uso uma trigger para testar a duplicidade de arquivos inseridos no multi upload.
quando ocorre uma duplicidade a trigger gera um exception. Dai acredito que não tem
relevancia o tipo de banco de dados.

att
carlos

Então, a documentação não diz claramente para quais bancos esse macro funciona mas tenho a impressão de estar subentendido que seria somente para MSSQL.

Veja com atenção:
https://www.scriptcase.com.br/docs/pt_br/v9/manual/14-macros/01-visao-geral/#sc_error_delete

Na quarta linha escrita:

Ex. 1: Conteúdo da variável {sc_error_delete}, retornando uma mensagem de erro gerada por uma triger do banco de dados usando MsSQL.

É bem verdade que a documentação não explicita a utilização desse recurso e para quais bancos de dados funcionam.

Vale solicitar a Netmake melhorias na documentação do SC.

Olá Harold.
consegui falar com o suporte NMake. Realmente há um erro no manual, poir nao é inserir e sim insert.
Em relação ao banco de dados, a macro sc_error_continue , pode ser utilizada em qualquer um.

o que ela faz é somente guardar a mensagem de erro na variavel global correspondente a operação no banco de dados e assim podemos tratar a mensagem da forma que quisermos nos eventos afterinsert, update ou delete…

obrigado pelo apoio.

ainda continuo sem saber como utilizar as bibliotecas de mensagens customizadas, como alertfifyJS, SweetAlert, JQuery-confirm. Todas são muito interessantes, mas ainda nao consigo usar.

Não sei por que a NM nao incorpora isso no SC?

att
carlos

temos sc_ajax_message para enviar alertas em eventos ajax.

SweetAlert não dá suporte, não funciona em modo mobile, mas em modo desktop é possível sim implementar:

Um exemplo com SA:
https://v9.infinitusweb.com.br/forum_sc/control_test_sweetalert

Em situações que o evento está ocorrendo em ajax alertas javascript não funcionam nem Jquery.
Temos a macro sc_ajax_javascript que funciona em alguns eventos ajax.