Pular para o conteúdo principal

ST_INFORMAPESOMANUAL

Com base em todas as evidencias ja coletadas, tenho o suficiente para gerar o documento. Vou criar o Markdown.

---
sidebar_label: "ST_INFORMAPESOMANUAL"
title: "ST_INFORMAPESOMANUAL — Informar Peso Manual"
parametro: "ST_INFORMAPESOMANUAL"
tabela: "PARMUSUARIO"
displayed_sidebar: "tecnicaSidebar"
---

# ST_INFORMAPESOMANUAL — Informar Peso Manual

> **Tela de configuração:** [ADM012 - Parâmetros do Usuário](/telas/administracao/adm012-parametros)
> **Campo:** `PARMUSUARIO.ST_INFORMAPESOMANUAL`
> **Componente:** `cmbST_INFORMAPESOMANUAL` (combobox)
> **Valor padrão:** `S` (Sim)

## Telas impactadas

| Tela | Descrição | Impacto |
|------|-----------|---------|
| MPD039 | (tela de pesagem) | Habilita/bloqueia campos de entrada e saída de peso |

## Campos envolvidos

| Tabela | Campo | Tipo | Padrão |
|--------|-------|------|--------|
| `PARMUSUARIO` | `ST_INFORMAPESOMANUAL` | `DOM_CHAR1` (CHAR(1)) | `'S'` |

## Opcoes disponiveis

| Opção | Valor | O que faz | Detalhe |
|-------|-------|-----------|---------|
| **Sim** | `S` | Permite digitar peso manualmente | Os campos `PS_ENTRADA` e `PS_SAIDA` ficam editáveis (`ReadOnly := False`) |
| **Não** | `N` | Bloqueia digitação de peso | Os campos `PS_ENTRADA` e `PS_SAIDA` ficam travados (`ReadOnly := True`) |

### Simulacao passo a passo — S (Sim)

1. Acesse **ADM012 — Parâmetros do Usuário** (`ADM012`).
2. Localize o campo **ST_INFORMAPESOMANUAL**.
3. Selecione a opção **Sim**.
4. Salve o registro.
5. Abra a tela de pesagem (MPD039).
6. Verifique que os campos **Peso Entrada** (`PS_ENTRADA`) e **Peso Saída** (`PS_SAIDA`) estão editáveis.

**Resultado esperado:** O operador pode digitar o peso manualmente nos campos de entrada e saída da tela de pesagem.

### Simulacao passo a passo — N (Não)

1. Acesse **ADM012 — Parâmetros do Usuário** (`ADM012`).
2. Localize o campo **ST_INFORMAPESOMANUAL**.
3. Selecione a opção **Não**.
4. Salve o registro.
5. Abra a tela de pesagem (MPD039).
6. Verifique que os campos **Peso Entrada** (`PS_ENTRADA`) e **Peso Saída** (`PS_SAIDA`) estão travados (cinza, não editáveis).

**Resultado esperado:** O operador não consegue digitar peso manualmente; o peso deve ser informado por meio de balança/leitor integrado.

## Comportamento observavel no codigo

Quando `ST_INFORMAPESOMANUAL = 'S'`, a tela MPD039 define:
```pascal
frmMPD039.edtPS_ENTRADA.ReadOnly := False;
frmMPD039.edtPS_SAIDA.ReadOnly := False;

Quando ST_INFORMAPESOMANUAL = 'N':

frmMPD039.edtPS_ENTRADA.ReadOnly := True;
frmMPD039.edtPS_SAIDA.ReadOnly := True;

A consulta é executada no módulo dmMPD039 filtrando por empresa e usuário da sessão:

SELECT ST_INFORMAPESOMANUAL
FROM PARMUSUARIO
WHERE CD_EMPRESA = :CD_EMPRESA
AND CD_USUARIO = :CD_USUARIO

Tabela de parametros relacionados​

ParametroTelaFinalidade
PC_MAXDESCONTOADM012Desconto máximo permitido ao usuário
ST_AUTORIZADORADM012 / TFA008Define se o usuário atua como autorizador
ST_OCULTASANDOCONTASADM012Oculta opções de saldo de contas

Referencias no codigo fonte​

Rotinas Delphi com referencia direta ao campo​

RotinaArquivoTrecho
TdmADM012.tabPARMUSUARIOAfterInsertsource/ADM012/UdmADM012.pas:255tabPARMUSUARIOST_INFORMAPESOMANUAL.AsString := 'S';
Busca_Parametrossource/MPD039/UdmMPD039.pas:142SELECT ST_INFORMAPESOMANUAL FROM PARMUSUARIO ...
TfrmADM013.btnDuplicaUsuarioClicksource/ADM013/UADM013.pas:475Copia o campo ao duplicar usuário
TfrmADM013.btnDuplicaUsuarioClicksource/ADM013/UADM013.pas:526Grava o campo na duplicação: nulo(dataset.fieldbyName('ST_INFORMAPESOMANUAL').AsString,'S')