Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.resource
A instância FlowResource no contexto atual, usada para acessar e operar dados. Na maioria dos blocos (Formulários, Tabelas, Detalhes, etc.) e cenários de pop-up, o ambiente de execução pré-vincula o ctx.resource. Em cenários como JSBlock, onde não há um recurso por padrão, você deve primeiro chamar ctx.initResource() para inicializá-lo antes de usá-lo via ctx.resource.
Cenários de Uso
O ctx.resource pode ser usado em qualquer cenário RunJS que exija acesso a dados estruturados (listas, registros únicos, APIs personalizadas, SQL). Blocos de Formulário, Tabela, Detalhes e pop-ups geralmente já estão pré-vinculados. Para JSBlock, JSField, JSItem, JSColumn, etc., se o carregamento de dados for necessário, você pode chamar ctx.initResource(type) primeiro e depois acessar ctx.resource.
Definição de Tipo
- Em contextos com pré-vinculação,
ctx.resourceé a instância do recurso correspondente. - Em cenários como JSBlock, onde não há recurso por padrão, ele é
undefinedaté quectx.initResource(type)seja chamado.
Métodos Comuns
Os métodos expostos por diferentes tipos de recursos (MultiRecordResource, SingleRecordResource, APIResource, SQLResource) variam ligeiramente. Abaixo estão os métodos universais ou comumente usados:
Específicos de MultiRecordResource: getSelectedRows(), destroySelectedRows(), setPage(), next(), previous(), etc.
Exemplos
Dados de Lista (requer initResource primeiro)
Cenário de Tabela (pré-vinculado)
Registro Único
Chamando uma Ação Personalizada
Relação com ctx.initResource / ctx.makeResource
- ctx.initResource(type): Se
ctx.resourcenão existir, ele cria e vincula um; se já existir, retorna a instância existente. Isso garante que octx.resourceesteja disponível. - ctx.makeResource(type): Cria uma nova instância de recurso e a retorna, mas não a escreve em
ctx.resource. Isso é adequado para cenários que exigem múltiplos recursos independentes ou uso temporário. - ctx.resource: Acessa o recurso já vinculado ao contexto atual. A maioria dos blocos/pop-ups já está pré-vinculada; caso contrário, será
undefinede exigiráctx.initResource.
Observações
- Recomenda-se realizar uma verificação de valor nulo antes do uso:
ctx.resource?.refresh(), especialmente em cenários como JSBlock onde a pré-vinculação pode não existir. - Após a inicialização, você deve chamar
setResourceName(name)para especificar a coleção antes de carregar os dados viarefresh(). - Para a API completa de cada tipo de Recurso, consulte os links abaixo.
Relacionados
- ctx.initResource() - Inicializa e vincula um recurso ao contexto atual
- ctx.makeResource() - Cria uma nova instância de recurso sem vinculá-la ao
ctx.resource - MultiRecordResource - Múltiplos registros/Listas
- SingleRecordResource - Registro único
- APIResource - Recurso de API geral
- SQLResource - Recurso de consulta SQL

