Autor Tópico: Gerar registro de protocolo de cliente  (Lida 4409 vezes)

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Gerar registro de protocolo de cliente
« Online: Setembro 05, 2013, 05:45:55 pm »
Ola pessoal,

Preciso fazer um campo prontu[ario inicie com  PRON000000, como faço isso?

Vi no   Valor no Banco de Dados em  Configuração Geral: id_paciente, coloquei na iser;áo - Aotoincrement Automatico,  no nome da sequencia PAC000001, mas náo funciona.

Tem alguma outra forma?

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Gerar registro de protocolo de cliente
« Responder #1 Online: Setembro 05, 2013, 05:49:32 pm »
Nas propriedades do campo têm opção para mudar Valor inicial (tipo) mude para "valor definido".
Após informe em Valor inicial (campo que abrirá abaixo).

Att,

Jocimar
Jocimar de Oliveira

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #2 Online: Setembro 05, 2013, 08:39:38 pm »
Ola pessoal,

Preciso fazer um campo prontu[ario inicie com  PRON000000, como faço isso?

Vi no   Valor no Banco de Dados em  Configuração Geral: id_paciente, coloquei na iser;áo - Aotoincrement Automatico,  no nome da sequencia PAC000001, mas náo funciona.

Tem alguma outra forma?

Qual banco você esta usando? Essa opção de nome da sequencia só funciona com banco que tem essa opção, por exemplos Postgres e Oracle que eu conheço.
Você precisa armazenar o protocolo nesse formato ou apenas mostrar na tela formatado dessa forma? Eu tenho um esquema parecido usando uma função do próprio php mais ou menos assim, uso o autoincremento do campo e concateno com uma string que é o prefixo do meu protocolo:

Código: [Selecionar]
{campoaexibir} = str_pad('25', 5, "0", STR_PAD_LEFT);

Isso exibira o número 25 como 00025, então pra ter um string antes eu apenas concateno:
Código: [Selecionar]
{campoaexinir} = "PRON".str_pad('25', 5, "0", STR_PAD_LEFT);
A saída será PRON00025, lembrando que se quiser armazenar assim é só fazer a mesma coisa só na gravação do banco, mas não dará pra salvar no autoincremento assim, precisará usar um campo com char ou varchar.


adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #3 Online: Setembro 07, 2013, 11:42:51 am »
O meu banco é mysql

Saulo, nao tenho muita experiencia em programação, aonde eu coloco esta string?
O campo numero_paciente e um campo varchar.
Poderia me auxiliar ?
« Última modificação: Setembro 07, 2013, 12:07:05 pm por acombat »

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #4 Online: Setembro 16, 2013, 10:47:37 am »
alguem poderia me ajudar neste problema?

nao entendi muito bem, rs

Obrigada.

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Gerar registro de protocolo de cliente
« Responder #5 Online: Setembro 16, 2013, 11:22:50 am »
A forma como Saulo colocou está "filezinho"!

Att,

Jocimar
Jocimar de Oliveira

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gerar registro de protocolo de cliente
« Responder #6 Online: Setembro 16, 2013, 12:21:58 pm »
Jaqueline,


Onde fica sua duvida no exemplo dado?

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #7 Online: Setembro 16, 2013, 01:30:55 pm »
Não sei onde coloco estes dados, não tenho muito conhecimento e não sei se ainda esta faltando algum dado no q o Saulo Explicou.

« Última modificação: Setembro 16, 2013, 01:35:24 pm por acombat »

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gerar registro de protocolo de cliente
« Responder #8 Online: Setembro 16, 2013, 01:41:59 pm »
Jaqueline,

A sugestão aqui, é ao salvar o registro na tabela você não faça nada,

mas ao exibir (onload) você cria um campo manual (virtual como o pessoal tem chamado) e atribui  a constante "PRON" concatenada como  prefixo com seu campo id (incremental) como sugere o Saulo.




adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #9 Online: Setembro 16, 2013, 01:47:34 pm »
Entao {campoaexinir} = "PRON".str_pad('25', 5, "0", STR_PAD_LEFT); devo incluir no evento onload do campo que quero exibir, correto?

Realmente aparece no campo pron00000, mas ele não gera automaticamente outra numeração quando inclui outro registro.

Ta faltando mais alguma configuração?
« Última modificação: Setembro 16, 2013, 01:56:38 pm por acombat »

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gerar registro de protocolo de cliente
« Responder #10 Online: Setembro 16, 2013, 01:58:15 pm »
Querida,

Você ainda esta com dificuldade de entender os eventos e quando eles ocorrem.

Num aplicação de formulário o evento onload ocorre antes de carregar os dados na tela.

Vá em Eventos: Onload ou OnLoadrecord se for um formulário múltiplos registros.

Os conceitos básicos do SC são primordiais.

Você precisa ou fazer um curso básico do SC  ou assistir os videos, assim poderemos te ajudar muito mais.

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #11 Online: Setembro 16, 2013, 02:22:23 pm »
Haroldo,

estou fazendo um curso sim, mas ainda nao chegou nesta parte.

Fiz oq o Saulo informou, so que o não está inserindo registro com numeros diferentes, ele informa o mesmo.

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gerar registro de protocolo de cliente
« Responder #12 Online: Setembro 16, 2013, 02:30:00 pm »
Hum.
Seu campo é uma chave primaria?
Esta informado no banco que ''e autoincremento?

Se você adicionar um registro pelo banco de dados diretamente o autoincrimino funciona?

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #13 Online: Setembro 16, 2013, 02:50:06 pm »
Meu campo id_paciente esta como autoincremente. é inteiro e está como chave primária.

Eu adiciono um registro e ele informa o id_paciente como 96, mas visualmente ele é o pron00025.

isso q não estou entendendo.

Insiri dados direto no banco e ele registrou normalmente como id 98, ta funcionando direitinho.

« Última modificação: Setembro 16, 2013, 02:56:48 pm por acombat »

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Gerar registro de protocolo de cliente
« Responder #14 Online: Setembro 16, 2013, 02:56:51 pm »
Experimente assim:

{campoaexinir} = "PRON".str_pad({id_paciente}, 5, "0", STR_PAD_LEFT)
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net