Bye Bye Progress

Discussão em 'Progress 4GL' iniciado por emr, Agosto 24, 2011.

  1. costa

    costa Sem Pontuação

    Bom Dia

    A duas semanas atras houve um evento na Totvs São Paulo, onde eles falaram do TotvsStudio, segundo explicações ele seria uma ferramenta como é o ADVPL, onde eles estariam fazendo um compilador progress que seria colocado dentro de uma interface própria, o banco poderia ser ou não em progress, caso progress o acesso seria via ODBC.
    A intenção é ter uma ferramenta capaz de fazer desenvolvimentos em qualquer um dos produtos Totvs.
    Segundo eles a ferramenta já está em piloto, e o horizonte para que ela entre em funcionamento não seria muito distante.
    Sinceramente sou da opinião dos amigos, isso deve demorar muito, se é que vai funcionar.
  2. CarlosNobrega

    CarlosNobrega Membro Participativo

    Funciona meia boca. Faz mais cadastros simples e meio complexos...depois disso não vi nada.

    O Módulo CRM da Datasul, antigo One to One, foi reescrito nesta tecnologia de metadados.

    O progress ainda existe, porém a montagem de telas é que foi acelerada.

    Eles até podem sair do Progress, mas daqui a uns 5 anos no mínimo.

    E se realmente acontecer o que está querendo acontecer (de a Microsoft comprar a Totvs) dificilmente terá empenho nisso.

    Vão deixar o problema pra MS resolver...hehehe

    Só sei que se for pra ter uma solução será migrando tudo para Oracle ou SQL Server, pq DataServer com SQL Server rola de forma muito complicada...

    Atualmente a Progress está trabalhando em outro banco de dados, o ObjectStore. (Banco de dados orientado a objetos)

    o mercado muda todo dia...Quem dormiu no ponto mesmo foi a Datasul com uma área de tecnologia que não usou quase nada dos recursos Progress a partir da versão 9.1E...em se falando de desenvolvimento...para DBA foram obrigados a migrar devido a performance...mas os templates são puro 9.1E.


    Abraço...
  3. michel

    michel Membro Participativo

    Amigos abaixo fonte do relatório de desoneração da folha gerando em excel espelho do livro fiscal customizado por mim.

    Atenciosamente, Michel Correa
    Código:
    def new global shared var data-inicial    as date format "99/99/9999" label "DT Inicial" no-undo.
    def new global shared var data-final      as date format "99/99/9999" label "DT Final" no-undo.
    
    /*
    assign  data-inicial = date("01/08/2012")
            data-final = date("31/08/2012").
    */
    
    def var excelappl as com-handle no-undo.
    def var ChWorkSheet as com-handle no-undo.
    def var linha as int no-undo.
    def var h-acomp as handle no-undo.
    
    {include/i-prgvrs.i suportejoi\relatorios\desonera-folha.p 2.06.00.001}
    {include/i-rpvar.i}
    run utp/ut-acomp.p persistent set h-acomp.
    run pi-inicializar IN h-acomp (input "Relatorio").
    
    assign linha = 8.
    
    create "excel.application" excelappl.
    excelappl:workbooks:add("\\serverbd\datasul\Totvs\especificos\documentos\desfolha.xls").
    assign ChWorkSheet = excelappl:ActiveSheet.
    excelappl:worksheets:item(1):select.
    excelappl:visible = false.
    
    excelappl:range("h5"):VALUE = string(data-inicial) + " - " + string(data-final).
    
    for each nota-fiscal no-lock where nota-fiscal.dt-emis-nota  >= data-inicial and nota-fiscal.dt-emis-nota  <= data-final and nota-fiscal.cod-estabel >= "mtz" and nota-fiscal.cod-estabel <= "mtz" and nota-fiscal.ind-sit-nota  <> 4,
        each sit-nf-eletro no-lock where sit-nf-eletro.cod-estabel  = nota-fiscal.cod-estabel and sit-nf-eletro.cod-serie = nota-fiscal.serie and sit-nf-eletro.cod-nota-fis = nota-fiscal.nr-nota-fis,
        each it-nota-fisc no-lock where it-nota-fisc.dt-cancela = date("") and it-nota-fisc.nr-nota-fis = nota-fiscal.nr-nota-fis and it-nota-fisc.serie = nota-fiscal.serie and it-nota-fisc.cod-estabel = nota-fiscal.cod-estabel,
        each classif-fisc no-lock where classif-fisc.class-fiscal = it-nota-fisc.class-fiscal,
        each natur-oper no-lock where natur-oper.nat-operacao = it-nota-fisc.nat-operacao,
        each item no-lock where item.it-codigo = it-nota-fisc.it-codigo break by it-nota-fisc.nr-seq-fat:
     
    run pi-acompanhar in h-acomp (input "Gerando itens notas: " + string(item.it-codigo) + " " + string(item.desc-item)).
    
    excelappl:range("a" + string(int(linha + 0))):VALUE = item.fm-codigo.
    excelappl:range("b" + string(int(linha + 0))):VALUE = item.it-codigo.
    excelappl:range("c" + string(int(linha + 0))):VALUE = item.desc-item.
    excelappl:range("d" + string(int(linha + 0))):VALUE = "Saidas".
    excelappl:range("e" + string(int(linha + 0))):VALUE = it-nota-fisc.nr-nota-fis.
    excelappl:range("f" + string(int(linha + 0))):VALUE = it-nota-fisc.serie.
    excelappl:range("g" + string(int(linha + 0))):VALUE = nota-fiscal.dt-emis-nota.
    excelappl:range("h" + string(int(linha + 0))):VALUE = classif-fisc.class-fiscal.
    excelappl:range("i" + string(int(linha + 0))):VALUE = it-nota-fisc.vl-tot-item / it-nota-fisc.qt-faturada[1].
    excelappl:range("j" + string(int(linha + 0))):VALUE = it-nota-fisc.qt-faturada[1].
    excelappl:range("k" + string(int(linha + 0))):VALUE = it-nota-fisc.vl-tot-item.
    excelappl:range("l" + string(int(linha + 0))):VALUE = natur-oper.cod-cfop.
    excelappl:range("m" + string(int(linha + 0))):VALUE = it-nota-fisc.nat-operacao. 
    excelappl:range("n" + string(int(linha + 0))):VALUE = it-nota-fisc.vl-ipi-it.
    excelappl:range("o" + string(int(linha + 0))):VALUE = it-nota-fisc.vl-icmsub-it.
    excelappl:range("p" + string(int(linha + 0))):VALUE = it-nota-fisc.vl-desconto.
    assign linha = linha + 1.
    end.
    
    for each docum-est no-lock where docum-est.cod-estabel >= "mtz" and docum-est.cod-estabel <= "mtz" and docum-est.dt-trans >= data-inicial and docum-est.dt-trans <= data-final and docum-est.tipo-docto =  1,
        each item-doc-est no-lock USE-INDEX documento where item-doc-est.serie-docto = docum-est.serie and item-doc-est.nro-docto = docum-est.nro-docto and item-doc-est.cod-emitente = docum-est.cod-emitente and item-doc-est.nat-operacao = docum-est.nat-operacao,
        each classif-fisc no-lock where classif-fisc.class-fiscal = item-doc-est.class-fiscal,
        each natur-oper no-lock where natur-oper.nat-operacao = item-doc-est.nat-operacao,                     
        each item no-lock where item.it-codigo = item-doc-est.it-codigo.
    
    run pi-acompanhar in h-acomp (input "Gerando itens entrada: " + string(item.it-codigo) + " " + string(item.desc-item)).
                         
    excelappl:range("a" + string(int(linha + 0))):VALUE = item.fm-codigo.
    excelappl:range("b" + string(int(linha + 0))):VALUE = item.it-codigo.
    excelappl:range("c" + string(int(linha + 0))):VALUE = item.desc-item.
    excelappl:range("d" + string(int(linha + 0))):VALUE = "Entradas".
    excelappl:range("e" + string(int(linha + 0))):VALUE = item-doc-est.nro-docto.
    excelappl:range("f" + string(int(linha + 0))):VALUE = item-doc-est.serie-docto.
    excelappl:range("g" + string(int(linha + 0))):VALUE = docum-est.dt-trans.
    excelappl:range("h" + string(int(linha + 0))):VALUE = classif-fisc.class-fiscal.
    excelappl:range("i" + string(int(linha + 0))):VALUE = item-doc-est.preco-total[1] / item-doc-est.quantidade.
    excelappl:range("j" + string(int(linha + 0))):VALUE = item-doc-est.quantidade.
    excelappl:range("k" + string(int(linha + 0))):VALUE = item-doc-est.preco-total[1].
    excelappl:range("l" + string(int(linha + 0))):VALUE = natur-oper.cod-cfop.
    excelappl:range("m" + string(int(linha + 0))):VALUE = item-doc-est.nat-operacao. 
    excelappl:range("n" + string(int(linha + 0))):VALUE = item-doc-est.valor-ipi.
    excelappl:range("o" + string(int(linha + 0))):VALUE = item-doc-est.valor-icm[2].
    excelappl:range("p" + string(int(linha + 0))):VALUE = item-doc-est.desconto.
    assign linha = linha + 1.                          
    end.
         
    run pi-finalizar IN h-acomp.
    {include/i-rpclo.i}
    
    excelappl:visible = true.
    release object excelappl no-error.
    release object chWorksheet no-error.
    
  4. mcarril

    mcarril Membro Participativo

    Pior para as empresas que cairem nessa.
    O que eles podem fazer é migrar a base de dados para outra base existente...
    Mas e as aplicações ? Os negócios que existem atrás destes dados...
    Vão pegar um sistema maturado, e remendar até ficar parecido.
    Já vivi esta situação, tiraram um sistema Progress MATURADO, e focado nas necessidades da empresa, porque os usuários achavam que não estava bom, por um com Telas mais bonitas, um pacote ERP qualquer do mercado.
    Sabe o que os usuários acham agora ?
    "EU ERA FELIZ E NÃO SABIA".

Compartilhe esta Página