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 :: Minhas Idéias em BlackTDN :: dna.tech.JSONCoreFunction :: 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": "dna.tech.JSONCoreFunction",
    "FunctionName": "MemoRead",
    "FunctionParameters": {
        "cFile": {
            "type": "O",
            "value": {
                "ClassName": "dna.tech.JSONCoreFunction",
                "FunctionName": "Eval",
                "FunctionParameters": {
                    "CodeBlock": {
                        "type": "B",
                        "value": "{|odbTools|odbTools:cFile()}"
                    },
                    "odbTools": {
                        "type": "O",
                        "value": {
                            "ClassName": "dna.tech.JSONCoreFunction",
                            "FunctionName": "dna.tech.dbTools():ToJSON",
                            "FunctionParameters": {
                                "cQuery": "SELECT SX5.* FROM SX5010 SX5 WHERE SX5.X5_TABELA='32'",
                                "cFile": null,
                                "cJSONMain": "dna.tech.JSONCoreFunction",
                                "lX3Titulo": false,
                                "lIEmptyFields": false,
                                "lHeader": true,
                                "lRowNumber": true
                            }
                        }
                    }
                }
            }
        }
    },
    "cHTTPCTType": "application/json; charset=UTF-8",
    "lHTTPCTType": true
}
```

#### Result

```json
{
    "table": "dna.tech.JSONCoreFunction",
    "Header": [
        [
            "X5_FILIAL",
            "C",
            2,
            0
        ],
        [
            "X5_TABELA",
            "C",
            2,
            0
        ],
        [
            "X5_CHAVE",
            "C",
            6,
            0
        ],
        [
            "X5_DESCRI",
            "C",
            55,
            0
        ],
        [
            "X5_DESCSPA",
            "C",
            55,
            0
        ],
        [
            "X5_DESCENG",
            "C",
            55,
            0
        ],
        [
            "R_E_C_N_O_",
            "N",
            15,
            0
        ],
        [
            "R_E_C_D_E_L_",
            "N",
            15,
            0
        ]
    ],
    "items": [
        {
            "Row": 1,
            "item": [
                "",
                "32",
                "A",
                "FUNCIONARIO RECEBE ANUENIO",
                "EMPLEADO COBRA ANUENIO",
                "EMPLOYEE RECEIVES ANNUAL",
                9385,
                0
            ]
        },
        {
            "Row": 2,
            "item": [
                "",
                "32",
                "B",
                "FUNCIONARIO RECEBE BIENIO",
                "FUNCIONARIO RECIBE BIENIO",
                "EMPLOYEE RECEIVES BIENNIUM",
                9386,
                0
            ]
        },
        {
            "Row": 3,
            "item": [
                "",
                "32",
                "D",
                "FUNCIONARIO RECEBE QUADRIENIO",
                "EMPLEADO COBRA CUADRIENIO",
                "EMPLOYEE RECEIVES QUADRENNIAL",
                9387,
                0
            ]
        },
        {
            "Row": 4,
            "item": [
                "",
                "32",
                "N",
                "FUNCIONARIO NAO RECEBE ADICIONAL",
                "EMPLEADO NO COBRA ADICIONAL",
                "EMPLOYEE DOES NOT RECEIVE ANY ADDITIONAL",
                9388,
                0
            ]
        },
        {
            "Row": 5,
            "item": [
                "",
                "32",
                "Q",
                "FUNCIONARIO RECEBE QUINQUENIO",
                "EMPLEADO COBRA QUINQUENIO",
                "EMPLOYEE RECEIVES QUINQUENNIUM",
                9389,
                0
            ]
        },
        {
            "Row": 6,
            "item": [
                "",
                "32",
                "T",
                "FUNCIONARIO RECEBE TRIENIO",
                "EMPLEADO RECIBE CAPACITACION",
                "EMPLOYEE RECEIVES TRIENNIAL",
                9390,
                0
            ]
        }
    ]
}
```

Comentários

Postagens mais visitadas