[Música] vamos lá pessoal muito boa noite Vamos iniciar um tema aqui eh na nossa Live Nossa Live hoje de quarta-feira um tema muito especial aí vai falar aí sobre ddk né Então primeiramente sejam todos bem-vindos à nossa Live de quarta-feira quarta-feira 9:30 imprescindivelmente todas as quarta-feiras hoje um tema muito especial né a gente vai ter introdução é O ddk eh lembrando né que nossa Live ela é gravada e todo o nosso conteúdo fica disponível na inova academia então eh a gente vai começar Eh hoje um momento especial aí de uma experiência que é um tema
né que o ddk eh dedos primórdios aí aí do data su do ms2 né queem quem passou aí eh pela época veio do Magnus do Magnus I depois ms2 ms24 MS eh 206 depois eh veio o totus 11 eh o totus 12 e enfim em todos esse tempo todos esses tempos desde o ms2 eh isso a gente vai falar que foi no ano de 98 para 2000 já tinha eh eh os ddc os tates ddc então a gente tá falando aí praticamente de mais de 20 anos né de de duração do ddk na data su
e isso é um muitas vezes ainda é uma questão ainda de polêmica principalmente eh pros desenvolvedores mais novos eh quem ainda não teve um treinamento Às vezes o cara consegue a pessoa consegue fazer a tela de ddk mas Aí ainda existem algumas dúvidas eh que são pontuais Então hoje nós vamos falar um pouquinho né dessa arquitetura entender como é que como é que funciona o ddk hoje como é que eu acho a documentação eh onde que está a estrutura do ddk como é que eu faço para configurar para começar a desenvolver o ddk e não
só isso né a a documentação da totos que como é que eu uso isso Eh aí muita gente vou me questionar aqui vai falar assim nossa André mas na sua Live Lá eh você não falou da transformação digital do data su você falou que o ddk tá morrendo que o ddk vai morrer eh Isso é verdade tá o ddk vai morrer é uma realidade não tem como a gente achar que o ddk vai eh durar eh por muitos anos mas né é um velhinho ainda que ainda tem alguns anos de vida né E mesmo assim
né Eh esses anos mesmo os anos terminais um ano restante eh quem for trabalhar aí no processo de transformação digital de Migrar aí as as telas ddk pras telas eh pui com web api precisa né Eh entender como é funciona a tela ddk Porque até mesmo né quem for trabalhar no processo de conversão vai ter uma demanda em breve seess de precisa ler o programa entender como o programa funciona para que ele possa reescrever eh esse processo em uma API rest né toda parte de negócio no backend e o front end aí em pui aí
para que Rode dentro ou fora do data suu então é extremamente Importante eu saber eh eh da estrutura do ddc e principalmente aquelas di como que eu começo né Porque é engraçado que muita gente às vezes já pega um ambiente ddc configurado eh é E aí que quando ele começa do zero el começa mar do zero ele tem dificuldades de configurar o ambiente onde que ponto o propé como é que eu faço isso como é que eu faço aquilo então hoje é uma live que a gente vai tratar isso vai entender todos esses conceitos vai
entender por né O ddk ele Ele sobreviveu tantos anos e principalmente eh como que eu aplico ele como que eu uso ele da melhor maneira possível aqui Dent no ambiente então é uma live especial eh esse tema eu tô trazendo porque ele foi bem muito pedido aí né pro os nossos alunos colegas parceiros aí pediram André fala de ddk André fala de ddk eh por você não faz uma Live para ddk então eh a gente tá fazendo isso porque foi um tema muito pedido eh teve Bastante gente que mandou mensagem falando vamos falar sobre isso
então tá que todo mundo pediu a gente tá aqui para atender vocês a tá aqui para dar conteúdo de valor para atender as pessoas que T eh interesse no conteúdo que melhor eh atende o dia a dia que mais agrega valor e o ddk é um processo que nunca eh vai deixar né de ser e esse para hoje né no datas por todas as datasul o processo de construção das Telas a maioria delas segem ddk e por Que que foi criado o ddk né antes antes começar a falar disso eu quero primeiramente né agradecer aí
as pessoas que estão comigo você eh meus eh alunos pessoas que estão com a gente pela primeira vez os membros daí nova academia e todo mundo que segue a gente que continua aí com a gente todas as quarta-feiras meu sejam todos bem-vindos eh é um prazer ter vocês aqui tem mais uma live E como eu já disse né convide Seus amigos convide os seus colegas chame todos eh as pessoas aí que possa usufruir né desse presente eh a Live nessa Live digo que é um presente porque é algo que você ganha né você leva de
graça você não paga nada e você leva muito valor para casa leva muito conteúdo outro então hoje é um conceito simples mas porém essencial para cada um aí principalmente paraos desenvolvedores novos e também pros antigos né Tem muita dica bacana Tem alguns conceitos aqui que vocês vão entender que vocês vão levar isso para vocês a gente vai trazer algumas dicas aí essenciais para ter uma boa conduta eh e simplicidade na construção aí de uma tela é claro hoje a gente não vai conseguir construir uma tela do zero mas a gente vai aí tentar eh fazer
o máximo para conceitos vamos explicar aí algumas coisas que são essenciais muito bom muito bem muito bem Vamos lá eh o ddk né para quem não sabe Né eh foi um Framework né construído pela totus né na quando lançou o ms2 Por que um Framework então para quem não sabe lá no começo o datas chamado MS Framework que que é um Framework né Framework é uma camada né A Promessa de quu surgiu lá na ms2 era o quê era um sistema que era customizável sobre a necessidade do cliente então quando lançaram o ms2 cham o
Framework é justamente isso Por quê além das questões das upcs e as Epcs que a gente já viu Eh na na na nossa Live anterior a gente falou das upcs na Live anterior eh a totos né Eh tinha na época não era tot era data suu ainda era data suu Joinville eh tinha ali o pacote ddk que que era isso né era uma forma simples e fácil que qualquer pessoa como de qualquer pessoa poderia criar seus próprios programas utilizando a linguagem Progress então a proposta do ddk é justamente isso então quem desenvolvia em ddk no
começo lá não era Desenvolvedores não era analistas formados na área deti eram administradores eram contadores eram eh pessoas pessas da área de elétrica pessoas da área de produção eram pessoas da área de exatas professores e e Anes áreas Por quê não tinha pessoas formada em ti nessa época era muito pouco né as pessoas formadas em ti era muito pouco então as pessoas das vasas empresas era ali um um administrador era um analista de de sistema não sistema analista Financeiro analista administrativo começaram a migrar né para criar aí as próprias telas e do MS Framework e
isso justamente foi a grande promessa da da datasul é que qualquer pessoa que fizesse um treinamento que fizesse um entendimento mínimo aí da linguagem Progress né tivesse um conhecimento mínimo não precis prisa ser nenhum especialista conseguisse criar seus próprios programas quer criar suas próprias telas seguindo um manual de Padrões então um Framework traz muito isso são padrões e esses padrões né eles estão nas telas PR até hoje né até hoje então todas as telas ma segue esse manual de padrões segue esse conceito né da do cadastro simples do cadastro complexo do cadastro pai filho do
cadastro Pai Filho atualiza filho cadastro Pai Filho atualiza ambos e da telinha de formação da da tela de wizard da tela de zo então foi criado um modelo padrão onde através Desses padrões simplific asse e facilitasse a vida do desenvolvedor desenvolvedor não né da pessoa que quisesse eh desenvolver customizar o data su por que que eu digo isso porque realmente né tem pessoas aqui que são da minha época aí do da época de 98 99 do magn como começou ms2 quem é da nossa época sabe eh quem começou a criar programas não eram desenvolvedores e
isso né fez o quê que a totos né Na época daasu né datu Joinville Alavancarem aí de uma forma muito eh rápido por quê isso permitiu que as empresas eh não só eh construir seus próprios programas bem como também né outras franquias eh treinasse pessoas muito rápido muito rápido seguindo esse padrão fazer um cursinho básico de caracter é um cursinho de eh na verdade na época era muito caro ainda né mas eh mas um cursinho básico de PR caracter fazer um treinamento de ddk e pronto a pessoa já saía programando não é isso eh Fez
que muitas pessoas que não ar que não eram da área de tecnologia migrassem para de tecnologia como deve ter muitos aqui nessa Live de hoje aqui muitos que eu até conheço que passaram por esse processo que hoje são Consultores e são desenvolvedores que desenvolvem um pouquinho Progress mas construíram aí legados muitas telas em ddk até fazendo um Pareto né o pui eh que to construi Foi algo semelhante a isso né é um Framework também tem uma camada que tem Um monte de componentes que são simples fáceis que seguindo o padrão você consegue também customizar criar
telas eh ux telas bacanas seguindo o padrão do pui que que muda a do processo e outro Hoje existe muito mais conhecimento né você tem que conhecer um pouquinho de JavaScript de html de CSS você tem que conhecer um pouquinho da linguagem web desenvolvimento web você tem que ter um conhecimento no ddk não você só Precisava saber o quê o básico de Progress e isso né permitiu aí a evolução e o crescimento aí da plataforma totus da plataforma na época da tasu é claro da plataforma ms2 que teve aí as suas inúmeras versões as suas
inúmeras migrações e esse ddk né O mesmo foi melhorado Mas é o mesmo desde lá da época de 91 8 2000 até hoje é o mesmo que que mudou algumas questões uma coisinha ou outra mas as templates são as mesmas quem quem tá aí sabe né pode Ter colocar no chat aí Quem lembra dessa época aí né Do ms2 e pode ter fazer um comentário aí porque era justamente isso as pessoas e começaram a migrar aí para dti e muitas pessoas aconteceu isso e hoje a gente vai aprender um pouquinho vai falar é da vantagem
agora a grande pergunta né Por que que eu tenho que aprender o ddk por que que eu tenho que saber né muita gente faz na raça né eu conheço pessoas que faz ddk mas não entende o que ele tá fazendo ele Vê ali um programa que tá pronto ele deduz e vai fazendo eh mas outras pessoas realmente entende manual de padrões entende como é que funciona e aplica ali na íntegra esse processo então isso a gente vai falar hoje né O que que eu tenho que saber e alguns conceitos são básicos que são essenciais paraa
gente conseguir construir e e seguir o manual de padrões entender um pouquinho disso O que que é manual de padrões né como é que funciona Como é que eu configuro isso vamos verer isso agora daqui a pouquinho tudo isso na prática muito bem muito bem então ddk né que para quem não sabe o que que significa ddk né data developer kit né Ou seja é um kit é um é uma composição de programas que compõe um Framework né então Frame me que é uma camada aí que vai facilitar a vida do desenvolvedor com componentes prontos
com telas prontas onde ele vai só reutilizar esses componentes E aí né A gente vai ver que Tem todos aqueles conceitos de contêiner de frame de browser e entender um pouquinho como é que funciona do Smart objects né como é que funciona isso então hoje a gente vai entender isso vai entender que é um o Smart os Smart templates né Smart templates então para quem não sabe o ddk é baseado em template mais é uma tecnologia da Progress que a própria Progress criou ela foi lá do Progress 9 e o usando as telas Gu e
aí o Que que a a totus fez né a to não desculpa a datas na época pegaram esses SM templates esses componentes smarts baseado já em Smart Link vai conhecer isso um pouquinho que são Smart links que são os eventos né os componentes de comunicação entre camadas né a gente vai entender que um programa ele tem camada eu tenho que ter uma eu tenho um contêiner dentro da contêiner eu tenho uma vi eu tenho um browser um componente né um objeto que eles comunico então Assim que que eu tenho basead depois a gente vai falar
um pouquinho vai ver isso na prática eu tenho uma Smart Carry Eu tenho um Smart container eu tenho Smart View eu tenho Smart browser eu tenho e um Smart Navigator né que é o que que é o navegação eu tenho o componente Smart de botões de inclusão e tudo isso se como Comic entre si usando o Smart links com isso né cria-se um processo simples estruturado e escalável para mim conseguir construir e uma série De programas E aí você vai perguntar André Mas por que que eu tenho que criar uma vi separada eu tenho que
criar um browser separado e depois eu tenho que unir tudo isso né Por que cada programa é separado por que o Smart Object veio com esse conceito é o conceito de reutilização né então o Smart Object traz um pouquinho disso né eu tenho que reutilizar então eu vou criar um browser por exemplo de clientes eu não vou criar um browser para utilizar só num programa Eu crio um browser de clientes que eu vou utilizar ele em qualquer local que eu precisar exibir clientes eu crio uma View de exibição de de clientes ou de emitentes Então
essa View eu vou utilizar ela em todos os lugares que eu precisar para visualizar os dados do meu cliente seja num tela de inclusão num tela de alteração ou simplesmente numa consulta Então as os a os Smart objects permite o quê escalabilidade né então se a gente pegar hoje no no produto padrão A gente vai ver que tem a mesma View eh a mesma View que ela é reutilizada de vários programas a mesma vi utilizada na no programa de inclusão no programa de consulta eh ela é utilizada no programa no programa X do programa Y
A o mesmo browser né o mesmo browser utilizado em um vários lugares por por que isso porque é facilidade e escalabilidade e isso permitiu o quê que módulos inteiros módulos inteiros fos construídos em tempo record né E foi aí que a linguagem Progress ganhou força principalmente no Brasil Imagina você construir um módulo eh inteiro em um mês era possível Claro sem muita questão complexa tem muita regra de negócio era usandoos mar obj você construi um módulo e um mês com tela de cadastro tela de movimentação são um mês você desenvolvia e você entregava um projeto
Dois meses entregava Grandes projetos eu mesmo desenvolvi módulos inteiros né usando ddk e com velocidade Record Record Record Record Por que Record né enquando eu fazia e em um 4 horas um cadastro simples por exemplo usando uma tela ddk passava 4 horas com a média uma média um cara com poucos Campos e eu tinha ali num num processo num processo usando outra linguagem Eu demorava dois dias três dias para fazer a mesma coisa programas que eu gastava um dia uma tela mais complexo estava um dia dois dias para desenvolver três dias às vezes uma tela
o cadastro pai e filho atualizar Ambos com um pouquinho mais de Abas com um pouquinho mais de Campos que que eu fazia eu gastava ali dois dias por exemplo para fazer um programa desse no no no ddk e num ouvindo num SEAP eu gost de gastava cinco seis S três vezes mais então essa produtividade ela foi essencial o crescimento da ferramenta o crescimento principalmente do Progress né por isso que o PR ganhou força aqui né por isso que teve tanta aderência eh do MS da da Da por isso que cresceu muito o o Framework da
tasu por isso que ele ganhou tanto volume a totos ganhou e tanto mercado na época da tasu porque por isso porque era muito simples era muito fácil e as pessoas aprendiam muito rápido né Eu já falei aqui na nossa Live a Progress o Progress é uma das linguagens mais fáceis que tem de entender o ddk é mais simples ainda muitas pessoas que não eram nem programadores mal sabiam usar um forit Aprender um forit na raça sabiam um F da raça seguindo o manual de templates conseguia construir suas próprias telas um contador um cara da área
contabilidade mexia com Excel mexia com Lotus 1 23 ele começou a pegar ali o o passo a passo e fazer uma tela ddk funcional e é justamente isso a tela ddk é isso é seguir um passo a passo é uma receita de bolo Olha que legal então andr tá falando que é isso tem uma receita de bolo se eu souber seguir a Receita de bolo eu faço qualquer programa é isso mesmo se você subber seguir o manual de manual de padrões você faz qualquer programa Por que que muita gente tem dificuldade primeiro que já bate
cabeça onde No começo na hora de configur configurar o ambiente né não sabe configurar o não sabe configurar o o os templates corretamente aí configura o ddk configura de forma incorreta pega pega include antiga pega proef com e programas das dos objetos ADM do Progress com versão incorreta e isso gera uma série de transtornos às vezes já vi pessoas ficar às vezes uma semana na tela com problema de ddk com problema no pacote ddk então Eh porque tá usando um ddk antigo tá usando a versão antiga tem no proef às vezes uma versão de uma
include antiga e isso né gera aí uma série de problemas e a pessoa não consegue andar então configurar o ambiente corretamente é o ponto essencial e de partida para se começar a Construir qualquer estrutura qualquer programa ddk então primeiro ponto vai aprender é isso como configurar um ambiente ddk né como que eu configuro como que eu deixo o meu ambiente pronto como é que tem que ser meu propé muito bem Vamos começar agora com esse processo deixa eu compartilhar a tela aqui com vocês vou compartilhar a tela só um minutinho deixa eu pegar o jogar
aqui PR outra tela a gente vai entender agora a Questão de como configurar corretamente é meu ambiente ddk vamos lá compartilhamento deixa eu dar um né Muito bem vou compartilhar minha tela um muito bem vamos lá pessoal então vou fechar aqui meu ambiente vou abrir um ambiente novo né Não não vou salvar Deixa eu ver se eu Salv isso daqui vou salvar assim aqui é da última Live que tá aberto Vamos lá eh Bom primeiramente né para quem não Sabe né pra gente desenvolver em ddk a gente usa o app builder né o app builder
ele pode ser muito simples acessado aí pela janela aí eh de desenvolvimento eu vou entrar aqui do zero para vocês aprenderem né né mas eu vou pegar aqui minha tela eu tenho aqui no meu D aqui ó uma página chamada scrip eu tenho um atalho né já com ini e configurado eh esse n já tem todo o proef aqui eh do datasul já tem todo o proef do datasul então eu vou Eh entrar aqui no meu no meu ambiente vou entrar aqui no meu ambiente ó proin e aí qual que é o x da questão
né Eh o X da questão é o seguinte é primeiro né como que eu começo a desenvolver um em como começ a desenvolver eu tenho que entender o seguinte o desenvolvimento ocorre né no app builder né então a gente já tem aí o open Ed Stúdio já trabalha no ambiente mais Web ambiente Orient do objeto aqui não tem orientação a objeto né o o app builder eu tem que Ter uma licença tá exclusiva para mim poder habilitar o PP builder então Ten o PP builder se eu não tiver habilitado é porque a sua licença né
não dá direito a a usar o PP build isso é muito importante porque algumas pessoas TM a licença eh do op Open Studio opened develop Studio o opened develop Studio não é a mesma licença do opened Studio porque opened Stúdio dá direito a PP builder a licença do opened develop Studio dá a licença lá do do ambiente Baseado eh no ambiente de orientação objeto que é outra interface parecido aí com com um ambiente diferente não é esse tá então a gente já viu na nossa Live anterior a gente aprendeu na Live op devel Studio Não
é esse ambiente tá aqui ó p builder é uma ferramenta exclusiva pra criação de forms dentro do meu ambiente PR Ok então tá aqui meu App builder o Progress full Então como é que eu começo né primeiro conceito primeiro contexto Muito especial que eu tenho que ter como processo é o proef onde todo mundo se perde é noef por que o proef o prop ele é essencial para mim ter e e uma boa configuração do meu processo então para quem não sabe né antigamente o ddk eu tinha que configurar ele a parte no meu no
meu ambiente eu tinha que baixar ele da tots tinha uma época ele era cobrado Inclusive a tots vendia o ddk como uma ferramenta separada hoje hoje não isso já tá embutido na plataforma Isso já faz Parte com dentro do ambiente né dentro do ambiente de instalação do totus para quem não sabe vou entrar aqui com vocês ó dentro do totus eu tenho aqui uma eh eu tenho uma pasta né Eh chamada ddk que que chama essa pasta ddk é nada mais nada menos que todas as templates de desenvolvimento tá e as bibliotecas que a gente
vai conhecer um pouco né as bibliotecas elas ficam aqui ó dentro do Progress né tem aqui Progress eh a Smart né as telas Smart os team templates que É usado aí eh para janelas tpt y e outras coisas e o e um C um próprio DBO que que é a parte de DBO que é outra questão questão de dos busos Object né que é que as biblioteca do Business obje das bos tem um padrões também para beos para quem não sabe tem um manual de padrões para bos então a tos passou na evolução né quando
chegou ali no pd4000 veio a época das dbos que são as dbos as bo b objects então e tinha a ddk só que a ddk consumi começaram a consumir o quê As as BIOS objec ou seja são todos os métodos aí de negócio eh encapsulados dentro das bi das bos né então para quem trabalha aí com as bodi 317 as bii de de cálculo de nota são todas bos né o bos objects de negócio tem too capsulado né então é outro processo gente vai falar disso outro dia a gente vai falar dess outra Live falando
das bos Hoje a gente vai falar exclusivamente ddk então basicamente é isso então hoje eu não preciso né ter uma passa ddk e essa Outra dica tá nota aí muita gente às vezes deixa um diretório ddk antigo que veio lá do ms2 coisa que veio vindo não pode se você pegar a versão incorreta de includes você vai ter problema né hoje se faltar uma include do Progress que que que eu tenho que fazer eu tenho que ir lá no no no no Google e fazer download da pasta search então no Progress eu tenho uma pasta
chamada search né isso é importante dentro do Progress eh V entrar aqui dentro do Progress 11 mas o Progress a mesma coisa né eu tenho a pasta search que que são search né eu tenho as bibliotecas eh são necessárias às vezes essas bibliotecas elas faltam essas bibliotecas aqui eh do meu dentro do meu dentro do meu ambiente então se eu não tiver essas bibliotecas eu posso baixar essas bibliotecas da própria internet eu dou no Google download ST src eh do Progress opened eu consigo achar no próprio site da Progress para baixar Então eu preciso ter
esses objetos atualizados baixados Normalmente quando Ten o Progress full eu instalo o Progress full ele já instala todas as bibliotecas necessárias mas às vezes depende versão do pro depende uma versão essa pasta search ela pode vir incompleta né mas eu consigo baixar isso aqui na internet essa pasta completinha aí pra versão do Progress que você estiver trabalhando seja do Progress 11 ou seja do Progress 12 né vou pegar o Progress 12 aqui também eu tenho o Progress 12 né eu tenho também a pasta CCE eu tenho que estar com ela atualizada com a opção developer
então tem como baixar né Isso aqui é só você goar aí ó download sece eh Progress né põe a pressão do Progress você vai ter um link para baixar eh do progressor você já tem um local para baixar aí com todos os templ então tem aí as as includes que são necessárias né na pasta DM nas pastas dm2 é que é utilizada Também se essas inclus estiver faltando eu vou ter problema aí do meu meu processo de ddk então outra dica é essa né então vou começar a desenvolver eh busca aí na página busca na
página do Progress baixa o sear O que são sear são os fontes das includes das imag templates das todos os objetos imagens eu tenho os Fontes Então sear são os Fontes eu consigo inclusive essas bibliotecas PL tá para quem não sabe eu consigo extrair essas bibliotecas eh Utilizando esse componente aqui ó extract PL tá eu jogo aqui no cmd ou no proen eu dou um extract PL o nome da biblioteca e eu pego Tod todas essas includes todos esses componentes de objetos programas ponp Poni e eu extraio isso e para mim ter acesso às includes
e eu dou o quê eu ganho facilidade na hora de desenvolver tá até mesmo às vezes acontece ter algum bugzinho você consegue ter corrigir aí na no próprio fon já aconteceu né de alum bugzinho de Alguma variável errada você consegue corrigir então é outra dica muito bem né Então vamos lá começando né a gente já viu o nosso app builder então primeiro requisito básico tá hoje ag eu vou começar minha pasta ddk tá e é importante que ela esteja no começo da aplicação tá veja que a pasta ddk aqui ela não está aqui ó ela
não está a gente tem que colocar ela então hoje eh para evitar que eu pego includes antigas includes Eh desnecessárias aí de de outros específicos muita gente costuma colocar include do ddk por exemplo na pasta CCE dentro do dentro da pasta esp tem include lá que é de 2000 sabe de quando 1990 2010 2015 E essas includes atal Então tem que ter um cuidado né Com essas includes que ficam dentro dos meus específicos D minha pasta esp então é um ponto importante eu ten que ter um discernimento quanto a isso bom primeiro primeiro requisito básico
tá minha pasta Ddk ela tem que est né acima de tudo andr precisa tá acima de tudo não se eu tiver certeza tá se eu eu tiver certeza que ela não tem nenhum outro eh nenhum outro local que vai ter programas duplicados como tenho certeza disso muito difícil então eu sempre recomendo que a minha pasta ddk eh esteja antes né de tudo depois a pasta CCE do Progress tá aqui depois a gente pode mudar ela de lugar né o CCE é muito importante então a gente tem que ter Esses dois essas dois diretórios e outra
coisa não posso esquecer né são as bibliotecas né todas essas bibliotecas aqui elas tem que est no seu proff né o adct o adicon o adub né todas essas bibliotecas PL são as bibliotecas do Progress elas precisam estar aqui e no seu ini né Mas normalmente né no ini do data padrão já tem essas bibliotecas eu não preciso eh me preocupar então e isso aqui é importantíssimo né Então essas aqui do Business lógico uso mais do Open Net Core vou usar mais para as apis do do MS das apis né né da parte web e
APS rest consumo de APS rest esse aqui eu uso para ap mas as demais é importante que sejam todas aqui a pasta CCE né normalmente ela é utilizada algumas includes que falta é reposta por essa pasta aqui então Eh normalmente aí se você tiver algum problema você tem que subir essa parte deixar logo abaixo ali do ddk Bom primeiramente é isso agora a pergunta é então André tá me falando que Só com ddk que eu tenho hoje no produto padrão eu não preciso configurar o DK É isso mesmo só com ddk do produto padrão você
consegue criar aí as suas templates as suas telas você não precisa baixar um um um um ddk customizado né porque a tos já libera correções o tempo todo nessa pasta ddk então eu tenho que sempre utilizar como base o ddk do produto Ah pode ter Bang pode mas se eu tenho Bang eu abro chamada para totos Ah mas eu posso abrir chamada para totos para Questão de ddk pode por quê isso já tá incorporado no produto se já tá incorporado no produto eu posso abber um chamado para toot se eu gar antiga eu não vou
ter nenhum propé aquela include Eu dei um se naquela include ela tem que pegar de três lugares ela tem que pegar da pasta ddk ou da pasta ms2 include né que minha pasta include ms2 ou da minha pasta CCE né do Progress então se tiver caindo isso aqui se eu tiver com meu ambiente Correto isso vai funcionar Então Primeiro passo é esse então meu pref tem que tá eh bonitinho tá e cuidado com as pastas as pastas em clades as pastas é que fica aí dentro do ambiente Eu já peguei caso de ambientes de clientes
aí que eu tenho duplicidade de include em tudo quanto é pasta né Tem uma pasta lá eh compras dentro de compras tem lá as templates aí tem uma pasta lá eh pedidos temed outra pasta template Então tem que ter cuidado né eu não posso ficar duplicando isso vai Gerar Problemas aí na hora de construir as suas telas Bom primeiramente esse aqui é um primeiro processo n ajustar o pref ajustei segundo ponto né eu tenho que importar as minhas templates né Como que eu faço isso é muito simples né para quem não sabe né quando eu
abro o datas ele abre aqui o menu de paleta né o menu de paleta então quant abre os objetos Smart não vem de forma padrão Então como que eu faço isso eu venho aqui menu vou dar um user Custom né Isso aqui é Importante que que eu tenho que fazer tá vendo que aqui ó tem todos os objetos Smart só que esse objeto Smart Aqui é do Progress não é o meu objeto Smart que eu quero usar no meu ddk então o que que eu tenho que fazer eu tenho que iar as minhas bibliotecas meus
objetos que são objetos P CST dentro do meu processo de ddk como que eu faço isso é muito simples né eu vou aqui dou um add vou dar files e vou lá dentro da minha pasta ddk selecionar isso André mas é a pasta Do produto é a pasta do produto que eu tenho que pegar eu não posso pegar uma outra pasta porque você tá pegando um template desatualizado né então tem que ser o ddk do produto Então vou aqui ó D ó tot vou pegar aqui me meu ambiente atual eu tô trabalhando ó dtos datas
eh datas Zeus ERP aí dentro do produto temem a pasta ddk e aqui bem no finalzinho do ddk eu tenho aqui é as minhas as os meus objetos então basicamente qual que eu Vou inserir primeiro o DBO eu preciso não preciso porque você não vai trabalhar com com bos objects o Progress sim que que é os objetos padrão do Progress né as bibliotecas padrão do Progress vou adicionar né o o o André mas se eu quiser colocar o a os objetos ali o outro DBO posso colocar pode tá não vai ter problema mas em t
você nesse momento você não precisa dele tá o Smart principalmente o que que são Smart o smart são as Smart templates são as Templates Smart justamente são os padrões de tela que a gente vai utilizar Ok então vamos colocar as telas Smart eu não posso V fazer isso vou dar Ok vou adicionar de novo né Não posso esquecer eh as tin templates eu preciso as tetin templates não né as tin templates eu só vou trabalhar com dela especial algumas telas tti outras telas mais especiais eu não preciso colocar templates então não vou colocar por enquanto
tá asin templates muito bem Qual que é o segundo passo né E as minhas bibliotecas né específicas ddk tem que est antes das bibliotecas do Progress não preciso remover mas eu vou mover ela para cima daqu mve app ó coloca objeta Progress e depois eu coloco a minha biblioteca Smart isso aqui é padrão tá não remova da Progress deixa da Progress aqui as as as bibliotecas padrões e vou dar um ok veja que ele faz um rebuild né dos componentes e veja que aumentou bastante Botões a mais aqui ó ele não deu nenhum erro para
mim não perder pessoal tem que fazer o seguinte né porque o seguinte se eu fechar o data su o o a PP build agora o que vai acontecer tudo isso que eu fiz eu vou perder né então outra dica para não perder as configurações adicion os objetos meus Smart que queou ter que fazer eu tenho que salvar minha paleta eu venho aqui user options e save palet Então tem que salvar minha paleta né save e pronto agora sim né quer dizer O que agora eu posso fechar né fechar meu dat posso fechar meu App builder
e eu não vou perder as minhas configurações então muita gente não sabe disso que que acontece ele configura ó que ele entra perdeu aí vai lá configura de novo ele entra configura perdeu vai lá configura de novo então isso é muito importante tá então vou dar um save Beleza então o que que aconteceu agora a partir de agora quando eu dou um botão incluir vai aparecer isso daqui ó Windows cadastro simples cadastro alteração cadastro simples inclusão cadastro complexo O que são isso são os padrões da totos então então aqui ó as janelas principais os contêiners
O que são contêiners são janelas Masters né então vamos dar um Windows cadastr simples aqui ó ó tá aqui ó Isso daqui é um contêiner né isso aqui é um contêiner veja que um contêiner já tem dois objetos né Tem um um Smart na que um Smart navega um hp navega e tem outro Smart Object que é o o CAD sim que são isso são Smart Object já vem pré-configurado já tem todos os botões de navegação todos os botões de inclusão alteração excluso para salvar para cancelar F tudo prontinho e o hpx r que são
botão para você ter aí as consultas e relatórios personalizados e o botão de sair então que você tá me falando André é seguinte legal então isso que que é isso isso é um contêiner né que que é um contêiner Um contêiner é um tipo de objeto que não pode aceitar Fields ou frame diretamente nele ele não pode aceitar um contêiner só Aceito o qu Smart objects que são Smart Object que eu posso ter smart são Smart views são smart panels são pels já tem aqui já tem os smart pels são esses né os Smart panels
é aqui são Smart panels e são Smart browsers ou né Eh Smart ces então basicamente para mim ter um cadastro simples eu precisa de Três componentes quatro componentes quatro componentes básicos o Smart container que já tá aqui me Smart container eu preciso Smart eh os os objetos Smart Smart bar são esses aqui então tá aqui ó objeto de barra de São de navegação de cadastro e de saída e o Smart views né que eu tenho que ter uma Smart View eu tenho Smart k isso é importante todo o programa né se comunica com a tabela
através de uma k isso é outra coisa importante tá tem que Ter uma k que que é a k né É ele que vai fazer o select que vai dar o Next vai dar o prev que vai dar o Lest vai dar o o o o previous então como é como que esse como que esse componente aqui se comunica com a vio eu tenho as SM Ky aqui a gente vai ver isso e Smart Ky e essa Smart Ky comunica com a Vi né olha que legal então tá me falando é isso André Então tá
me falando que eh esses component né o o HP navega Eh meu smart tubar Ele eles comunica com a Ky e a Ky Se comunica com a vi ou com o browser É isso mesmo né então a gente vai ver que ele passa né Tem vários tipos de smart links que que são Smart links né são eventos e onde através de ações né de um determinado botão de determinado Smart contêiner ele dispara um evento eh de comunicação entre camadas né quem são essas camadas Smart container fala com com Smart com a smart Ky o Smart
tubar Fala com a Ky que fala com com a Vi e automaticamente eles mandam eh status né Que a gente chama chama de status esses estatus são passados que são a página de estatus e esse através desses estad vai habilitando desabilitando o campus passa Rido do objeto qual que é o próximo Qual que é o e Através disso você manipula o quê os eventos que é nebo de zebo inalis eh assign Ed validate enfim todos os eventos Associados a uma a um smart a tela Smart André Então você me falando que que a Gente viu
lá de o PC na Live anterior é a mesma coisa isso é a mesma coisa então todos aqueles eventos veio do padrão de smart objects então é a mesma coisa então a partir do momento que eu entendo bem os conceitos de criar uma tela ddc fica muito mais fácil eu criar o PCs eu customizar é o PCs nas telas de cadastro do to datas então por isso que eu falo isso daqui entender isso é primordial Ah André mas vai morrer isso daqui daqui quantos anos 3S 4 anos Talvez Mas vai morrer só que daqui até
lá tem muito chão e outra coisa mesmo que você queira migrar você quer fazer parte desse processo de migração dessas janelas pro ambiente novo ambiente web você precisa saber disso como é que você vai ler uma tela que você não entende o padrão como é que você vai ler uma tela que você não sabe como ela é construía para você converter ela com padrão eh de de H API de um padrão de eh pui Então você precisa entender de qualquer forma Ou se você não vai fazer mais Ah André mas eu vou construir hoje eu
vou construir uma tela ainda Eh ddk aí a escolha tá Eu recomendo que já faça pra tela pui só que as telas pui tem o lado bom e o lado ruim o lado bom né telas ainda duram bastante tempo demanda muito mais esforço que uma tela ddk enquanto eu faço uma tela ddk e um cadastro simples em poucos minutos eh com poucos Campos uma tela tela eh uma tela pii eu vou gastar aí bem mais tempo então ainda É mais rápido eu fazer uma tela ddk hoje então é questão de estratégia então dá para conseguir
terar ddk hoje ainda dá aí é questão de cada um tomar a decisão que melhor se enquadra dentro de processo uma coisa interessante tá quando eu configuro a versão correta ele já me dá isso daqui ó passo a passo conção de um cadastro simples ó criar uma Smart C né utilizar o estilo Custom então El já te dá um passo a passo tá se você tiver com o proef correto tiver 100% ele te dá esse processo só que isso aqui às vezes não é suficiente né para mim conseguir realmente ter qualidade no meu código eu
preciso de um documento padrão que chama manual de padrões Esse vai ser o teu guia na construção de telas ddk não só na construção como também de entendimento e fazer tudo isso porque o que que é man de padrões é um passo a passo que te ensina a construir andr fal eu seguir o passo a passo eu não preciso nem saber muita coisa isso Mesmo você seguir o passo a passo você não precisa saber muita coisa Claro tem uns detalhezinhos tem detalhe ali mas você sigue o passo a passo é simples qualquer pessoa qualquer pessoa
iniciante eu digo iniciante em Progress já sai fazendo telas fantásticas processos fantásticos não precisa ser nenhum especialista qualquer aluno iniciante Ah mas eu já sei programar em PHP já sei programar em C Sharp eu quero eu se eu só fiz o o treinamento lá em Nova Academia aquele treinamento lá eh um treinamento de eh o o o o o treinamento da nova academia de progas básic pras caracter l de boas práticas só com aquele treinamento eu já consigo Então começar a construir um ddk você já consegue Então isso que é legal né então se você
seguir o manual de padrões não tem is agora a pergunta né Onde está o manual de padrões né então dica de verão né muita gente não sabe mas dentro da instalação do próprio datas a gente já Tem isso disponível né então vamos entender onde a gente acha o manual de padrões bom a gente viu né que dentro da instalação do produto né eu tenho a pasta ddk ó datas datasus ó dentro aqui da parte RP eu tenho ddk né cadê Aqui ó ddk data developer kit tá aqui né onde tem então aqui eu tenho todas
as minhas configurações eu tenho aqui uma pastinha muito especial chamada manual Então é isso mesmo F que o manual Já acompanha a instalação do produto padrão É isso mesmo manual já acompanha a instalação do produto padrão muita gente não sabe disso tá eu tenho a parte aqui Manual e aqui dentro de manual né eu tenho vários manuais né mas o que interessa pra gente agora é o manual de é o manual de padrões que é isso aqui ó manual de padrões que que é isso aqui é o passo a passo vai te dar aí toda
explicativa das includes Telas todos os padrões né é pros ó po ó manual de Padrões ó tá aqui de programação ms2 tá aqui e aí é claro né eu tenho que seguir né esse manual Então veja que eu tenho um menu aqui tenho um monte de coisa a gente não vai hoje Se estender muito nele mas depois você olha aí com calma você pega ele e já tem disponivel de vocês é então aqui o que eu tenho tenho vários capítulos né a parte padrão dicionário de dados eh estrutura de diretórios né do ms2 eu tenho
aqui toda a parte de nomenclatura isso que é Importantíssimo tem que saber a nomenclatura padrão de Passo padrão de programas DPN de tabelas eu tenho que seguir um padrão no meu ambiente isso aqui te dá já a direção como a totos padroniza como a totos usa eu já vou ter uma visão diferenciada dos padrões eu já vou saber me localizar dentro dos programas da atasu né aí as includes ó programas includes já tem todo aqui um um detalhe das principais includes padrões do do Produto padrão então Eh então vim aqui ó tem né Ele fala
um pouquinho e aí fala das Suits fala os padrões de botões então tem todo padrão de variáveis né isso é importante né as pessoas não usam né Tem como é que uso o c quanto que uso o i quanto que eu uso o da o de então tem tudo isso aqui eh de renda ó usa o h o Logical o o How né então isso aqui é importantíssimo por quê é o padrão que a totos usa e é o padrão que eu deveria utilizar também por quê eu sigo o mesmo Conceito da totos né ó
padrões para bumf né para bumf para frame parâmetros Tudo parte no me clatura tá aqui então isso é importantíssimo por quê isso vai padronizar e criar não só isso mas o entendimento facilitado dos programas que já existem no seu ambiente né qu você for desenvolver um ALC então que você vê um um F você já sabe que é uma frame você vê um p você sabe que é um parâmetro né um s você sabe que é um stream então isso aqui é importante que Dá para você já uma direção de nomes e um padrão aí
porque questão de boas práticas de qualidade de implementação né então muito bem a gente não vai ter a gente não vai não vai entrar muito nisso aqui porque tem bastante coisa e Aqui começa a ter os padrões né os padrões de tela mas aqui você só apresenta os padrões não é não é muita coisa o que importa pra gente é o seguinte né eu ten tenho aqui um capítulo que é como construir É uma tela cadastro Simple Como construir uma tela cadastro complexo Como construir uma tela cadastro pais filho atualiza filho atualiza ambos então para
cada padrãozinho né uma um relatório tenho um modelo de RP aqui com saída de frame do stream Tem tudo aqui é só usar né e muita gente não sabe disso esse manual ele é gigante Mas não é para você ler ele linha a linha é para você é é é é um manual de padrões você vai usar ele quando você construir o seu padrão Quando você aprende você nem precisa mais desse manual Eu mesmo não uso esse manual que eu não preciso mas se você tá começando né Eh o manual de padrões é importante por
quê você precisa né de alguns eh processo ó inclusive ó isso aqui tem aquela questão a te wiin que é um utilitário muito muito bom então tem todos os métodos ó que eu tenho ó então isso aqui é muito bom né dá muita coisa bacana e dá muito visão e do do processo e tem muito Exemplo né que eu vou aí utilizar que dá para dar control c cont control e ó bloquear uma rasta da janela tá aqui ó não quero rasta janela já tem um método pronto aqui então tem muito exemplo a gente não
vai passar tudo né E então Ó o c menu item o menu né o Close maximizer quer tirar os botão de maximizar da tela Ó tem tem um método aqui pronto tem muita coisa pronta aqui que eu consigo reutilizar É isso aí Francisco é a BL desenvolvimento ddk justamente Então Aqui tem muita informação bacana né E tem muito includes include de e-mail de envio de e-mail include de de e notificação de de de cara tem includ de tudo aqui tem tem que olhar no menu você pesquisar o que você precisa e usar tá tem muita
coisa bacana né ó variáveis de ambiente Ó tem muita coisa bacana mas o que interessa pra gente agora né não são essas incluses a gente vai tá essas includas aqui a vai direto no manual de padrões né a tp a t. Zip ó para zipar Arquivos Ó tem tem tem tem utilitário para tudo né Tem utilitário para tudo aqui então isso é bacana que você já pode pegar sair usando ó até um utilitário para gerar XML para quem não sabe né Tem utilitário para gerar XML né tem o Faet né que foi que a to
aplicou e tem muita eh muita coisa bacana aqui tá Isso tá no todo mundo que tem o datas instalado esse manual tá lá tá Ah André mas eu não tenho datas eu queria esse manual pede Para mim aqui manda mensagem no Zap na nova academia que a gente envia para vocês também e não tem problema tá não vou subir isso lá na nova academia porque eh não tem por eu subir lá porque todo mundo que tem dat instalado já tá lá no ambiente Ah eu não tenho eu queria manda a mensagem que a gente manda
para vocês tá eh enfim tem muita coisa bacana né Falando de includes e a include de autenticação ó eh é então tem muita a Gente não vai parar nisso aqui né Tem a parte de tradução né de tradução de variáveis literais tá tudo aqui tá E é legal que aqui a gente entende como é que funciona né Às vezes você pega uma tela datasur você pega um código fonte datasur você não sabe por que tá usando aquilo você não sabe por aquilo está acontecendo aqui Você entende porque você tem o padrão né com o padrão
a hora que você bate o olho você fala ah aqui no RP ele usa essa essa procd aqui por Causa disso ele usa essa include por causa disso porque essa includ tá aqui né né Ele explica como é que usa essa include né então tem todo o passo a passo aqui legalzinho bonitinho tá então isso tem muito mais tá nem cheguei na parte de utilitários na parte de utilitários tem muita coisa bacana na parte de utilitários né Nem cheguei lá tá tá ainda falando de tradução estamos falando aí de muita coisa bacana isso aqui só
tô passando rapidamente que não É o nosso foco é só para vocês saberem que existem e vão buscar isso aqui vão ler vamos dar uma olhada Olhe com calma eh não como eu falei isso aqui não é para você ler igual você ler um livro é para você saber onde está saber localizar e utilizar a medida que você for precisar tá é aquele manualzinho que você tem que carregar debaixo do braço que você tem que deixar ali pra hora que você mais precisar né Eh então você tem que deixar ali opa opa preciso Esse é
um Manual só de ddk tá tem um manual de DBO tem outros manuais bacana ali tá tô falando só de um tá a gente não tá falando dos outros OK muito muito bem ó o TP mensage né que muita gente utiliza tá tem aqui todo o padrão e vamos continuar aqui né Eh até a gente chegar aqui eh na nossa no nosso processo onde a gente quer tá bom vamos descendo né que tem outros exemplos de includes e tudo mais Eh estamos chegando aqui na na parte onde hoje o interesso né Ó parte List itens
diferença list itens list par tudo tudo que a gente tem aí no dia a dia né Eh toda parte de Viz eh como é que cria um tem pers Ó tem tudo isso aqui bonitinho documentado e Pronto né só usar então muita coisa de valor muita coisa legal que as pessoas À vezes ficam aí batendo cabeça e tá aqui de mão beijada né só não sabem que existem muito bem vamos lá deixa eu passar aqui a parte de variáveis mais rapidamente eh PR gente chegar até no nosso manual de Padrões eu ia voltar pro menu
mas já conheci aqui ó então o Capítulo oito ó notem aí o Capítulo 8 tá exatamente na página 140 a gente começa construindo programas e suas técnicas que que é isso daqui é o passo a passo de como você vai construir uma tela ddk André Então é isso é só seguir o passo a passo é isso é só seguir o passo a passo é só seguir o passo a passo não tem como errar ó aqui ó verificar se existe uma Smart C para a tabela que seja construir um cara Assim caso não existe criar uma
nova tabela usando Custom Carry Wizard aí aqui muita gente se perde o que que é um Custom care Wizard como que eu acho isso a gente vai ver isso agora como é que eu faço isso daqui é muito simples né então eu vou vir aqui né então eu tenho Smart Cary aqui não tenho Smart cy então eu vou vir aqui eu vou vir aqui vou dar incluir né un e vou achar aqui o meu Custom care Wizard é justamente igualzinho tá escrito lá Custom Cary Wizard então eu tenho aqui minhas custos meus objetos custo ó
custo browser eh Custom browser digita custo browser formação custo browser enfim consulta browser de digitação né já tem um browser de digitação pronto É isso mesmo browser de digitação Pronto né eu tenho que ter aqui uma Custom k eard se eu não tiver esse objeto aqui tá errado minha configuração do ddk então muita gente às vezes não consegue sear por quê Porque não tem esse objeto outra coisa Importante pessoal aqui tem a smartc Ah vou usar SM não aqui tem as configurações de troca de parâmetros Smart links tem tem métodos que são criados que é
exclusivo do ddk então muita gente bate bate cabeça com browser pesquisa vapar porque usa o componente errado né se é cust career tem que ser o curson k Wi não posso usar outro eu não posso usar outro tem que ser esse porque tem alguns métodos de ital de enable de passagem de parâmetros Eh que de que tem que ser exclusivos né Principalmente passagem de parâmetros se usa um How table você usa um um um um um objeto How Edit passa um hedit ele usa um um um uma temp table um How T enfim tem várias
formas que que os componentes que conversam se eu usar um objeto errado não vai funcionar Tá então muito bem Ó vou fazer aqui ó muito simples ó simples ó dou next aí Aqui tem alguns segredos m a gente tem dúvida aqui eu vou adicionar uma uma externa uma Tabela externa ou não aqui tem uma dica muito de muito valor para vocês é o seguinte onde que eu tenho que adicionar uma um external table external table só faz sentido quando por exemplo eu já tenho um um programa um contêiner que já tem um RD de uma
tabela Master e eu tenho por exemplo uma outra subc que eu quero vincular minha subc com aquela principal eu quero eu quero colar duas kes aí eu jogo um external table que pode est na minha tela de Sam e eu faço Um Air um JW entre as duas k é só em casos especi sub kes tá sempre que for k principal seja k de browser k de zoom k de vi k de container qualquer tipo de Ky que eu vou criar né Ky de e de smart de de de tela Create tela de enfim dependente
da janela eu nunca vou usar um external table tá external table em alguns casos específicos se eu tiver alguma tabela na memória eu preciso fazer um vínculo com aquela external table eh eu já tenho uma tabela Compartilhada eu quero fazer umv a tabela eu uso Eternal table nesse caso não sempre as ternos tables eu não preciso adicionar Então nesse ponto eu não preciso fazer eu dou um next Agora sim eu vou definir a minha Ky né então pra gente começar aqui né Eh eu posso usar quantas tabelas eu quiser Mas normalmente uma tabela por ve
você utiliza dá pr usar mais de uma tabela mas a k simplesmente é a tabela principal né não vai ter Ah uma tabela P Uma tabela uma tabela Pie que vai gerenciar né a navegação da sua tela Então você pensar Pô vou fazer um cadastro do qu né então é um cadastro de clientes Então tem que ter uma tabela de clientes ou de emitentes e assim por diante eu vou pegar uma tabela aqui ó tabela de treino eu tenho meu banco customer aqui ó minha tabela customer né que que é a tabela customer né são
meus clientes né Eh tá aqui minha tabela customer do meu banco e aí muito bem aí Tem alguns dicas aqui que é importante né Eh eu criei minha tabela né eu posso vir aqui né como eu não tenho a externa al T eu não tenho Joy né se tabela externa eu ia vincular o join ia fazer um link com aquela tabela eu não tenho então não tenho e aqui eu posso definir uma clus né eu posso definir uma clus e ou não né a clus Ah eu quero filtrar só só o estabelecimento Eu quero fazer
uma função de camp find eu quero faz faz dá Para mim fazer isso tá eu posso criar uma clausar aqui no sorte né é importante né e é importante por qu né eu posso classificar se eu não classificar nada ele usa a chave primária mas eu quero né que ele Rode pro por por cidade ou por Country então eu posso mudar a ordem que meus registros naveg para que Serv isso só que eu vou navegando next né ele vai o próximo registro se eu não informar nenhum we é o que é a chave né minha
Chave primária tá então isso aqui é muito importante algumas coisas importante aqui ó Key frase e sor by frase Por que que serve isso aqui eu tenho alguns objetos e opcionais que são os Smart eh os smart são os Smart eh Smart sort né e o Smart e alguns objetos que eu posso quees vão eu posso que eu posso fazer o Smart filters que são isso são botões algumas telas datas Tem o Smart filtr que que é isso eu posso passar um filtro dinâmico né eu vou trabalhar com Smart filters ou com o Smart e
sor que é um outro objeto que eu coloco norment um botão que coloco lá no programa datas que tem aqueles três pontinhos que ele abre um filtro eu posso trabalhar isso aqui por que que serve isso ele vai passar um parâmetro que é uma é um pré presso né para quem não entende que é um pr processo é um parâmetro que ele vai passar passar e Esse parâmetro né ele vai fazer o quê né veja que ele coloca aqui ó ó um pré processo ó ke phrase name in sorte by frase que que é isso
né eu posso usar Smart objects para fazer classificações dinâmicas eu posso usar isso posso tem exemplo lá inclusive no ddk como eu uso isso se eu não for ter o Smart sor nemum Smart eu não preciso ter né E esse essa questão do do do do sort by frase e do e do e do k frase tá então aí é só uma questão aí de de de eu ter ou não eu Posso colocar Se eu colocar e eu não usar vai fazer alguma diferença não tá tanto faz ó mas tudo bem coloquei aqui ok ó
ele gerou minha minha minha k aqui ó eu dar um Trein e coloquei aqui por enquanto se eu resolver colocar o Smart Filter ou Smart eh sorte eu já tenho aqui meu minu minha Eh meu pré-processual dar um next ó muito simples aqui é muito importante tá Case Supply e Case assp né que que é case asset né normalmente o smartlinks ele Utiliza né eh uma chave ele pode usar uma chave para comunicar entre as k normalmente né esse esse cara aqui você o que que você coloca você vai colocar basicamente o quê a a
a a chave primária da tabela tá a chave primária então ah Sales rap eu preciso eh não opa Sales rap não eu preciso CN CN sim que é a chave primária que é o que é o camine R cliente state não é a chave primária veja né que aqui eu só tenho a opção de case Supply por Quê que é uma k container Smart care ela é não K principal quando tem k de de tabela de cadastro eu posso ter uma uma uma tela também que ele acessa ele recebe né para o Smart ring vai
passar isso para ele fazer o quê para ele fazer a gente chama de posicionamento do registro o me k principal ele nunca vai receber uma ele nunca vai receber um parâmetro ele vai só disponibilizar uma chave né que é que é a chave primária normalmente do registro se for uma um um Registro só eh um campo só um campo se for dois Campos Três Campos assim foi diante tá pessoal então aqui normalmente a chave primária aí vou dar um next e vou finish Pronto né minha k está pronto que eu vou fazer aqui né Aí
é o padrãozinho eu tenho que fazer ali da totos mudar as includes tudo mais né que defin tem as includes eu tenho que colocar é a minha include né a versão eh o nome da minha incl ah nome minha k vamos firar que Minha k vai ser né Eh aí qual o padrão que vou uar Você tem o padrão de nomes vai ser es vai ser q01 e CQ V aí você escolhe o padrão né vou chamar aqui de S eh 001 q01 não vou chamar nem nem ess V chamar de nova né in Nova
Nova Academia V fazer uma homenagem nova academia aqui ó aqui a versão né é padrão essas includes eu vou colocar a versão versão revisão revisão e porque isso aqui é importante né para quem desenvolve né Sempre que você for desenvolvendo você vai incrementando né versão revisão Você tem um controle de versão e aqui né no licens Manager para ele poder Lar tem que colocar qual o módulo né qual o módulo que eu vou ter então é o módulo que eu vou cadastrar né o meu programa aqui já tem o programa né então vou colocar aqui
meu programa repito isso daqui ó basicamente né Isso aqui é licença de eh padrão B totos eu tenho que manter isso daqui para ele fazer uma Uma correta eh gestão de licença porque se eu não tiver uma uma uma um módulo porque esse programa vou carar no módulo se V crar no módulo do data su ele vai ver qual módulo tá cadastrado e vai consumir a licença corretamente se que não tiver ele perde aí consume uma licença aí full aí ele se pede no licenciamento Ok então é importante definir eh a include de licenciamento muito
bem então a aqui e aqui dentro da M Block né eu tenho aqui dentro da da ch Desculpa deixa eu ver aqui ah não na aqu não tem local tá certo aqui Bak basicamente é só aqui no definition que eu tenho que definir isso muito bem feito isso não preciso fazer mais nada ó ven aqui e vou salvar ó vou salvar Vou colocar aqui numa pasta aqui RP por exemplo né Tem uma pasta esp vamos supor que a minha pasta esp vou jogar aqui na pasta esp e vou deixar aqui dentro mesmo então eu chamei
aqui né control V ó inova 001 q01 só tirar coloquei um zero Mais agora que eu vi aqui q01 ó vou dar aqui vou só mudar aqui eu deixei um zero a mais e aqui também eu deixei um zero a mais ó muito bem então Salvei Minha k tá prontinha tá Salva eu fiz minha k não precisa me preocupar vou fazer vou fechar ela e aí eu tenho que fazer o qu né eu tenho que instanciar minha k no container Eu uso o que para instanciar eu uso o Smart Object então ó colocar ó a
Smart care na Smart Window então aqui também tá escrito isso aqui ó instanciar Smart Ky na página zero da Window cadastro simples e aceitar sugestões do Smart Link então isso aqui é isso que a gente vai fazer ó para quem não sabe um processo muito simples eu vou vir aqui eu tenho aqui tem vários objetos smarts tem um desses objetos aqui que é o Smart Cary né então então Cadê o smart Cary vamos achar ele aqui ó tem o Smart quer ver ó smarty quer ver cadê você vamos achar você aqui os são semantes Cadê
o smart folder Smart panel ó Smart View Smart Car tá aqui ó o Smart Car tá aqui ó ente eu clico nele ó então primeiro olha veja só o passo eu é simples Eu criei o meu objeto meu componente agora O estano para instanciar é muito simples ó eu vou vir aqui ó dou um brows dou um brows E aí dou um Open Qual que é o ponto importante né aqui como eu tô fora do ambiente eu tenho que autenticar né que eu tô fora Do data tem que autenticar para ele pegar as includes por
causa das includes Deixa eu só colocar aqui né se já tiver dentro logado a partir do at não precisava logar tá não quero cadastar de moeda e banco de dados Ah tá tudo bem isso aqui não ah tá que ele reconectou os bancos da empresa por isso Tá Mas beleza então ó como que eu faço isso Ó eu vou colocar aqui né meu minha smart Calma aí só vou dar um s aqui vou pegar de novo porque como ele deu um erro aqui de conexão dos bancos vou só jogar de novo aqui ô carambolas calma
aí de eu jogar de novo aqui calma aí Smart vou de novo browser vou pegar aqui tá ó Por que que tá dando esse erro aqui pessoal porque a partir do momento que eu autentiquei né E tá esses dois processo não está no manual na verdade tá tá lá no Manual tem Uma outra etapa que é construindo Smart cy tá isso é importante tá eu tenho um detalhamento desse processo quer ver ó vou vou vou eu vou vou mudar vou criar essa de novo criando uma outra tabela Porque como como eu autentiquei no produto o
que aconteceu esse banco meu não tá no Caral do foundation então automaticamente desconectou meu banco treino né autentiquei no produto então eu vou mudar aqui minha Smart vou criar uma outra Smart vou incluir Vou criar Outra Smart Ky quer ver ó outro Smart Ky Smart Ky Cadê você Smart k tá aqui eu vou criar uma tabela aqui que eu tenho no banco da empresa vou dar um vou dar um next vou dar um define Cary vou pegar aqui uma tabela do mgk mesmo qualquer então só pra gente não pegar a tabela de acordo eh Beleza
vou pegar aqui bonitinha vou pegar essa tabela aqui mesmo não vou mexer em nada aqui beleza vou dar ok e Vou dar um next e vou adicionar aqui não tem essa tabela tá ela tá ela tá com problema de Campos aqui ela não tem ela não tem chave primária Calma aí deixa eu voltar aqui pegar outra tabela cancelar aqui Dea eu voltar aqui voltar vamos lá define k deixa eu pegar uma tabela conhecida aqui que a gente tem aqui vamos pegar uma tabela deixa eu ver aqui vai pegar a tabela de emitente mesmo vai que
a gente já conhece tabela que é nosso dia a dia aqui A embalagem essa boa aqui ó tabela boa que todo mundo conhece vou tirar aqui essa tabela cod que ela tá com problema aqui beleza OK OK beleza aqui é porque tinha a tabela tava zoada e coloquei a tabela em embalagem ó tá aqui beleza bonitinho ó não tem clw não tenho sorte colocar o vou dar ok beleza vou dar next aí aqui na na k né vou dar um vou ó já trouxe aqui vou dar um modify vou tirar o item não interessa vou
tirar a embalagem só não lembro agora qual que é O qual que é a chave primária preciso dar uma olhada lá eu acho que é a sigla da embalagem ou é a embalagem Deixa eu ver isso aqui é importante deixar sempre a chave primária tá eh É a embalagem Tá beleza vou dar um OK vou dar ok beleza ó já fiz aqui dou um next e finish beleza criei a minha cy vou fazer a mesma coisa que eu fiz aqui Vou definir aqui o nome né os dados da minha cy Eh ó pode ver que
nesse momento aqui ó como deu um erro Inicial ele não criou o meu então Tá errado já posso descartar de vez não funcionou deu pau porque eu peguei uma tabela zoada ele se perdeu se não apareceu ali daquele padrãozinho Não vai eh não vai funcionar eu não usei o Custom Beleza o CL falou Beleza então a gente tem que ter cuidado se eu errar o componente não vai funcionar Tá então vou ter que fazer mas antes disso tem uma pergunta assim esse processos tem no manual tem né se eu criar no manual aqui ó se
eu procurar aqui no manual eh como Criar uma Smart care localizar aqui tem uma página um Pará que fala né Como criar uma Smart care ele fala Esse passo a passo não tão detalhado tá não vou sair aqui agora da da página mas se eu localizar aqui como construir SM Car então eu tenho um local aqui que ele dá essas dicas aqui não é tão todos os detalhes tal mas ele fala o passo a passo Tá então vamos voltar aqui né no nosso no nosso ambiente vamos incluir de novo Custom Car Wizard né não vamos
Errar aqui tem que com cuidado devagar é isso que eu falo a gente não pode errar Custom Cary tá aqui vou dar ok Aí vou dar um next vou passar Vou definir a Ky vou pegar a tabela de embalagem uma tabela simples embalagens tá aqui vou adicionar e tá dando um err depois eu ver o que que é isso aqui tudo bem E vou vir aqui no option né vou marcar o Ok o s Eh aí vou dar um next Vou definir as Case né que é a chave de Novo e aí depois a gente
vai né Eh modify aqui ó vou tirar o que não interessa o item não interessa a sigla não interessa vou deixar sóa chave primária vou dar ok e next e finish beleza aí eu vou de novo aqui em definitions né e vou ver se criou Agora sim por quê não criou as as inclu negó tá errado né foi que o creber falou ali não usou austo não errou a custo não adianta que não vai dar certo descarta e faz de novo né então vamos chamar aqui DS 00 não inova né inova 001 q01 vamos fazer
aqui de novo a versão 00 0 e 001 e aqui a mesma coisa vou salvar né cont CRL C E aqui agora o programa muito bem ó muito bem ó Então vou salvar aqui e vou salvar lá com o mesmo nome que eu já tinha muito bem já existe ótimo pronto me que já compilou já criou o meu programa vou fechar aqui agora sim eu vou instanciar a minha k ó Smart Ky dou um browser e aqui no Browser eu vou fazer isso tá é assim pessoal e ó agora sim ó ó aqui é importante
viu quando eu de um instanci o que que ele pensa você quer criar um Smart Link do Smart Pinel navega né e sim que que é isso automaticamente que ele cria ele vai pegar o Smart Link desse componente aqui com a minha K eu falo que eu quero Beleza já criou para mim um Smart Link automático Beleza então o que eu tô fazendo aqui a gente Vai seguir sempre um passo a passo né não a como é que funciona vi a mesma coisa vamos seguir o passo a passo aqui ó verificar se exist um programa
de vapar né Pesquisa o programa de vapar eu vou eu vou eu vou eu vou saltar porque a gente não vai ter tempo tá vai deixar para fazer isso e depois aí em outro momento mas é só seguir o padrão aqui né aqui se eu procurar no menu tem como consumir um programa vapar tem tem o passo a passo escrito aqui no manual tá Eu vou direto pra View aqui pra gente ir mais direto ao ponto tá é importante é isso né Depois que eu defino crio o programa de vapar para quem não sabe né
se eu tiver com o meu ddk correto instalado configurado aqui ó na Smart cy né Eh eu vou criar aqui ó eh vou em Instância atributos aqui ó eh eu já tenho aqui ó o local para definir o caminho do meu programa de pesquisa de zoom né E na verdade seria S inova 001 z01 é o padrão de zoom né PW e e eu Já tenho aqui né Eh o local para colocar e o meu programa de vapar né que é o g01 Né g01 inclui modifica Pai eu não vou colocar por quê Porque o
modifica pai é quando eu tenho eh não é o cadastro simples o cadastro complexo onde ele abre uma tela adicional de cadastro nesse caso não é o cadastro CPRE Então o que modifica eu não preciso e o implantar que que é isso aqui uma variável Global né que ele habilita ali ou não o aquele botão Implantado do browser m gente fala Mas por que que não habilita o botão implantado do browser porque essa opção não foi setada no template né então a variável global que ele habilita lá no Browser quando D um zoom né lá
no Zoom ele habilita o botãozinho implantar ok muito bem né aqui só D um OK não tem não tem não tem muito processo bom E aí pessoal ó aqui que que eu tô explicando para vocês é como usar o manual tá E aqui ele fala assim ó criar o Smart Link Né ó do tipo State com o como como source o p navega e como TX Smart care então tenho que criar esse Smart Link Então isso é importante importante eu não posso soltar né então vamos vir aqui vamos criar Nossa smartlink então tá aqui ó
deixa manualzinho do lado e da você trabalho com dois monitores né aqui eu tô compartilhando a tela eu não consigo trabalhar com dois monitores mas o ideal que você trabalhe com dois monitores para facilitar Aí eh a vida de Vocês né vou deixar aqui a tela do lado eh e vou fazer o que ele tá falando aqui para mim então tá falando o seguinte ó crie né um Smart Link aí eu deixar aqui minha tela aqui do lado do tipo state né do h p navega que o p navega esse cara aqui ó com o
meu taxi Smart k é muito simples eu vou dar um botão direito aqui Smart links ó Smart links e vou criar então HP navea então p navega Então vou dar um add source ó tá aqui ó sce origem HP navega e como tax Do tipo state tá tipo ó state t a minha k aí eu dou ok ó outro tipo state mesma coisa DD de novo ó do tipo vou pegar do tipo state tendo como se fosse HP x que xell é meu programa de saída que é esse cara aqui ó vou mostrar para vocês
né é o xell aqueles botões ali do Canto do tipo state né Por state né state is é o tipo que que é state que ele faz quando ele modifica altera inclui ele manda um parâmetro ó vou sair vou vou vou vou Incluir vou adicionar então a gente vai ver que tem vários estados que ele comunica entre um template e outro entre um objeto e outro né E a minha k né tá aqui ó beleza née tá falando assim então ô ô ô meu cara quando você sair você vai comunicar falar com a minha cara
que você tá fechando vai ter um botão Close um evento state close close wi ele vai avisar né A minha a minha janela o state é isso Ó então que legal aqui ó Então já fiz meus mas que agora cheguei na parte Importante né eu tenho que criar eh uma Smart uma Smart View né uma Smart View então que que é isso aqui a gente vai ver esse passo a passo agora tá pessoal a gente já criou né os nossos Smart links isso aqui é importantíssimo tá então é importantíssimo então muito bem ó uma coisa
importante aqui ó beleza criei meu smart links vou dar ok ó vou dar um close aqui ó fechei agora né eu preciso criar uma Smart View ó importante ó Smart View com os atributos Da tabela né O que que é isso deve ser editado os campos que eu quero mostrar que eu quero editar aqui vou dar algumas dicas especiais para vocês tá umas dicas de ouro que muita gente não sabe tem umas dicas especiais aqui B avio como é que eu ponho um campo para habilitar desabilitar usando os os campos Custom né então a gente
vai entender isso agora que é uma dica que muita gente não sabe bom que que eu vou fazer aqui né eu vou criar uma View então Ó aqui é importante O estilo ó Custom View com autofield então isso aqui é importante né tem que usar o estilo que ele indica aqui então vou vir aqui a mesma forma vai ter umas dicas especiais agora pra gente fazer isso deixa eu colocar minha janela do lado aqui muito bem então vamos lá incluir ó Custom vi com aut Field tá aqui ó Custom vi deixa eu achar aqui o
View Custom Custom View você calma aí custon tá só um Minutinho deixa eu pegar aqui [Música] ó ela tá aqui tá só procurar na lista aqui Custom vi ó Smart vi isso não Custom vi calma aí c vi dig C tá aqui ó então ó Custom View com autofield Então tá aqui ó log Smart brows é importante usar o mesmo padrão de template para não ter problema com o Smart links Ok então custo viw dou ok aí eu vou pegar a minha mesma tabela isso não pode ter outra tabela tá pessoal Então eu usei a
tabela embalagem tem que ser a mesma tabela vou procurar aqui minha tabela ó embalagem e vou dar ok aqui eu vou colocar os campos que eu quero mostrar ou editar né na minha tela Então vou pegar aqui o campo altura Campo comprimento o campo descrição embalagem né e o campo só né Vamos pegar o campo largura o resto não quero editar aqui né Eh e a sigla né que é importante então vou mover isso aqui para cima já vou deixar os campos na ordem que eu Quero editar né isso é importante já deixar eles correto
porque ele já coloca na na na na tela para mim de forma mais estruturada né então eu tenho que criar isso aqui da forma então basicamente O correto é esse aqui é a embal a descrição a sigla aura comprimento Laura muito bem vou dar Ok olha que legal ele já põe aqui né para mim os campos na ordem né que eu coloquei E aí ele pergunta precisa o Smart você quer ok ok né ele vai criar já o suporte só Uma confirmação veja que ele já cria aqui para mim né um passo a passo ó
Isso aqui já cria né um passo a passo que também né isso aqui tá lá também então basicamente que vou fazer né eu vou vir aqui V isso aqui é padrão né tem que mudar o a altura para 0,88 que vem grande né para ficar mais bonitinho ó já fica mais legal isso aqui é padrão eh a altura do do Campo né ó para 0,88 Eh aí você vai fazer aqui né todas as tratativas de de Label Tool tip né Isso Que é importante né O que que é o Tool tip isso é importante né
Putz eu quero colocar eh para quando passar o o o campo em cima né dá uma mensagem informe né o mouse em cima informe a sigla da embalagem isso que é importante que D uma dica pro usuário né o tu tipo basicamente para quem não sabe eh é quando o pessoal né você passa o mouse em cima ele dá uma imagem né Isso aqui é importantíssimo né então tem ser um passw Field cente leitura né eu tenho Aqui se tá habilitada inicialmente ou não habilitado mas isso agora não é preponderante vai entender algumas coisas aqui
agora tá muito bem vou dar ok né E aí eu vou fazer todas as minhas tratativas né a gente não vai ter um tempo aqui é muito grande pra gente colocar mas vamos colocar aqui a gente vai finalizar essa View tá para depois a gente eh finalizar a Live muito bem né cliquei fora aqui vamos lá né Vamos col vamos arrumar aqui eu não vou agora Caprichar muito a questão do do template vou dar uma uma melhorada é isso aqui é importante ó pessoal por exemplo esse cara aqui eu quero colocar na frente aqui do
nome da embalagem né que que eu vou fazer aqui ó vou vou vou adequar a embalagem aqui e eu quero tirar esse Label aqui então para tirar esse Label é muito simples eu venho aqui eu coloco no Label ó já tá com 0,88 ele tira o Label eu venho aqui e coloco aqui na frente né para mim ter aí uma boa visualização uma Boa disposição né então você vê os programas aí que tem eh campo e descrição eu sempre coloco assim por por questões a sigla também eu posso quiser eu posso colocar aqui ó um
campo pequeno tô otimizando a minha tela né coloco a sigla aqui e os comprimento altura embalagem né eu vou colocar aqui e na disposição beleza né aqui eu vou agora só dar tem que tá alinhado tem garantir que est no mesmo alinhamento tem algumas Jan tem algumas dentro layout aqui né Que eu posso eh usar para alinhar os meus meus objetos deixar ele tudo na mesma coluna né então mas agora tô com pressa não vou eh colocar muito beleza algumas dicas importantes que eu vou ensinar para vocês agora por exemplo Ó tem Campos isso aqui
é muito importante vou ensinar agora eh eh eu tem Campos tá e tem Campos que é que são editáveis somente na inclusão Por exemplo a embalagem ou na edição você a chave primária você vai deixar ele a editar o campo então vou ensinar vocês como vocês faz a manipulação de Campos né então isso aqui é muito é muito importante então como é que funciona isso aqui ó embalagem por exemplo eu quero que a embalagem que ele habilite somente na inclusão não alteração não então o que que eu tenho que fazer tem uma dica aqui muito
importante que que eu vou fazer né eu Vou f em renet né e vou falar que ele é um ADM Create somente né E outra coisa né E como eu vou est com esse campo desabilitado eu preciso gravar esse campo fal com ADM assign Fields né sempre isso é outra dica olha olha isso pessoal sempre que eu tenho um campo que ele vai est desabilitado ele precisa fazer o assign automático eu que tenho que marcar o ADM assign Fields que o ADM assign Fi é uma lista de Campos que toda vez que ele entra no
assign ele faz o Assign automático desses Campos tá então todos os campos quero gravação automática euu eu eu gravo o ADM assign então meio que padrão vou gravar o ADM assign ok muito bem adm modify eu só vou usar essa lista para quê pros Campos que vão ser habilitados no momento que eu vou alterar o registro nesse caso o campo de embalagem eu não quero que ele seja habilitado no momento que eu for aar o registro só no momento que eu for Incluir então muito bem a descrição né mesma coisa vou vir vou vir aqui
né o Advanced eu quero que ele seja ele ele é habilitado no Create ele ele não precisa ser uma DMS mas vou marcar Tod para marcar com e no modify ou seja como eu também alterar o meu campo Ok André mas eu criei a minha View não apareceu essas opções se não aparece as opções eu template tá errado volta e refaz Ok o template tá errado não precisa não preca ficar batendo cabeça que tá errado ok Então muito bem Ó então ó fiz isso isso que é uma dica de verão aí aqui na sigla mesma
coisa a sigla eu vou aqui no Advanced e eu posso deixar ele mudar a sigla André não só no Create e no ass Side não vou deixar ele modificar esses campos aqui né que é os campos eh de comprimento altura e largura eu vou deixar ele modificar em qualquer momento então Marco as três opções Marco as três opções ok E aí né vou marcar aqui as três opções ok ok e Ok muito bem aqui ó beleza a advenced beleza beleza e beleza PR que isso porque muita gente não sabe disso fica manipulando manualmente a para
habilitar desabilitar os campos dá para fazer manual dá mas não precisa a tempete já cuida disso para mim o meu minha janela Smart já cria já cuida disso eh já eu não preciso fazer isso manual então isso aqui é uma dica que muita gente não sabe tá só não sabe eh aí pessoal eu vou salvar né Eh o meu Programa esse aqui é uma viw né então vai ser por exemplo e inova né 001 v01 PW né salvei aqui minha View PW beleza é V porque eu declarei esse p ó de v b01 salvei aí
aqui é claro eu ten que arrumar aqueles padrão das includes do definitions tudo isso aqui ó tem quear também não vou não vou arrumar agora tá mas você entender uma coisa bacana tá E que que a gente precisa que que a Gente precisa tá aí tem algumas dicas que vou dar para vocês aqui n que depois como construir Smart viw aí você fala assim nossa André mas eu tem algumas coisas você falou aqui tem isso na coisa tem né vou mostrar para vocês aqui ó no menu né eu vou vou dar um localizar aqui ó
um cont control F eh né cont Crol f não cont control l de eu ver aqui ó control L ó ó eh vamos ver ó como como construir uma Smart Deixa eu ver se eu vou conseguir achar aqui senão eu vou Pelo menu ó eh ah não achei então basicamente eu posso vir isso aqui ó isso aqui vou dar copiar eu colo isso aqui e vou localizar aqui onde que tem isso ó o que que eu vou achar aqui eu vou procurar né Eh eh onde que eu tenho o manual Ah eu não achei isso
aqui então eh ah não tá procurando por qu deixa eu ver eh bom Ah não achei ah mas tem isso menual tem tá então é simples aqui ó é muito simples eu vou lá no menu Tá eu vou lá no menu e eu vou ter uma área Especial aqui que eu falo disso daqui Quer ver Deixa eu achar aqui o menu para vocês lá em cima no menu aqui né Eh aqui tem o meu eh meu índice remissivo né É aqui no meu índice remissivo tem aqui uma área que eu falo isso aqui ó ó
a todo todos os padrões né vá para Zoom de tabelas importação formação parâmetros parâmetros únicos digitação rápida painéis relatórios tem um monte de includ utilitário que falei para vocês ó Isso aqui é muito bacana tem muito utilitário aqui que tá na tela aqui que você dá para somar muito aí para vocês tradução tudo isso bonitinho e eu tenho aqui né como construir o estilo sua técnica já tava nisso daqui e aqui eu tenho também né Como construir um programa vapar ó como construir uma Mat Car tá aqui ó como construir views tá aqui ó tem
aqui ó tem o passo a passo ó ele fala para você aqui o passo a passo que eu tô falando é claro alumas Coisinhas você precisa ter isso que eu tô mostrando vai dar uma visão para vocês né é de de diferenciada quer vez você lê is que você não entende né Eh e eh então assim que que acontece aqui então como construir views tá aqui tem o padrão define a view ele fala das includes fala do do ADM fril e ele vai falar uma coisa importante aqui ó eh ele vai falar uma coisa importante
e da questão dos Create Fields DM tudo isso Que eu expliquei ó tá aqui ó os Create Fields eh e vai falar também né E muito importante que gente vai falar assim de como eu trabalho a questão do eh add Record né que isso é importante então a gente tem uma um um conceito que eu ensino para vocês sempre que eu tenho um campo eh que eu quero tratar um um objeto vou explicar isso para vocês agora a questão do dos eventos das views isso aqui é muito importante tá vou explicar para vocês agora né
então a Gente tem que entender duas coisas aqui nas views né Eu tenho algumas regiões que já são padrões aqui ó definition são as definições variáveis temp tbl tudo eu coloco aqui é simples assim OK eu tenho aqui as minhas trigas que são as trigas são os eventos Associados a meus objetos eu quero fazer um evento Liv aqui ó a hora que eu sair desse Campo ele já preencher o meu campo evento livre Então venho aqui ó clico no meu mouse né evento livre é o evento F5 então aqui eu Vou criar as as minhas
trigas como é que eu faço isso faço um evento livre já tem uma include que já faz isso padrão tá lá no manual já tem includ já faz isso sozinho que basicamente é o quê é dar um find né na tabela e no registro e ou atribuir o campo aqui automático quando eu tenho uma tabela estrangeira né então não tenho uma tabela estrangeira não faz sentido né mas se eu tiver uma tabela estrangeira eu vou dar um F na tabela estrangeira e atribuir meu campo né Nesse caso aqui eu não tenho uma tabela estrangeira aqui
para esse campo aqui e assim sucessivamente Tá mas o que eu quero falar com vocês é o seguinte pessoal dentro das procedures tá isso aqui é importantíssimo tá duas coisas importantes aqui que eu tenho primeira coisa tem aqui muita gente não sabe ele define aqui o que eu chamo de foring Keys as foring Keys é o quê é os parâmetros que ele passa entre a viio e o meu objeto contêiner e a qu do meu Objeto contêiner isso aqui é muito importante as minhas foring Kids precisa ter a chave do meu objeto né Qual que
é a chave do meu objeto embalagem sigla e ctico não faz sentido eu ten que vir aqui ó remover é às vezes dá certo às vezes não Então isso que é importante ó eu vou trabalhar só com a minha embalagem ve que aqui ele é é uma que que ele faz acessa a chave e ele também devolve a chave Nesse caso tem que ter os dois por quê a minha vía tem tanto Que receber a chave lá da minha Smart Ky e eu tenho que também deixar a chave que tá posicionada para mim paraa minha
vi então el é uma é um parâmetro é input output né Então nesse caso na vi é sempre os dois viu veja que na K eu marco só o o o suplly e aqui são os dois parâmetros basicamente é os parâmetros de que ele passa então a isso que muita gente també não sabe tá é importante arrumar isso aqui porque as for kys nem sempre são criadas corretamente tá então Eu preciso vir aqui e criar isso de forma correta basicamente a minha chave primária né Eh entre os meus processos tá então que que é outra
coisa importante que vocês vão entender dentro de uma tela ddk eu tenho todos os métodos ADM né ADM Create Fi ADM add Fields ADM André como que eu sei os métodos que tem vou ensinar uma dica para vocês tá vou ensinar uma dica para vocês né Depois assim que eu rodar aqui eu vou ensinar uma dica eu abro qualquer Programa né para quem não sabe né eu tenho um programa Eu tenho um Eu tenho um um um um utilitário lá no meu protol que mostra todos os métodos Mas que que é importante saber de tudo
isso todo método né Eu tenho um método local e eu tenho um método ADM né que que é o local o local é um método customizável né Por exemplo aqui ó ADM avaliable isso aqui é importante ó esse método ele é read only que que é um How avaliable esse método toda vez que a k posou no registro ele Dispara esse método André mas eu quero que toda vez que disparar o registro Eu quero ter um F uma tabela estrangeira validar um registro eu posso fazer isso posso né eu vou fazer o quê eu vou
criar uma um um uma uma proca chamado local How avaliable então para qualquer método do ADM olha essa dica para qualquer método do ADM eu posso criar uma variável um método local Só que tem uma dica para criar tá não posso simplesmente criar Como que eu faço isso Né aqui no ADM né que que eu faço né eu vou dar um New né aí o que eu faço aqui ó eh por exemplo aqui ó o RJ tá aqui ó vou dar uma sobrecarga tá vendo ó eu vou fazer aqui ó o que que ele faz
ó ele já criou para mim isso aqui automáticamente ó esse dispet às vezes em algum momento não tem esse método pronto como desp eu tenho que fazer tem que criar na mão para criar na mão por exemplo quando eu quero fazer a criação de um sequência de Registro eu tenho que fazer o local add Record né se eu procurar aqui no meu manual local add Record né é quando ele cria o registro quando oate eu quero fazer um sequencial eu quero incrementar o número mais um no meu sequencial então eu tenho quear uma uma uma
local né add Record né então vou procurar ele aqui ó ó e ó aqui ele fala ó na local add Record SmarTV depois poss impul DD Record isso está escrito no manual tá aqui ó mas eu tenho que fazer isso como Que eu crio uma local DD Record né Eh como que eu faço isso né como que eu crio uma local DD Record vou ensinar para vocês né então toda vez que eu vou por exemplo eh incrementar Ah no no Create quero incrementar um sequencial quero definir o inicial do Campo Onde que eu faço isso
na add Record ah quando eu criar o registro eu quero que volume Inicial seja x a data já seja today a hora já seja time Onde posso fazer isso na local AD DD Record que Onde eu Inicializo os meus registros tá então André mas não tem uma local add Record se não tem a local addd Record isso acontece o quê ele sempre executa o ADM né Aí você fala nossa André Mas como que eu sei quais métodos tem vou mostrar para vocês em breve isso aqui uma forma de gente saber isso ok rapidinho aqui pra
gente já é a Estendeu um pouquinho nosso horário mais rapidinho eu vou vir aqui ó New né Eu não tenho um método de sobrecarga da DD Record então não posso Fazer com sobrecarga então que vou fazer vou que o cidro e escrevo aqui ó local traço add tro Record ó criei meu metro bonitinho qual que o X Ele não crisc a chamada da ADM isso é importante todo metro local tem que ter a chamada do método ADM Então como que eu resolvo isso simples eu tenho por exemplo meu local enable Fields por exemplo eu venho
aqui pego o dispet ó que é um método que dispara o método ADM copio venho aqui no meu local add add Record E control V local aí qu mudar aqui em vez de enable Fields né é tudo igual a add Record add traço Record Pessoal esse aqui é importante o conceito entender o seguinte todo método ADM tá todo ADM que são os métodos chamados de forma de pela minha eu posso customizar esse métod faz a sobrecarga desse método usando o o local Então como é que funciona o local sempre que eu crio um local o
que que min que meu template entende ele vai sempre executar o o local primeiro e Depois realizar o meu e ADM o que que vai acontecer com meu ADM é esse cara aqui ó esse dispet então tudo que eu quero fazer antes né daquela do addd Record onde que eu faço aqui né aqui é antes né antes é o before né da o PC lá o Before e aqui é o o After né tudo e isso vale por quê Pro enable Fields disable já tenho outras prontas aqui ó local enable Fields para que que eu
trato isso se eu quiser aut trab tratar alguma Eh alguma eh habilitar alguma regra específica para habilitar um Camp habilitar um campo eu faço onde aqui né neb Fields né ah eu quero para desabilitar um campo eu tenho a local de Zeb Fields Então tá aqui ah eu quero eh essa aqui é importante pi atualiza parent isso é importante vai entender isso né que que é o parent né É aqui é proco que ele chama a chama para passar o How tá vendo ó How parent externo é aqui que ele Recebe o externo ó P
atualiza parent né Depois você debugar você colocar até Vou colocar aqui ó message ó string né Posso colocar uma message do o meu e How parent que que é isso né ele passa aqui é aqui que o a ddk chama eh para passar o h ID né do registro ele posiciona o registro né aqui eu deveria fazer o qu nesse local aqui né dar um find eh no meu registro né aqui eu poderia dar um find aqui na minha tabela externa pelo HD né às vezes normalmente o o o a ddk Já faz isso tá
às vezes se falar eu posso dar um find aqui é no meu registro Ok por enquanto eu não vou fazer isso que a gente tá em em um tempo curto aqui Vou salvar a minha View tá eh e Vou salvar outra coisa que a gente precisa saber aqui que a gente precisa fazer todas as validações eu coloco no pi validate tá todas as validações aqui até tem um padrão aqui com ADM erro ó Então sempre que dá um erro retorno o que ó ADM erro né porque o ddk já trata o ADM Erro já entende
já tem o TP message aqui já tem um processo padrão ah de validação de onde pi validate Ah mas eu coloquei lá não sei na onde tem que tá na pi validate tá e todos os processos de gravação T quear na local assign Record né porque vamos entender primeiro cuto local add né Record cria o registro em branco Aí você faz toda a manutenção no campo todo o processo de edição inclusão alteração eh digitação quando você clica no verdinho para ele concluir Ele dispara o local assign Record né veja que o local assign Record tem
include invalid que essa invalid faz né ela chamou PV valid Às vezes isso aqui falha né quando falha você vem aqui dá um Run né Você pode dar um insert Call aqui por exemplo ó insert Call pi validate né aqui ó pi validate ó tá aqui dou ok ó então ele já executa né garante que você vai sempre executar P validate então tudo que você quer fazer antes dele gravar você também faz aqui antes Ah aquele câmbio que tenho que gravar na tabela na tabela estrangeira que eu tenho que gravar na tabela externa eu faço
onde aqui depois né E veja que ele dá um dispet aqui ó não assign rec ó ele só vai gravar depois de acontecer esse disat né então ah eu tenho que gravar um câmera estrangeira faço aqui depois é regra padrão pessoal essas dicas são muito valiosas são de Ouro ah mas se eu procuress o manual se eu tem Manual tem lá no manual né mas isso aqui a tá indo Direto ao ponto já tô dando a dica procure que você vai encontrar essa dica lá tá muito bem né Então temos duas dicas padrões aí né
a gente entendeu como é que funciona a Smart View como é que funciona a questão do local eh e aí eh E aí a os métodos de enable disable né eu tenho também um outro método a m Block aqui ó a m Block Eu posso também criar alguma coisa veio que inicializa aqui mas eu não considero ah ok tudo Inicializar posso colocar na Main Block Pode posso colocar na M Block tá eu tenho também uma proced legal aqui que a gente pode usar bastante que é initialize aqui não tem a initialize Mas eu posso criar
um local initialize né que initialize é quando inicializa a tela né definir alguma regra aluma variável alguma function eu posso fazer na na na no C ou alguma função específica posso colocar na Main Block também e deixar el na Main Block ou Criar uma proc aqui né eu posso criar aqui por exemplo proc posso criar por exemplo fanch né ó eu posso criar uma fancha sua né retorna O quê retorna inteiro ó então ele já cria automático a função ó fn né fn retorna número né retorna retorna num Exemplo né então ó function ó Ok
ó já criou uma função para você automático ó é só você implementar sua function a mesma coisa uma Cid né eu posso vir aqui ó dar um New eu posso criar uma po customizada ó pi traço eh Trata eh trata customer né então eu posso fazer aqui um uma uma custum przada eu vou chamar ela onde que fo de meu interesse muito bem muito bem vou salvar minha View vou já salvei na verdade vou só salvar de novo para pegar mes alteração E aí André vamos ver como é que funciona uma coisa aqui beleza vou
instanciar a minha View a mesma coisa pessoal mesmo processinho eu vem aqui seleciona meha Smart View ó veja que tem um método aqui um objeto ó Smart View ó Smart View dei um browser vou aqui na minha View ó vou dar um Open e vou colocar aqui ó ó ele já cria o link com a smartc automático cria o link Smart Pinel do H automático beleza ó instancie aqui ó bonitinho eu só ajusto aqui o tamanho da minha janela olha que lindo né aí tá quase pronto vou salvar aqui meu contêiner então é inova 001
c01 PW e vou salvar muito bem ó Salvei que que eu vou fazer agora uma coisa muito simples Eu Preciso conferir a lista de smart links cada janela tem um lista de Smart Link diferente muita janela não funciona porque não tem é Smart Link vou dar outra dica Smart Link para vocês também que é uma dica muito importante que muita gente não sabe tá então vou voltar lá no meu na minha na minha página 204 né vou voltar pelo meu menu no Capítulo 8 pra gente voltar ali pra gente conferir OS Smart links né vou
Aqui pelo menu que é mais rápido eu chegar lá ó Capítulo oito Vou colocar aqui o Capítulo 8 Capítulo 7 Capítulo oito Como construir um cadastro simples vou vir aqui ó vou aperto o control né que já leva eu direto para lá então tá aqui e aqui tem uma no final tem uma coisa muito importante né ele fala tudo isso que a gente repetiu aqui e aqui ele fala a lista de smart links isso aqui é importantíssimo se isso que não tiver Correto não vai funcionar eu tenho que sempre conferir os meus Smart links né
então tem ó state table io que o table io é um Smart Link do tipo que ele passa o rid né da da vi para smart Car da Smart Car para vi e vice-versa por chama tbo né ele passa eh ele comunica né Passa o rid navigation né que é a parte de navegação O que passa os estados entre entre o navegação e k o o x que é o saída consulta relacionado pass estados e o record que é o record que Passa o howd aí pro meu PR minha View né então a gente tem
aí e esse Smart viw é muito simples né eu tenho que conferir vou ter que vir aqui conferir então que que eu vou fazer aqui eu vou fazer conferir meu smart links Então vem aqui ó Smart links e vou conferir ver se tá tudo certo vou fechar aqui colocar minha janelinha do lado se eu tivesse outro monitor poderia fazer isso aqui em outro monitor né mas como eu tô não compartilhando a tela tá aqui ó Basicamente tem que bater tem que bater ah cadsim state vamos tirar a telinha aqui da frente ó a cadsim state
com a b r tá aqui ó cadsim Stage com Xel tá aqui cads T Opa cads table já criou ó com H vi ó que é a minha View ó tá aqui ó eh HP navega HP navega navigation tá aqui HP navega state HP navega state tá aqui h Car Record H Car Record tá aqui ó com min V tá aqui ó H hpix Hell com state H HP Hell tá aqui state né então ele criou PR mim já a maioria dos meus Mat link não precisi criar manual Então tá aqui vou dar um close
agora eu já posso rodar o meu programa Vou salvar Meu Container e vou rodar né vou ver se eu fiz né ó já tá aqui minhas embalagens ó bonitinho ó já tá navegando ó pra direita pra esquerda ó basicamente né em menos de uma hora só falta aqui o vapar que a gente não criou ainda e o zoom mas o programa já tá praticamente Pronto né isso explicando falando então é muito rápido criar um programa de cadastro Simples bom muito bem né então aqui ó tá aqui vou incluir ó vou incluir vou colocar embalagem eh
vou colocar a embalagem aqui eh ah tá caiu aqui uma validação Vamos criar aqui uma embalagem embalagem teste é nova academia vou colocar sigla né que eu soltei que a sigla m 1 e embalagem Vamos colocar em Nova né embalagem nova comprimento 12 ó vou salvar ó que legal ó vamos lá ó ó Já criei minha embalagem ó in noova tá aqui ó bonitinho vou modificar ó E veja que aqui tem tem que ver porque que aconteceu o seguinte esse campo aqui na modificação ele não deveria ficar habilitado por ele ficou como enbo ali Então
essa é uma dica ali navio né não pode ficar comen nego Então vou vir aqui vou dar um um vou dar um um um Edit Master e aqui esse campo Inicial dele não pode estar comen Por quê eu não quero eu quero que ele só seja habilitado no momento eh que eu tiver modificando vou dar um ok aqui E esse Cara aqui também eu vou desabilitar né o enable dele ó OK vou dar ok e vou salvar novamente ó quando eu salvo ele já me leva pro contêiner eu rodo aqui pro contêiner agora eu vou
né paraa minha última V achar uma embalagem qualquer aqui vou modificar ó é isso que eu queria tá vendo ó quando eu modificar ele não pode atualizar para mim eu quero que o campo embalagem e o campo sigla fique desabilitado veja que eu não usei nenhum código eu só manipulei Componentes né Isso que é legal essa dica que é bacana né Eu só manipulei e propriedades do meu objeto eu não precisei criar Não precisei modificar Não precisei criar nenhum código que que eu crii de código aqui nada zero de código simplesmente manipulei componentes nada mais
nada né para falar que eu não digitei nada eu coloquei a versão e o nome dos programas mais nada pessoal é muito legal Ah tudo bem se tiess tratativa no validate andr Tem que fazer uma validação legal colocar no P validate fazer um zoom né implementar um zoom tudo tem manual o F5 tem tudo pronto as incluses é só pegar copiar colar e adaptar é muito simples Ah mas fazer um cadastro complexo é mais difícil é mais difícil é que fazer um cadastro eh mas só seguir o processo passo a passo o conceito o conceito
é o mesmo só muda as técnicas mas o processo é idêntico pessoal legal o que vocês acharam disso dá Um dá um um um dá um ping aí no chat pra gente aí vocês já sabiam fazer isso todo mundo que tá aqui sabia sabia dessas dicas Por mais que você já programava dá um ping aí pra gente agora pessoal eu vou ensinar para vocês uma coisa muito importante né como que eu identifico as procas ADM que eu tenho que eu quero fazer sobrecarga né porque por ver que não aparece todas as procas ADM Como como
que eu identifico Da tela é muito simples tá muito simples eu rodo a tela ó eu rodo a tela E aí aqui no meu no meu pro Tools né que eu já acabei de abrir eu tenho o pro Tools eu tenho aqui um negócio que eu chama de procedes ó procedes eu vou pegar aqui por exemplo né o meu programa qual o programa que eu criei aqui ó ó tem a k e eu Ten o meu programa que é o meu programa que tá rodando né agora né então Ó esse cara aqui então o que
que eu tenho aqui ó que é meu programa que Tá rodando né que tá aqui no no meu arquivo de ver se é esse aqui ó tem a k tem a vi ó aqui na vi ó meu programa vi ó então qual qual asos proc ADM que eu tenho na minha View tá aqui ó minha View tá instanciada ó tá Tod aqui ó ADM Record apply o assign o Block cancel Record cpia ai mas eu quero então customizar cópia eu quero para quando copiar o pai copiar os filhos Onde customizo Aqui ó local copy Record
ó Create Record o Rent delete Record então Eu crio o local delete para mim poder custumizar uma exclusão então isso daqui é sensacional você vai conseguir eh você vai conseguir de forma e cara de forma assim não tem jeito tá cara isso aqui é fantástico isso que coisa muita gente não sabe tem eu conheço ó vou falar uma coisa com vocês aqui Conheço pessoas que programa com ddk há 10 12 anos e não sabe disso eu aposto aqui ó tem pessoas aqui no grupo que programa Há 10 12 anos ou mais 20 anos 15 anos
que não sabe disso tá eu garanto tá porque isso aqui eu canso de falar eu canso de ensinar paraas pessoas as pessoas que tá comigo tá E é uma coisa que ajuda muito né então aqui eu tenho acesso a todos os métodos da minha View eu sei todos os métodos que eu posso fazer sobrecarga e isso ajuda muito e isso vai te dar uma visão diferenciada para você fazer um programa sensacional um programa de qualidade ó como ver que Eu tenho um ADM update aqui ó Então posso lá no update na atualização regist posso fazer
uma consumação posso com local update Record né então tem muito método aqui que você pode eh eh usar para eh melhorar a qualidade do seu código para qualidade do nosso programa e fazer um programa programa diferenciado vamos falar assim né programa diferenciado que segue as boas práticas que segue uma um um processo muito bacana Então é isso gente muito Obrigado muito boa noite e até a próxima quarta-feira espero vocês tá muito obrigado [Música] gente l