Documentação técnica

Limites, formatos, comportamentos e aproximações do Gamtty, verificados no código. Se algo aqui divergir do produto, o erro é nosso — abra um chamado.

Atualizada em 3 de agosto de 2026

Arquivo de entrada

Tudo começa com a exportação nativa do Primavera P6. Estas são as regras que o arquivo precisa cumprir.

Extensão aceita
Apenas .xer — a exportação nativa do P6. Não aceitamos .mpp, .xml, .xlsx nem .pdf.
Maiúsculas na extensão
A extensão precisa estar em minúsculas: cronograma.xer é aceito, CRONOGRAMA.XER é recusado. Renomeie antes de enviar.
Tamanho máximo
100 MiB (104.857.600 bytes). Acima disso o envio é recusado com "Arquivo muito grande (máximo 100 MB)".
Codificações aceitas
cp1252 (Windows-1252), UTF-8 e latin-1 (ISO-8859-1), tentadas nessa ordem. Se nenhuma decodificar o arquivo, a conversão falha.
Separador de campo
Tabulação — o padrão do XER. Não altere o arquivo em editor de texto antes de enviar.
Separador decimal
Ponto ou vírgula. P6 configurado em português exporta "298,5"; o Gamtty normaliza automaticamente.
Formato de data no arquivo
AAAA-MM-DD ou AAAA-MM-DD HH:MM. Datas em outro formato são ignoradas e o campo fica vazio.

Sobre acentos e caracteres especiais: nomes de atividade com acento, cedilha ou símbolo são preservados. A tolerância de três codificações existe justamente porque instalações do P6 em português gravam o arquivo em cp1252, não em UTF-8. Se o seu arquivo vier de um sistema com codificação exótica e a conversão falhar, reexporte do P6 em vez de converter o texto à mão.

O limite é verificado ao final do envio: um arquivo de 500 MB é transmitido por inteiro antes de a recusa aparecer. Em conexão lenta, confira o tamanho antes de enviar.

O leitor interpreta 14 tabelas do arquivo. Tabelas presentes fora desta lista são simplesmente ignoradas — não causam erro.

TabelaO que o Gamtty extrai
PROJECTProjeto: código, nome, data de status
PROJWBSEstrutura analítica (EAP/WBS)
TASKAtividades, durações, datas e folgas
TASKPREDVínculos de precedência
ACTVTYPETipos de Activity Code
ACTVCODEValores de Activity Code
TASKACTVActivity Codes atribuídos por atividade
UDFTYPETipos de campo personalizado (UDF)
UDFVALUEValores de campo personalizado
CALENDARCalendários e dias úteis
RSRCRecursos
RSRCCURVCurvas de recurso (21 pontos)
RSRCRATELimites de disponibilidade de recurso
TASKRSRCAlocação de recurso por atividade

Como a conversão funciona

O processamento é assíncrono: o navegador não fica travado esperando, e você acompanha o progresso em tempo real.

  • O arquivo é enviado e um job é criado.
  • Um processo em segundo plano lê o XER e reconstrói projeto, EAP, atividades, vínculos, calendários e recursos no banco.
  • A planilha é montada e fica disponível para download.
  • O progresso chega ao navegador por conexão contínua (Server-Sent Events), com etapas nomeadas — lendo XER, processando hierarquia, inserindo atividades, construindo Excel.
Envios por minuto
Até 20 envios por minuto por endereço IP. O restante da API aceita 60 requisições por minuto.
Nível da EAP
A raiz é o nível 1. A reconstrução tem proteção contra referência circular — uma EAP com ciclo não travará o processamento.
Falha no processamento
O job recebe status de erro e a mensagem técnica da falha. A conversão não consome sua cota quando falha.

Planilha e colunas

São dois exportadores: o padrão, disponível a todos, e o personalizado, do plano Pro.

A planilha padrão tem uma aba chamada Cronograma, com cinco colunas e a EAP reconstruída como grupos colapsáveis do Excel.

ColunaOrigem
Activity IDCódigo da atividade no P6
Activity NameDescrição da atividade
Original DurationDuração original
StartData real de início; na ausência dela, a data planejada
FinishData real de término; na ausência dela, a data planejada
Cores da EAP
Sete níveis com cor própria. Acima do nível 7, as cores 5 a 7 se repetem.
Datas reais
Destacadas em verde-escuro e itálico, para distinguir do planejado.
Cabeçalho
Painel congelado e filtro automático já aplicados.
Formato de data
dd/mm/aaaa, gravado como texto — não como data serial do Excel.

O exportador personalizado do Pro oferece 27 colunas padrão, nesta ordem, e você escolhe quais entram e em que sequência:

  • Activity ID
  • Activity Name
  • Original Duration
  • Remaining Duration
  • Physical % Complete
  • Total Float
  • Free Float
  • Activity Type
  • Activity Status
  • Target Start
  • Target Finish
  • Actual Start
  • Actual Finish
  • Early Start
  • Early Finish
  • Late Start
  • Late Finish
  • Primary Constraint
  • Constraint Date
  • Suspend Date
  • Resume Date
  • WBS
  • Schedule % Complete
  • Duration % Complete
  • Units % Complete
  • Labor Units % Complete
  • Nonlabor Units % Complete
Activity Codes
Uma coluna por tipo de Activity Code presente no seu arquivo. A lista é descoberta no upload, não é fixa.
Campos personalizados (UDF)
Uma coluna por tipo de UDF presente no arquivo. Um cronograma com 12 UDFs oferece as 12.
Total Float e Free Float
O P6 guarda folga em horas; a exportação converte para dias dividindo por 8, com uma casa decimal.
Colunas de % de unidades
Seguem a fórmula do P6: realizado ÷ (realizado + restante) × 100. Quando não há quantidade na base, a célula fica vazia em vez de mostrar 0%.
Prévia antes de exportar
Mostra as cinco primeiras atividades com as colunas escolhidas.
Largura das colunas
Ajustada automaticamente entre 10 e 60 caracteres. Activity Name fica alinhada à esquerda; as demais, centralizadas.

Planos e limites de uso

Plano gratuito
Uma conversão a cada 45 dias. É um intervalo entre conversões, não uma cota mensal: a contagem parte da sua última conversão concluída.
O que conta como conversão
Cada arquivo .xer processado com sucesso. Job que falha não consome o intervalo.
Quando o limite é verificado
Antes de o arquivo ser gravado. Se ainda estiver no intervalo, o envio é recusado e a data da próxima liberação aparece na mensagem.
Marca na planilha (gratuito)
A primeira linha traz a faixa "Convertido com Gamtty Free — assine o Pro para remover esta marca", e a aba fica protegida contra edição casual.
Plano Pro
Conversões ilimitadas, sem marca, e acesso ao Workspace: Curva S, indicadores de EVM, auditoria DCMA, Integridade da Baseline, dashboards, relatório em PDF e Modo Dinâmico.

Sobre a proteção da aba: ela impede a remoção casual pela interface do Excel, não é criptografia. Não é uma medida de segurança — é um freio de interface, e nós preferimos dizer isso a sugerir o contrário.

Se um acesso Pro for revogado, o intervalo de 45 dias retoma a partir da conversão mais recente, incluindo as feitas durante o período Pro — não volta ao estado anterior à assinatura.

Retenção e exclusão de dados

O que é apagado, quando, e o que permanece. Esta seção é deliberadamente literal.

Apagados em ~30 minutos
O arquivo .xer que você enviou e a planilha padrão gerada, ambos removidos do disco, mais o registro do job.
Não apagados nesse prazo
A planilha personalizada gerada pelo exportador do Pro permanece no disco. Os dados do projeto — atividades, EAP, vínculos, recursos — permanecem no banco: são eles que alimentam os módulos do Workspace.
Prazo configurável
Os 30 minutos são o padrão da instalação e podem ser ajustados pelo operador do ambiente.

Por que não apagamos tudo: se os dados do projeto fossem descartados junto com o arquivo, Curva S, indicadores e auditorias precisariam de um novo upload a cada abertura, e o Modo Dinâmico não existiria. Se você quiser que um projeto desapareça, exclua-o pelo Workspace.

Conta, acesso e sessão

Sessão
Cookie httpOnly com token assinado (JWT, HS256), válido por 30 dias. Não há token de API para uso externo.
Cadastro em duas etapas
Um cookie temporário de 20 minutos cobre o intervalo entre criar a conta e concluir o perfil e a verificação.
Login social
Google, Microsoft e GitHub.
Verificação por SMS
Envio de código por SMS na conclusão do cadastro, limitado a 5 pedidos por minuto.
Senha
Guardada com bcrypt. O formulário pede no mínimo 8 caracteres.
Conta criada por login social
Pode definir uma senha depois, sem informar senha anterior — porque não havia uma.

Sobre o mínimo de 8 caracteres: hoje essa exigência é validada pelo navegador, no formulário. Recomendamos senha longa e exclusiva de qualquer forma — e, de preferência, o login social, que dispensa senha.

Formatos de saída

Planilha
Arquivo .xlsx (Excel 2007 ou superior, e qualquer editor compatível: LibreOffice, Google Sheets, Numbers).
Nome do arquivo
O mesmo do arquivo enviado, com a extensão trocada. A versão personalizada recebe o sufixo -personalizado.
Relatório
PDF gerado no servidor, com capa, gráficos embutidos como imagem e até 13 seções selecionáveis.
Orientação das páginas do PDF
Curva S, Gráficos de Recursos e Avanço por EAP saem em paisagem, porque seus gráficos ficam ilegíveis comprimidos em retrato. As demais seções, em retrato.
Exportações do Workspace
Integridade da Baseline exporta em .xlsx, por dimensão ou tudo em uma pasta de trabalho.

Aproximações e limitações declaradas

Onde o cálculo é uma aproximação, dizemos qual e por quê. Nenhum destes itens é defeito: são escolhas de engenharia documentadas, e você merece saber delas antes de levar o número para uma reunião.

DCMA — ponto 12 (Teste de Caminho Crítico)
É uma aproximação estrutural: detecta atividade crítica isolada, sem predecessora nem sucessora também crítica, o que indica quebra de lógica. Não é o teste literal de acrescentar 600 dias e recalcular o CPM. O resultado vem marcado como aproximação na própria tela.
DCMA — ponto 13 (CPLI)
O comprimento do caminho crítico é medido em dias corridos. A folga total já vem calculada pelo P6, respeitando o calendário.
DCMA — ponto 8 (Duração Alta)
Aplica o limite de 44 dias sem a exceção de Rolling Wave da revisão de novembro de 2009.
DCMA — ponto 5 (Restrições Rígidas)
Usa o conjunto de restrições do P6, e não a lista voltada ao MS Project que aparece em algumas versões do checklist.
Curva S — feriados
A distribuição usa o padrão de dias úteis do calendário (segunda a sexta, ou 7 dias), mas ignora a lista de feriados. Calendários "24h" do P6 lançam todos os fins de semana como exceção — milhares de entradas — e considerá-las excluiria quase todos os dias do projeto, colapsando a curva. Para uma curva mensal, o impacto de feriados individuais é desprezível.
Schedule % Complete
Aproximado por dias corridos entre início e término mais cedo. Marcos são lidos como 100% no instante em que sua data chega.
Folga em horas
O P6 guarda folga em horas. Convertemos para dias dividindo por 8 em toda a interface e nas exportações.
Identificadores de recurso
O código interno de recurso do P6 é único dentro de cada arquivo, não entre arquivos. Ao comparar duas revisões, os recursos são reconciliados pelo nome.
Nivelamento de recursos
Os modelos Nivelamento e Combinado são leituras diferentes do mesmo dado do histograma; não há um cálculo de nivelamento distinto por trás.

Mensagens de erro

O que cada recusa significa e o que fazer.

MensagemCausa e solução
Apenas arquivos .xer são aceitosA extensão não é .xer minúsculo. Renomeie o arquivo ou reexporte do P6.
Arquivo muito grande (máximo 100 MB)O arquivo passa de 100 MiB. Exporte um intervalo menor do cronograma ou remova projetos que não interessam da exportação.
Limite do plano Free: 1 conversão a cada 45 diasVocê está no intervalo entre conversões. A data da próxima liberação vem na mensagem; o plano Pro remove o limite.
Disponível apenas para o plano ProO recurso pertence ao Workspace. Assine o Pro para liberar.
Job não encontrado ou ainda não concluídoA conversão ainda está em andamento, ou o job já passou da janela de retenção de 30 minutos.
Arquivo não encontrado no servidorA janela de retenção expirou e o arquivo foi apagado. Converta novamente.
Código inválido ou expiradoO código de SMS venceu ou foi digitado errado. Peça um novo.
Não autenticadoA sessão expirou ou o cookie foi bloqueado. Entre de novo e verifique se o navegador aceita cookies do site.

Erro durante o processamento: quando a falha acontece na leitura do arquivo, a mensagem exibida é o texto técnico da exceção, não um texto tratado. Se ela não fizer sentido, abra um chamado com o nome do arquivo e a mensagem — é o caminho mais rápido.

Requisitos do navegador

  • Navegador atual com suporte a módulos ES nativos — Chrome, Edge, Firefox ou Safari em versão recente.
  • JavaScript habilitado: a aplicação é uma interface de página única.
  • Cookies do site permitidos. A sessão depende de cookie; bloqueá-lo impede o login.
  • Conexão contínua (Server-Sent Events) para acompanhar o progresso da conversão em tempo real.
  • Arrastar e soltar arquivo, se você preferir esse caminho ao seletor.
Editor de dashboards
Disponível apenas no computador, em telas de 1024 px ou mais. A montagem usa arrastar e soltar numa grade de 12 colunas, que fica inutilizável em tela pequena. A visualização de dashboards funciona em qualquer tamanho.
Idiomas
Português e inglês, inclusive nas mensagens de erro da API. O idioma segue sua escolha no site.

Uma ressalva honesta: o conteúdo do relatório em PDF é gerado no servidor e permanece em português mesmo com a interface em inglês. Os títulos dos 14 pontos DCMA também vêm do servidor em português.

Referência da API

A API é interna, usada pela própria aplicação. Não há token de API para integração externa: a autenticação é por cookie de sessão, e não existe chave que você possa emitir. Esta referência serve para entender o comportamento do produto, não para automatizar de fora.

Todos os caminhos têm o prefixo /api/v1. As rotas do Workspace exigem sessão autenticada e plano Pro.

Método e rotaO que fazRequer
POST /uploadRecebe o .xer, valida extensão, intervalo do plano e tamanho, e inicia a conversãoSessão
GET /jobs/{id}/statusSituação atual da conversãoSessão
GET /jobs/{id}/progressProgresso em tempo real (conexão contínua)Sessão
GET /jobs/{id}/downloadBaixa a planilha padrãoSessão
GET /jobs/{id}/available-fieldsColunas padrão, Activity Codes e UDFs disponíveis no arquivoPro
GET /jobs/{id}/previewPrévia de cinco atividades com as colunas escolhidasPro
POST /jobs/{id}/exportGera a planilha personalizadaPro
GET /jobs/{id}/download-customBaixa a planilha personalizadaSessão
GET, POST /user-projectsLista e cria projetos do WorkspacePro
GET, POST, DELETE /user-projects/{id}/schedulesBiblioteca de cronogramas do projeto, e qual é o ativoPro
GET /user-projects/{id}/scurveCurva S do par baseline e correntePro
GET /user-projects/{id}/kpisIndicadores de EVMPro
GET /user-projects/{id}/dcma-assessmentAuditoria DCMA de 14 pontosPro
GET /user-projects/{id}/baseline-adherenceIntegridade da Baseline em seis dimensõesPro
GET, POST, PUT, DELETE /user-projects/{id}/dashboardsDashboards personalizadosPro
GET /user-projects/{id}/general-report/pdfRelatório geral em PDFPro
POST /auth/signup, /auth/login, /auth/logoutCadastro, entrada e saída—
GET /auth/meDados da sessão atualSessão
GET, POST /support/ticketsChamados de suporteSessão

Limite de requisições: 60 por minuto por endereço IP no geral, 20 por minuto no envio de arquivo, 10 por minuto em cadastro, login e troca de senha, e 5 por minuto no envio de código por SMS.