Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Gerenciamento de Erros e Avisos em Projetos AdvPL/TLPP: Um Desafio Frequente no Desenvolvimento TOTVS Protheus

_Créditos da imagem: Gerada com auxílio do ChatGPT_ --- **Gerenciamento de Erros e Avisos em Projetos AdvPL/TLPP: Um Desafio Frequente no Desenvolvimento TOTVS Protheus** Ao trabalhar com projetos desenvolvidos na linguagem AdvPL/TLPP, especialmente em ambientes como o TOTVS Microsiga Protheus, desenvolvedores frequentemente se deparam com uma série de problemas e avisos de compilação. Recentemente, em uma análise de código de um dos nossos projetos, foram identificados mais de 700 problemas durante o processo de compilação, distribuídos entre erros críticos e avisos que podem afetar o desempenho e a manutenção da aplicação. ### Principais Problemas Encontrados Entre os problemas destacados, podemos citar: 1. **Erros de Nomenclatura e Duplicação de Fontes**: - Um dos erros mais críticos que surgiram foi: "Not allowed more than one source with same name". Este erro é comum quando há múltiplos arquivos PRW com o mesmo nome em diferentes pastas do projeto, o que pode

BlackTDN :: Select Data Table :: userRestCrudTLPPCoreFunction :: AllToJSON

![All To JSON](https://files.oaiusercontent.com/file-5vrE97EYZMdR8b7NNOeYilbQ?se=2024-10-09T16%3A19%3A10Z&sp=r&sv=2024-08-04&sr=b&rscc=max-age%3D604800%2C%20immutable%2C%20private&rscd=attachment%3B%20filename%3D0ed63ef3-a94f-4355-9ec5-42e77c94a604.webp&sig=Ldyx4bXhS4qJFm4G1nKFtC3L7S8blTRyJzK58c1lB0o%3D)
_Créditos da imagem: Gerada com auxílio do ChatGPT_

#### Request

```json
{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "yesFields": "X5_TABELA,X5_CHAVE,X5_X5_DESCRI",
    "Filter": "D_E_L_E_T_=' ' AND X5_TABELA='35'",
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

#### OU... Request

```json

{
    "ClassName": "userRestCrudTLPPCoreFunction",
    "FunctionName": "dna.tech.codAliasPost",
    "codAlias": "SX5",
    "noFields": "X5_FILIAL,X5_DESCSPA,X5_DESCENG",
    "Filter": {"D_E_L_E_T_" : " ", "X5_TABELA" : "35"},
    "PageNumber": 1,
    "RowspPage": 10,
    "cEmp": "01",
    "cFil": "01",
    "lChkPrepEnv": false,
    "lHTTPCTLen": true,
    "lFWHTTpEncode": true,
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "method": "get",
    "path": "/userRestCrudADVPL/codAlias/",
    "PageNumber": 1,
    "RowspPage": 10,
    "table": {
        "alias": "SX5",
        "name": "SX5010",
        "description": "Tabelas",
        "index": "X5_FILIAL+X5_TABELA+X5_CHAVE",
        "items": [
            {
                "detail": {
                    "row": 1,
                    "key": "35001",
                    "recNo": 9436,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "001",
                        "X5_DESCRI": "Anuenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 2,
                    "key": "35002",
                    "recNo": 9437,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "002",
                        "X5_DESCRI": "Bienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 3,
                    "key": "35003",
                    "recNo": 9438,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "003",
                        "X5_DESCRI": "Trienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 4,
                    "key": "35004",
                    "recNo": 9439,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "004",
                        "X5_DESCRI": "Quadrienio"
                    }
                }
            },
            {
                "detail": {
                    "row": 5,
                    "key": "35005",
                    "recNo": 9440,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "005",
                        "X5_DESCRI": "Quinquenio"
                    }
                }
            },
            {
                "detail": {
                    "row": 6,
                    "key": "35006",
                    "recNo": 9441,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "006",
                        "X5_DESCRI": "Pagamento Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 7,
                    "key": "35007",
                    "recNo": 9442,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "007",
                        "X5_DESCRI": "Desconto Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 8,
                    "key": "35008",
                    "recNo": 9443,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "008",
                        "X5_DESCRI": "Arredondamento do Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 9,
                    "key": "35009",
                    "recNo": 9444,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "009",
                        "X5_DESCRI": "Imposto de Renda no Adiantamento"
                    }
                }
            },
            {
                "detail": {
                    "row": 10,
                    "key": "35010",
                    "recNo": 9445,
                    "items": {
                        "X5_TABELA": "35",
                        "X5_CHAVE": "010",
                        "X5_DESCRI": "Base do I.R. no Adiantamento"
                    }
                }
            }
        ]
    },
    "hasNextPage": true,
    "NextPage": 2,
    "TotalPages": 47
}
```

Comentários

Postagens mais visitadas