SC1 e a "porta de entrada" do processo de compras. Usuario solicita produto/servico → aprovacao → cotacao (SC8) → PC (SC7). Tabela central pra workflow de compras.
Campos principais
| Campo | Tipo | Descricao |
|---|
| C1_FILIAL | C | Filial |
| C1_NUM | C | Numero SC |
| C1_ITEM | C | Item |
| C1_PRODUTO | C | Produto |
| C1_DESCRI | C | Descricao |
| C1_UM | C | Unidade |
| C1_QUANT | N | Quantidade |
| C1_EMISSAO | D | Emissao |
| C1_DATPRF | D | Data necessidade |
| C1_USER | C | Solicitante |
| C1_CC | C | Centro de custo |
| C1_APROV | C | L=Liberado, B=Bloqueado |
| C1_NUMPED | C | PC gerado (link SC7) |
| C1_LOCAL | C | Armazem destino |
Indices
| Ordem | Chave |
|---|
| 1 | C1_FILIAL+C1_NUM+C1_ITEM+C1_PRODUTO |
| 2 | C1_FILIAL+C1_PRODUTO+C1_NUM |
| 3 | C1_FILIAL+C1_DATPRF+C1_NUM |
Codigo tipico
// SCs pendentes de aprovacao
SC1->(DBSetOrder(1))
SC1->(DBSeek(xFilial("SC1")))
While !SC1->(Eof()) .And. SC1->C1_FILIAL == xFilial("SC1")
If C1_APROV == "B" // bloqueado = pendente aprovacao
ConOut("SC " + SC1->C1_NUM + " aguardando")
EndIf
SC1->(DBSkip())
EndDo
Tabelas relacionadas
| Tabela | Relacao |
|---|
| SC7 | Pedido de Compra gerado |
| SC8 | Cotacao |
| SB1 | Produto solicitado |
Pegadinhas
- SC1 com C1_NUMPED preenchido ja virou PC — fluxo continua em SC7.
- Workflow de aprovacao por alcada — regra esta em SC1_VLALCADA + SCT (tabela de alcadas).
- Cancelar SC ja aprovada exige justificativa.
Veja também