# Checklist de Revisao ## Estrutura base - Preserve o namespace `http://www.davinti.com.br/vitruvio/form` e o `schemaLocation` oficial na raiz quando o artefato for formulario Vitruvio. - Confirme a presenca e a ordem logica dos blocos `descriptorScript`, `form`, `name`, `initScript`, `validators` e `buttons` quando o tipo de arquivo usar esse skeleton. - Mantenha IDs e nomes existentes sempre que possivel para evitar quebra de bind e scripts acoplados. ## Bind e dados - Em `bind`, todo `parameter` precisa de `defaultValue`, inclusive para `string`, `number` e `date`. - Reuse parametros ja existentes antes de criar novos binds paralelos. - Se a alteracao depende de variavel de processo, confira se ela sai de `execution.getVariable` ou se precisa ser registrada no `initScript`. ## Escolha de evento - `initScript`: inicializacao de globais, filtros padrao, datas iniciais e estado de tela. - `valueChange`: recarga de campos dependentes e widgets quando filtros mudam. - `itemChange`: persistencia e validacao de celulas editaveis em `DBTable`. - `onClickScript`: acoes principais como gerar, enviar, processar ou abrir fluxo auxiliar. - `TabChangeScript`: alternancia de abas e atualizacao de widgets dependentes da aba atual. ## Script embarcado - Use apenas sintaxe compativel com Rhino ES5. - Monte SQL e HTML com concatenacao incremental. - Use `engine.getField`, `engine.getLabel`, `engine.getWidget` e `engine.setGlobalVariable` seguindo os padroes do repositorio. - Evite criar validacoes redundantes para componentes que ja existem em tela. ## Fontes internas do workspace - `Vitruvio/Documentação/eventos-vitruvio.md` - `Vitruvio/Documentação/Componentes/README.md` - `Vitruvio/Documentação/Componentes/*.ts`