Tuckman’s stages of group development

Tuckman's

The forming–storming–norming–performing model of group development was first proposed by Bruce Tuckman in 1965,[1] who said that these phases are all necessary and inevitable in order for the team to grow, face up to challenges, tackle problems, find solutions, plan work, and deliver results.

 

Group development

Forming

The team meets and learns about the opportunities and challenges, and then agrees on goals and begins to tackle the tasks. Team members tend to behave quite independently. They may be motivated but are usually relatively uninformed of the issues and objectives of the team. Team members are usually on their best behavior but very focused on themselves. Mature team members begin to model appropriate behavior even at this early phase. The meeting environment also plays an important role to model the initial behavior of each individual. The major task functions also concern orientation. Members attempt to become oriented to the tasks as well as to one another. Discussion centers on defining the scope of the task, how to approach it, and similar concerns. To grow from this stage to the next, each member must relinquish the comfort of non-threatening topics and risk the possibility of conflict.

Storming

This is the second stage of team development, where the group starts to sort itself out and gain each other’s trust. This stage often starts when they voice their opinions and, as a result of this, a conflict may arise between team members as power and status are assigned. When the group members start to work with each other they start to learn about individual working styles and what it is like to work with each other as a team, it also identifies different hierarchy of status of positions in the group. At this stage there is a positive and polite atmosphere and people are pleasant to each other and they have different feelings of excitement, eagerness and positiveness and others may have feelings of suspicion, fear and anxiety. The leader of the team will then describe the tasks to the group, describe the different behaviours to the group and how to deal and handle complaints. In this stage “…participants form opinions about the character and integrity of the other participants and feel compelled to voice these opinions if they find someone shirking responsibility or attempting to dominate. Sometimes participants question the actions or decision of the leader as the expedition grows harder…”.[2] Disagreements and personality clashes must be resolved before the team can progress out of this stage, and so some teams may never emerge from “storming”[3] or re-enter that phase if new challenges or disputes arise.[4] In Tuckman’s 1965 paper, only 50% of the studies identified a stage of intragroup conflict, and some of the remaining studies jumped directly from stage 1 to stage 3.[5] Some groups may avoid the phase altogether, but for those who do not, the duration, intensity and destructiveness of the “storms” can be varied. Tolerance of each team member and their differences should be emphasized; without tolerance and patience the team will fail. This phase can become destructive to the team and will lower motivation if allowed to get out of control. Some teams will never develop past this stage; however, disagreements within the team can make members stronger, more versatile, and able to work more effectively as a team. Supervisors of the team during this phase may be more accessible, but tend to remain directive in their guidance of decision-making and professional behaviour. The team members will therefore resolve their differences and members will be able to participate with one another more comfortably. The ideal is that they will not feel that they are being judged, and will therefore share their opinions and views. Normally tension, struggle and sometimes arguments occur. This stage can also be upsetting.

Norming

“Resolved disagreements and personality clashes result in greater intimacy, and a spirit of co-operation emerges.”[2] This happens when the team is aware of competition and they share a common goal. In this stage, all team members take the responsibility and have the ambition to work for the success of the team’s goals. They start tolerating the whims and fancies of the other team members. They accept others as they are and make an effort to move on. The danger here is that members may be so focused on preventing conflict that they are reluctant to share controversial ideas.

Performing

“With group norms and roles established, group members focus on achieving common goals, often reaching an unexpectedly high level of success.”[6] By this time, they are motivated and knowledgeable. The team members are now competent, autonomous and able to handle the decision-making process without supervision. Dissent is expected and allowed as long as it is channelled through means acceptable to the team.

Supervisors of the team during this phase are almost always participating. The team will make most of the necessary decisions. Even the most high-performing teams will revert to earlier stages in certain circumstances. Many long-standing teams go through these cycles many times as they react to changing circumstances. For example, a change in leadership may cause the team to revert to storming as the new people challenge the existing norms and dynamics of the team.

Further developments

Adjourning and transforming and mourning

In 1977, Tuckman, jointly with Mary Ann Jensen, added a fifth stage to the four stages: adjourning,[7] that involves completing the task and breaking up the team (in some texts referred to as Mourning).

Norming and re-norming

Timothy Biggs suggested that an additional stage be added of Norming after Forming and renaming the traditional Norming stage Re-Norming. This addition is designed to reflect that there is a period after Forming where the performance of a team gradually improves and the interference of a leader content with that level of performance will prevent a team progressing through the Storming stage to true performance. This puts the emphasis back on the team and leader as the Storming stage must be actively engaged in order to succeed – too many ‘diplomats’ or ‘peacemakers,’ especially in a leadership role, may prevent the team from reaching their full potential.[citation needed]

Rickards and Moger proposed a similar extension to the Tuckman model when a group breaks out of its norms through a process of creative problem-solving.[8][9]

John Fairhurst TPR model

Alasdair A. K. White together with his colleague, John Fairhurst, examined Tuckman’s development sequence when developing the White-Fairhurst TPR Model. They simplify the sequence and group the Forming-Storming-Norming stages together as the Transforming phase, which they equate with the initial performance level. This is then followed by a Performing phase that leads to a new performance level which they call the Reforming phase. Their work was developed further by White in his essay “From Comfort Zone to Performance Management”[10] in which he demonstrates the linkage between Tuckman’s work with that of Colin Carnall’s “coping cycle” and the Comfort Zone Theory.

Leadership strategies to facilitate successful team development

A healthcare research study “Maximizing Team Performance: The Critical Role of the Nurse Leader”[11] examined the role of nursing leaders in facilitating the development of high performing Change teams using the Tuckman Model of Group Development as a guiding framework. Using qualitative research techniques, these authors linked the team development stages to leadership strategies, as well as identified keys to leader success. Below are some examples from the article:

Team Development Stage Leadership Strategies Keys to success
Forming (Setting the stage)[11] Coordinating Behaviors - Purposefully picking the team- Facilitate team to identify goals- Ensure the team development of a shared mental model
Storming (Resolving conflict and tension)[11] Coaching Behaviors - Act as a resource person to the team- Develop mutual trust- Calm the work environment
Norming & Performing (Successfully implementing and sustaining projects)[11] Empowering Behaviors - Get feedback from staff- Allow for the transfer of leadership- Set aside time for planning and engaging the team
Outperforming & Adjourning (Expanding initiative and integrating new members)[11] Supporting Behaviors - Allow for flexibility in team roles- Assist in the timing and selection of new member- Create future leadership opportunities

Swarming

In agile software development, high-performance teams will exhibit a swarm behavior as they come together, collaborate, and focus on solving a single problem. Swarming is a sometime behavior, in contrast to mob programming, which can be thought of as swarming all the time.

 

Fonte: Wikipedia

https://en.wikipedia.org/wiki/Tuckman%27s_stages_of_group_development

Estatística Não Ganha Jogo

Rafael Nadal

Ontem um amigo me falou que ia passar um jogão de tênis na TV e eu falei: “Sem chance, hoje tem Masterchef, mas quem vai jogar?” e ele respondeu “Nadal contra Thiem. Eu vou assistir os dois”.

Eu não entendo nada de tênis, nem conheço os jogadores direito, mas sei que o Rafael Nadal é um cara top e por coincidência eu tinha visto o último set do último jogo dele e achei bom pra caramba.

O outro cara eu nunca tinha ouvido falar, mas isso não importava muito, o jogo valia vaga na semi-final do US Open e deveria valer a pena.

Um detalhe: o último jogo do Nadal tinha durado quase 5 horas e esse jogo ia começar por volta das 22:00 hrs, ou seja, ia acabar quase 3:00 hrs da manhã.

Resolvi assistir os dois também, mas quando coloquei no jogo, já tinha perdido o primeiro set e o Rafael Nadal havia perdido por 6 x 0, ou seja, tomou uma surra e o tal do Thiem estava jogando muito.

Todos pontos eram muito disputados. Realmente estava sendo um jogão.

O Rafael começou o segundo set sacando e conseguiu empatar o jogo quebrando o serviço do Thiem. Depois se manteve na frente ganhando o terceiro.

Eu fui dormir 1:30 hrs da manhã e o Nadal tinha sofrido uma quebra de saque, mas tinha conseguido devolver e o jogo estava empatado em 4 a 4 com no quarto set com o Rafael indo sacar pra tentar garantir seu serviço e depois tentar fechar a partida.

Durante todos os momentos do jogo, que eu assisti, o Rafael Nadal estava sendo o super atleta que me fez ter interesse no jogo, mas o adversário dele estava jogando muito. Sendo extremamente agressivo nas investidas e desestabilizando o Nadal em muitos pontos.

Na minha visão de leigo o Thiem estava superior na partida e as estatísticas do jogo confirmavam isso.

Quando eu acordei fui ver o resultado do jogo e vi que o Rafael Nadal havia vencido no tiebreak do quinto set, ou seja, ele perdeu o quarto set no tiebreak e o jogo ficou empatado em dois sets pra cada um.

A disputa ficou pro set final que deve ter sido disputadíssimo e terminou com a vitória do Nadal no tiebreak.

Mas o que me chamou muita atenção foram as estatísticas finais do jogo, na maioria absoluta dos quesitos o Thiem teve melhor desempenho que o Nadal e no único quesito que o Nadal foi superior a diferença era pequena. Então como ele conseguiu vencer?

A resposta é simples: “Estatísticas não ganham jogo!”, números são apenas indicadores de algo, mas no mundo real as emoções, forças, virtudes e fraquezas contam mais. O querer vencer a partida, independente do resultado dos indicadores.

Como diria o torcedor fanático: “Joga feio, faz gol de bico, mas ganha o jogo!”

E no esporte tem muito disso, às vezes o vencedor de uma partida não foi o melhor naquele jogo. Às vezes o melhor time, manda no jogo e no final comete um erro e perde a partida, porque o esporte tem dessas. Ganha aquele que joga mais, que erra menos, que quer mais, que tem mais apoio, sei lá… talvez caiba uma reflexão mais profunda aqui.

Mas o interessante é que os indicadores são importantes, mas devemos tirar conclusões levando em conta outros aspectos que às vezes somente os números não nos mostram.

Nadal vs Thiem

Nadal vs Thiem

No mundo dos negócios, às vezes aspectos intangíveis dos profissionais são tão importantes quanto os resultados apresentados. Aspectos como perfil, postura, trajetória, relacionamento e resultado final, por exemplo. E é sempre bom ter um artilheiro na equipe de trabalho. Sabe aquele que quase não aparece no jogo, mas faz o gol da vitória. Que no final é o que todos vão se lembrar? Então, esse mesmo.

Aquele cara que muitas vezes enfrenta uma batalha com competidores que desempenham melhor durante o jogo, mas que no final faz a entrega e trás o resultado pra casa.

Enfim, de qualquer modo, eu estava torcendo pro Nadal e fiquei feliz pela sua vitória. Agora é esperar pelo próximo jogo e torcer novamente por um bom espetáculo.

 

Autor:

Izandro Pereira

Entusiasta dos números e do tênis

 

Fonte dos resultados: Google

Termo de Pesquisa: resultado do jogo rafael nadal

Data da pesquisa: 05/09/2018

https://www.google.com.br/search?q=resultado+do+jogo+rafael+nadal&oq=resultado+do+jogo+rafael+nadal&aqs=chrome..69i57.6737j0j7&sourceid=chrome&ie=UTF-8

Quais são as linguagens de programação mais importantes?

Programação

Muita gente me pergunta a respeito do desenvolvimento de sistemas, sobre como aprender a programar a coisa e tal. Encontrei um artigo muito bom falando a respeito no portal  IDG NOW! e gostaria de compartilhá-lo aqui:

Entre tantas linguagens, como escolher a melhor para você? Entenda um pouco mais sobre a importância e forma de uso de cada uma.

Existem dezenas de linguagens de codificação em uso hoje, e para engenheiros aspirantes, ou qualquer um que queira se dedicar à tecnologia, pode ser difícil saber por onde começar. E quais são as linguagens de programação mais importantes? É uma pergunta simples com uma resposta muito complexa. Normalmente, as pessoas querem entender qual é a linguagem mais popular, porque querem aprender assuntos em áreas onde existem empregos. Para a maioria das pessoas, faz muito pouco sentido entrar em um campo com conhecimento sobre algo que não está em demanda.

Os executivos de negócios estão cada vez mais migrando para um ambiente de TI que não está mais focado em projetos grandes e longos, mas sim em esforços mais curtos e mais sustentáveis para impulsionar mudanças e inovações. Outras vezes, os programadores que já são habilidosos querem saber se suas habilidades atuais são relevantes ou se é hora de olhar para outras línguas. Mudanças na popularidade podem significar que é hora de se aprofundar em uma nova linguagem.

Os desenvolvedores que estão criando produtos também querem saber sobre linguagens populares, porque, se estiverem criando APIs ou outras opções de compatibilidade, eles querem garantir que estão produzindo soluções que os clientes usarão.

Se você está iniciando um projeto, precisa escolher em qual linguagem pretende construí-lo. Seu primeiro critério deve ser sempre usar uma linguagem que possa fazer o trabalho. Se uma linguagem é muito popular, mas levaria dois anos para codificar, e outra é menos popular, mas levaria dois meses para o seu aplicativo ficar pronto, você deve claramente escolher a menos popular.

Mas, se as linguagens forem igualmente úteis, escolher uma linguagem mais popular garante acesso a mais programadores e recursos, se tornando uma consideração bem importante.

O que define uma linguagem de programação ser importante? 

Esta é uma questão tão aberta que existe um artigo da Wikipedia dedicado a medir a popularidade da linguagem de programação. O artigo mostra vários fatores possíveis para medir a popularidade, incluindo:

  • O número de vezes que o nome da linguagem é mencionada em pesquisas na Web, como indicado pelo Google Trends;
  • O número de anúncios de emprego que mencionam a linguagem;
  • O número de livros vendidos que ensinam ou descrevem a linguagem;
  • Estimativas do número de linhas de código existentes escritas na linguagem, que podem subestimar linguagens não encontradas com frequência em pesquisas públicas;
  • O número de projetos nessa linguagem no SourceForge, Freecode e GitHub;
  • O número de postagens em fóruns e grupos de notícias sobre a linguagem;

São muitos pontos, mas essa lista não está completa. Você poderia adicionar algumas dessas métricas a essa lista:

  • O número de cursos vendidos por bootcamps de programação;
  • O número de alunos matriculados em aulas de programação em todo o mundo;
  • O número de vídeos em cada linguagem no YouTube;
  • O número de postagens no Reddit ou Stack Exchange sobre uma linguagem.

Você entendeu a ideia. Isso pode ficar ainda mais complicado se você levar em consideração a popularidade entre as nações. Algumas línguas são mais populares na Índia, outras nos Estados Unidos e outras no Brasil.

As principais linguagens de programação atuais 

O desenvolvimento de software é um campo dinâmico. Linguagens de programação, frameworks e tecnologias novas e sob demanda podem emergir, ganhar fama e desaparecer em alguns anos.

Os desenvolvedores precisam constantemente aprender novas habilidades para se manterem relevantes. Há muitas maneiras de medir a popularidade de uma linguagem de programação, mas o exame da demanda por empregos é a mais útil, pois mostra aos desenvolvedores as habilidades para aprender a melhorar suas perspectivas de carreira.

O maior e mais completo ranking sobre linguagens de programação que existe é o levantamento anual do Stack Overflow: são cerca de 40 perguntas para mais de 100 mil desenvolvedores do mundo inteiro.

Todos os meses, cerca de 50 milhões de pessoas visitam o site para aprender, compartilhar conhecimentos e construir suas carreiras. Estima-se que cerca de 21 milhões sejam desenvolvedores profissionais (alguns com mais de três décadas de experiência) e estudantes de nível universitário.

De acordo com o Stack Overflow, as 25 linguagens mais usadas no mundo atualmente são:

JavaScript

HTML

CSS

SQL

Java

Bash/Shell

Python

C#

PHP

C++

C

TypeScript

Ruby

Swift

Assembly

Go

Objective-C

VB.NET

R

Matlab

VBA

Kotlin

Scala

Groovy

Perl

Lembre-se que, para definir a melhor linguagem de programação, o que importa verdadeiramente é o seu objetivo. Se você está desenvolvendo para a web, a linguagem será diferente da que seria usada para desenvolvimento mobile.

 

Fonte:

Mastertech, especial para IDG Now!

03 de setembro de 2018 – 13h00

Texto original: http://idgnow.com.br/carreira/2018/09/03/quais-sao-as-linguagens-de-programacao-mais-importantes/

 

Publicado por: Izandro Pereira – NS4B

Power View Reports

Power View

Power View

O Power View é um novo recurso para análise, visualização e apresentação de dados presente a partir do Excel 2013 e do SharePoint 2010.

Tutorial: Create Amazing Power View Reports:

- Part 1

- Part 2

OBSERVAÇÃO : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Importante : Power View e Power Pivot estão disponíveis nas edições do Office Professional Plus e Office 365 Professional Plus e na edição independente do Excel 2013. Leia as pastas de trabalho do Excel 2010 com PowerPivot não funcionam em algumas versões do Excel 201

 

Introdução ao Power View

O Power View tem duas versões:

As duas versões do Power View precisam do Silverlight instalado no computador.

Não é possível abrir um arquivo RDLX do Power View no Excel nem abrir um arquivo XLSX do Excel com planilhas do Power View no Power View no SharePoint. Você também não pode copiar gráficos ou outras visualizações do arquivo RDLX na pasta de trabalho do Excel.

Você pode salvar arquivos XLSX do Excel com planilhas do Power View no SharePoint Server, localmente ou no Office 365, e abrir esses arquivos no SharePoint. Leia mais sobre o Power View no Excel no SharePoint Server 2013 ou no SharePoint Online no Office 365.

Fontes de dados do Power View

No Excel 2013, você pode usar dados direto no Excel como a base para o Power View no Excel e no SharePoint. Quando você adiciona tabelas e cria relacionamentos entre elas, o Excel está criando um Modelo de dados nos bastidores. Um modelo de dados é uma coleção de tabelas e suas relações, refletindo as relações do mundo real entre funções e processos comerciais; por exemplo, a relação de Produtos com Inventário e Vendas. Você pode continuar modificando e aprimorando esse mesmo modelo de dados no PowerPivot no Excel, para criar um modelo de dados mais sofisticado para relatórios do Power View.

Com o Power View você pode interagir com os dados:

Início da Página

Criar gráficos e outras visualizações

No Power View, você pode criar rapidamente várias visualizações, de tabelas e matrizes a gráficos de pizza, barras e bolhas e conjuntos de gráficos de múltiplos. Para cada visualização a ser criada, inicie com uma tabela, que você poderá converter facilmente em outras visualizações, para localizar a que melhor ilustra os seus dados. Para criar uma tabela, clique em uma tabela ou em um campo na lista de campos ou arraste um campo da lista de campos para a exibição. O Power View desenha a tabela na exibição, exibindo os dados reais e adicionando automaticamente os títulos de coluna.

Para converter uma tabela em outras visualizações, clique em um tipo de visualização na guia Design. O Power View somente habilita os gráficos e outras visualizações que funcionam melhor para os dados nessa tabela. Por exemplo, se o Power View não detectar nenhum valor numérico agregado, nenhum gráfico será habilitado.

Leia mais sobre gráficos e outras visualizações de dados no Power View.

Início da Página

Filtrar e realçar dados

O Power View fornece vários modos de filtrar dados. O Power View usa os metadados no modelo de dados subjacente para entender as relações entre as diferentes tabelas e campos de uma pasta de trabalho ou relatório. Devido a essas relações, você pode usar uma visualização para filtrar e realçar todas as visualizações em uma planilha ou exibição. Ou você pode exibir a área de filtros e definir filtros que se aplicarão a uma visualização individual ou a todas as visualizações de uma planilha ou exibição. No Power View no SharePoint, você pode deixar o painel de filtro visível ou ocultá-lo antes de alternar para o modo de leitura ou de tela cheia.

Leia mais em Filtragem e realce no Power View.

Início da Página

Segmentações de dados

Segmentações de dados no Excel permitem comparar e avaliar seus dados de perspectivas diferentes. As segmentações de dados no Power View são semelhantes. Quando você tem várias segmentações de dados em uma exibição e seleciona uma entrada em uma segmentação de dados, essa seleção filtra as outras segmentações de dados na exibição.

Leia mais sobre segmentações de dados no Power View.

Classificação

Você pode classificar tabelas, matrizes, gráficos de barra e de coluna, e conjunto de pequenos múltiplos no Power View. Você classifica as colunas em tabelas e matrizes, as categorias ou valores numéricos em gráficos e os vários campos ou os valores numéricos em um conjunto de múltiplos. Em cada caso, você pode realizar a classificação em ordem crescente ou decrescente nos atributos, como Nome de Produto, ou nos valores numéricos, como Total de Vendas.

Leia mais em Classificação no Power View.

Início da Página

Relatórios com várias exibições no Power View no SharePoint

Um único relatório do Power View no SharePoint pode conter várias exibições. Todas as exibições em um relatório do Power View no SharePoint são baseadas no mesmo modelo tabular. Cada exibição tem suas próprias visualizações, e os filtros de cada exibição destinam-se somente a ela.

Leia mais em Relatórios com várias exibições no Power View no SharePoint.

OBSERVAÇÃO :  No Excel, cada planilha do Power View é uma planilha separada. Uma única pasta de trabalho do Excel pode conter qualquer número de planilhas do Power View e cada planilha do Power View pode ser baseada em um modelo diferente. Leia mais sobre Planilhas do Power View que se conectam a modelos de dados diferentes no Novidades no Power View no Excel 2013 e no SharePoint Server.

Início da Página

Compartilhar relatórios do Power View

Os relatórios do Power View são sempre apresentáveis – você pode procurar seus dados e apresentá-los a qualquer momento, porque está trabalhando com dados reais. Você não precisa visualizar o relatório para ver sua aparência.

Compartilhar o Power View no Excel

Compartilhe suas pastas de trabalho do Excel com planilhas do Power View:

Em um site do SharePoint Server 2013 ou no SharePoint Online.    Seja no local ou na nuvem, os leitores de relatório podem exibir e interagir com planilhas do Power View nas pastas de trabalho que você salvou.

Compartilhar o Power View em relatórios do SharePoint (arquivos RDLX)

Nos modos de apresentação de leitura e de tela inteira, a faixa de opções e outras ferramentas de design estão ocultas para fornecer mais espaço para as visualizações. O relatório ainda é totalmente interativo, com filtragem e recurso de realce.

Quando você cria relatórios do Power View no SharePoint, salva-os no SharePoint Server 2010 ou 2013, onde outros podem exibir e interagir com eles. Outros também podem editá-los e, dependendo de suas permissões no servidor, eles poderão salvar as suas alterações. Leia mais sobre criar, salvar e imprimir relatórios do Power View.

Você também pode exportar uma versão interativa de seu Power View no relatório do SharePoint para o PowerPoint. Cada modo de exibição no Power View se torna um slide separado do PowerPoint. A interação com relatórios do Power View exportados para o PowerPoint é semelhante à interação com modos de exibição de modos de leitura e de tela inteira do Power View: você interage com visualizações e filtros em cada modo de exibição, mas não pode criar visualizações nem filtros.

Leia sobre como exportar um relatório do Power View no SharePoint para o PowerPoint.

Início da Página

Imprimir relatórios do Power View

Os relatórios do Power View são projetados para interação, seja em arquivos XLSX do Excel ou arquivos RDLX no SharePoint: Você toca em valores em um gráfico e isso afeta os valores nos outros. Portanto, você pode imprimir uma planilha do Power View, mas ela é estática – não há interatividade no papel, claro.

Além disso, você cria um relatório do Power View para que ele tenha boa aparência na tela: Você ajusta todos os gráficos, tabelas e outros elementos visuais para caber em uma tela. Às vezes, um gráfico ou uma tabela tem uma barra de rolagem – o leitor precisa rolar para ver o restante dos valores desse gráfico ou tabela. Novamente, as barras de rolagem não funcionam no papel.

Definir propriedades de relatórios do Power View no Power Pivot

Você pode definir várias propriedades no Power Pivot para aprimorar a experiência com relatórios do Power View.

  • Selecione as agregações padrão
  • Defina o título, imagem e identificador padrão para cada tabela em seu modelo
  • Determine como os valores duplicados serão administrados nos relatórios do Power View
  • Ocultar tabelas, campos e medidas dos criadores de relatório do Power View
  • Defina os campos padrão do para uma tabela de modo que quando você clica em uma tabela no Power View, todos os campos padrão serão simultaneamente adicionados ao relatório

Início da Página

Desempenho

Para aprimorar o desempenho, o Power View recupera somente os dados necessários em um dado momento para uma visualização de dados. Desse modo, até mesmo se uma planilha ou exibição for baseada em um modelo de dados subjacente que contém milhões de linhas, o Power View buscará apenas os dados das linhas que estão visíveis na tabela em um momento específico. Se você arrastar a barra de rolagem para a parte inferior da tabela, verá que ela volta para que você possa rolar para baixo à medida que o Power View recupera mais linhas.

Início da Página

Comparar o Power View, o Construtor de Relatórios e o Designer de Relatórios

O Power View não substitui os produtos de relatório existentes do Reporting Services.

O Designer de Relatórios é um ambiente de design sofisticado que os desenvolvedores e profissionais de TI podem usar nos relatórios inseridos em seus aplicativos. No Designer de Relatórios, eles podem criar relatórios operacionais, fontes de dados compartilhadas, conjuntos de dados compartilhados e controles de visualizador de relatórios do autor.

No Construtor de Relatórios, os profissionais de TI e os usuários avançados podem criar relatórios operacionais sofisticados, partes de relatório reutilizáveis e conjuntos de dados compartilhados.

O Construtor de Relatórios e o Designer de Relatórios criam relatórios RDL; o Power View cria relatórios RDLX. O Power View não pode abrir relatórios RDL, e vice-versa.

OBSERVAÇÕES : Os relatórios RDL podem ser executados em servidores de relatórios no modo nativo do Reporting Services ou no modo do SharePoint.

Os relatórios RDLX do Power View pode ser executados apenas em servidores de relatórios no modo do SharePoint.

O Designer de Relatórios e o Construtor de Relatórios são enviados no SQL Server 2012 Service Pack 1 Reporting Services, junto com o Power View. Leia mais sobre as Ferramentas do SQL Server Reporting Services.

Início da Página

Mais sobre o Power View

Power View no Excel e no SharePoint

Novidades no Power View no Excel 2013 e no SharePoint Server

Tarefas de design básicas do Power View

Gráficos e outras visualizações no Power View

Filtrar e realçar no Power View

Hierarquias no Power View

Classificação no Power View

Alterar uma soma para uma média ou outra agregação no Power View

Formatar relatórios do Power View

Power View no Excel

Iniciar o Power View no Excel 2013

Relações no Power View

Atualizar os dados ou o modelo de dados de uma folha do Power View

Power View no Excel no SharePoint Server ou SharePoint Online no Office 365

Tutorial: otimizar o modelo de dados para geração de relatórios do Power View

Tutorial: criar um relatório do Power View com dados do Microsoft Azure Marketplace

Visualizando os eventos esportivos do verão de 2013 com o Power View no Excel 2013

Atalhos de teclado e acessibilidade no Power View no Excel

Power View no SharePoint

Requisitos do sistema para o Power View no SharePoint

Criar, salvar e imprimir relatórios do Power View no SharePoint

Relatórios com várias exibições no Power View no SharePoint

Objetos do modelo multidimensional no Power View

Atalhos de teclado e acessibilidade no Power View no SharePoint

 

OBSERVAÇÃO : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

 

Fontes:

Power View: explore, visualize e apresente seus dados

https://support.office.com/pt-br/article/Power-View-explore-visualize-e-apresente-seus-dados-98268d31-97e2-42aa-a52b-a68cf460472e

Declaring API Functions In 64 Bit Office

API

Introduction

With the introduction of Windows 7 and Office 2010 VBA developers face a new challenge: ensuring their applications work on both 32 bit and 64 bit platforms.

This page is meant to become the first stop for anyone who needs the proper syntax for his API declaration statement in Office VBA.

Many of the declarations were figured out by Charles Williams of www.decisionmodels.com when he created the 64 bit version of our Name Manager.

Links

Of course Microsoft documents how to do this. There is an introductory article on Microsoft MSDN:

Compatibility Between the 32-bit and 64-bit Versions of Office 2010

That article describes the how-to’s to properly write the declarations. What is missing is which type declarations go with which API function or sub.

Microsoft has provided an updated version of the Win32API.txt with all proper declarations available for download here:

Office 2010 Help Files: Win32API_PtrSafe with 64-bit Support

When you run the installer after downloading the file form the link above, it does not tell you where it installed the information. Look in this -new- folder on your C drive:

C:\Office 2010 Developer Resources\Documents\Office2010Win32API_PtrSafe

You can find a list of the old Win32 API declarations here:

Visual Basic Win32 API Declarations

Microsoft also published a tool to check your code for 64 bit related problems, called the Microsoft Office Code Compatibility inspector addin.

API functions that were added/modified in 64-bit Windows: http://msdn.microsoft.com/en-us/library/aa383663(VS.85).aspx

API Functions by Windows release:

http://msdn.microsoft.com/en-us/library/aa383687(VS.85).aspx

Utter Access API declarations (a comprehensive list of many declarations)

Last, but certainly not least: Dennis Walentin has built an API viewer that is really helpful. You can find the API viewer here.

Declarations by API function

Function name Declarations (32 bit followed by 64 bit)
CreateProcess We start off with a complicated one because it has a lot of arguments. A fully functional example is included below the example declaration lines.
Courtesy: The example code was taken from this page

     Declare Function CreateProcess Lib “kernel32″ _
Alias “CreateProcessA” (ByVal lpApplicationName As String, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
lpEnvironment As Any, _
ByVal lpCurrentDriectory As String, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION)As LongDeclare PtrSafe Function CreateProcess Lib “kernel32″ _
Alias “CreateProcessA” (ByVal lpApplicationName As String, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
lpEnvironment As Any, _
ByVal lpCurrentDriectory As String, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION)As LongPtr

‘Full example shown below, including the necessary structures
#If VBA7 Then
Declare PtrSafe Function CreateProcess Lib “kernel32″ _
Alias “CreateProcessA” (ByVal lpApplicationName As String, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
lpEnvironment As Any, _
ByVal lpCurrentDriectory As String, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION)As LongPtrConst INFINITE = &HFFFF
Const STARTF_USESHOWWINDOW = &H1
Private Enum enSW
SW_HIDE = 0
SW_NORMAL = 1
SW_MAXIMIZE = 3
SW_MINIMIZE = 6
End EnumPrivate Type PROCESS_INFORMATION
hProcess As LongPtr
hThread As LongPtr
dwProcessId As Long
dwThreadId As Long
End Type

Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Byte
hStdInput As LongPtr
hStdOutput As LongPtr
hStdError As LongPtr
End Type

Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As LongPtr
bInheritHandle As Long
End Type

Private Enum enPriority_Class
NORMAL_PRIORITY_CLASS = &H20
IDLE_PRIORITY_CLASS = &H40
HIGH_PRIORITY_CLASS = &H80
End Enum
#Else
Declare Function CreateProcess Lib “kernel32″ _
Alias “CreateProcessA” (ByVal lpApplicationName As String, _
ByVal lpCommandLine As String, _
lpProcessAttributes As SECURITY_ATTRIBUTES, _
lpThreadAttributes As SECURITY_ATTRIBUTES, _
ByVal bInheritHandles As Long, _
ByVal dwCreationFlags As Long, _
lpEnvironment As Any, _
ByVal lpCurrentDriectory As String, _
lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION)As Long

Const INFINITE = &HFFFF
Const STARTF_USESHOWWINDOW = &H1
Private Enum enSW
SW_HIDE = 0
SW_NORMAL = 1
SW_MAXIMIZE = 3
SW_MINIMIZE = 6
End Enum

Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type

Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Byte
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Private Enum enPriority_Class
NORMAL_PRIORITY_CLASS = &H20
IDLE_PRIORITY_CLASS = &H40
HIGH_PRIORITY_CLASS = &H80
End Enum
#End If

Private Function SuperShell(ByVal App As String, ByVal WorkDir As String, dwMilliseconds As Long, _
ByVal start_size As enSW, ByVal Priority_Class As enPriority_Class) AsBoolean

Dim pclass As Long
Dim sinfo As STARTUPINFO
Dim pinfo As PROCESS_INFORMATION
‘Not used, but needed
Dim sec1 As SECURITY_ATTRIBUTES
Dim sec2 As SECURITY_ATTRIBUTES
‘Set the structure size
sec1.nLength = Len(sec1)
sec2.nLength = Len(sec2)
sinfo.cb = Len(sinfo)
‘Set the flags
sinfo.dwFlags = STARTF_USESHOWWINDOW
‘Set the window’s startup position
sinfo.wShowWindow = start_size
‘Set the priority class
pclass = Priority_Class

‘Start the program
If CreateProcess(vbNullString, App, sec1, sec2, False, pclass, _
0&, WorkDir, sinfo, pinfo) Then
‘Wait
‘ WaitForSingleObject pinfo.hProcess, dwMilliseconds
SuperShell = True
Else
SuperShell = False
End If
End Function

Sub Test()
Dim sFile As String
‘Set the dialog’s title
sFile = Application.GetOpenFilename(“Executables (*.exe), *.exe”, , “”)
SuperShell sFile, Left(sFile, InStrRev(sFile, “\”)), 0, SW_NORMAL, HIGH_PRIORITY_CLASS
End Sub

FindWindow
Private Declare Function FindWindow Lib “USER32″ Alias “FindWindowA” (ByVal lpClassName As String, ByVallpWindowName As String) As Long

Private
Declare PtrSafe Function FindWindow Lib “USER32″ Alias “FindWindowA” (ByVal lpClassName AsString, ByVal lpWindowName As String) As LongPtr
FindWindowEx
Private Declare Function FindWindowEx Lib “USER32″ _
Alias “FindWindowExA” (ByVal hWnd1 As Long, ByVal hWnd2 As Long, _
ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPrivateDeclare PtrSafe Function FindWindowEx Lib “USER32″ _
Alias “FindWindowExA” (ByVal hWnd1 As LongPtr, ByVal hWnd2 As LongPtr, _
ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPtr
GdipCreateBitmapFromFile
Private Declare Function GdipCreateBitmapFromFile Lib “GDIPlus” (ByVal filename As Long, bitmap As Long)As Long
Private Declare PtrSafe Function GdipCreateBitmapFromFile Lib “GDIPlus” (ByVal filename As LongPtr, bitmap As LongPtr) As LongPtr
GdipCreateHBITMAPFromBitmap
Private Declare Function GdipCreateHBITMAPFromBitmap Lib “GDIPlus” (ByVal bitmap As Long, hbmReturn AsLong, ByVal background As Long) As Long
Private Declare PtrSafe Function GdipCreateHBITMAPFromBitmap Lib “GDIPlus” (ByVal bitmap As LongPtr, hbmReturn As LongPtr, ByVal background As Long) As LongPtr
GdipDisposeImage
Private Declare Function GdipDisposeImage Lib “GDIPlus” (ByVal image As Long) As Long
Private Declare PtrSafe Function GdipDisposeImage Lib “GDIPlus” (ByVal image As LongPtr) As LongPtr
GdiplusShutdown
Private Declare Function GdiplusShutdown Lib “GDIPlus” (ByVal token As Long) As Long
Private Declare PtrSafe Function GdiplusShutdown Lib “GDIPlus” (ByVal token As LongPtr) As LongPtr
GdiplusStartup
Private Declare Function GdiplusStartup Lib “GDIPlus” (token As Long, inputbuf As GdiplusStartupInput,Optional ByVal outputbuf As Long = 0) As Long
Private Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type
Private Declare PtrSafe Function GdiplusStartup Lib “GDIPlus” (token As LongPtr, inputbuf AsGdiplusStartupInput, Optional ByVal outputbuf As LongPtr = 0) As LongPtrPrivate Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As LongPtr
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type
GetClassName
Public Declare Function GetClassName Lib “USER32″ Alias “GetClassNameA” _
(ByVal hWnd As Long, ByVal lpClassName As String, _
ByVal nMaxCount As Long) As LongPublic Declare PtrSafe Function GetClassName Lib “USER32″ Alias “GetClassNameA” _
(ByVal hWnd As LongPtr, ByVal lpClassName As String, _
ByVal nMaxCount As LongPtr) As Long
GetDiskFreeSpaceEx
Private Declare Function GetDiskFreeSpaceEx Lib “kernel32″ _
Alias “GetDiskFreeSpaceExA” (ByVal lpDirectoryName As String, _
lpFreeBytesAvailableToCaller As Currency, _
lpTotalNumberOfBytes As Currency, _
lpTotalNumberOfFreeBytes As Currency) As Long
Private Declare PtrSafe Function GetDiskFreeSpaceEx Lib “kernel32″ Alias _
“GetDiskFreeSpaceExA” (ByVal lpDirectoryName As String, _
lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As _
Currency, lpTotalNumberOfFreeBytes As Currency) As LongPtr
getDC
Private Declare Function GetDC Lib “USER32″ (ByVal hWnd As Long) As Long

Private
Declare PtrSafe Function GetDC Lib “USER32″ (ByVal hWnd As LongPtr) As LongPtr
GetDesktopWindow
Public Declare Function GetDesktopWindow Lib “USER32″ () As LongPublic Declare PtrSafe Function GetDesktopWindow Lib “USER32″ () As LongPtr
getDeviceCaps
Private Declare Function GetDeviceCaps Lib “gdi32″ (ByVal hDC As Long, ByVal nIndex As Long) As Long

Private
Declare PtrSafe Function GetDeviceCaps Lib “gdi32″ (ByVal hDC As LongPtr, ByVal nIndex As Long)As Long
GetDriveType
Private Declare Function GetDriveType Lib “kernel32″ Alias _
“GetDriveTypeA” (ByVal sDrive As String) As LongPrivate Declare PtrSafe Function GetDriveType Lib “kernel32″ Alias _
“GetDriveTypeA” (ByVal sDrive As String) As LongPtr
GetExitCodeProcess
#If VBA7 Then
Declare PtrSafe Function GetExitCodeProcess Lib “kernel32″ (ByVal _
hProcess As LongPtr, lpExitCode As Long) As Long
#Else
Declare Function GetExitCodeProcess Lib “kernel32″ (ByVal _
hProcess As Long, lpExitCode As Long) As Long
#End If
GetForegroundWindow
Declare Function GetForegroundWindow Lib “user32.dll” () As LongDeclare PtrSafe Function GetForegroundWindow Lib “user32.dll” () As LongPtr
getFrequency
Declare Function getFrequency Lib “kernel32″ Alias “QueryPerformanceFrequency” (cyFrequency As Currency)As Long

Private
Declare PtrSafe Function getFrequency Lib “kernel32″ Alias “QueryPerformanceFrequency” (cyFrequency As Currency) As Long
GetKeyState
Declare Function GetKeyState Lib “USER32″ (ByVal vKey As Long) As Integer

Declare
PtrSafe Function GetKeyState Lib “USER32″ (ByVal vKey As Long) As Integer
GetLastInputInfo
#If VBA7 Then
Private Type LASTINPUTINFO
cbSize As LongPtr
dwTime As LongPtr
End Type
Private Declare PtrSafe Sub GetLastInputInfo Lib “USER32″ (ByRef plii As LASTINPUTINFO)
#Else
Private Type LASTINPUTINFO
cbSize As Long
dwTime As Long
End Type
Private Declare Sub GetLastInputInfo Lib “USER32″ (ByRef plii As LASTINPUTINFO)
#End If
GetOpenFileName
Option Explicit#If VBA7 Then
Public Declare PtrSafe Function GetOpenFileName Lib “comdlg32.dll” Alias _
“GetOpenFileNameA” (pOpenfilename As OPENFILENAME) As LongPublic Type OPENFILENAME
lStructSize As Long
hwndOwner As LongPtr
hInstance As LongPtr
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As LongPtr
lpTemplateName As String
End Type#Else

Public Declare Function GetOpenFileName Lib “comdlg32.dll” Alias _
“GetOpenFileNameA” (pOpenfilename As OPENFILENAME) As Long

Public Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
#End If
‘/////////////////////////////////
‘// End code GetOpenFileName    //
‘/////////////////////////////////

Public Function GetMyFile(strTitle As String) As String

Dim OpenFile    As OPENFILENAME
Dim lReturn     As Long

OpenFile.lpstrFilter = “”
OpenFile.nFilterIndex = 1
OpenFile.hwndOwner = 0
OpenFile.lpstrFile = String(257, 0)
#If VBA7 Then
OpenFile.nMaxFile = LenB(OpenFile.lpstrFile) – 1
OpenFile.lStructSize = LenB(OpenFile)
#Else
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) – 1
OpenFile.lStructSize = Len(OpenFile)
#End If
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = “C:\”
OpenFile.lpstrTitle = strTitle
OpenFile.flags = 0
lReturn = GetOpenFileName(OpenFile)

If lReturn = 0 Then
GetMyFile = “”
Else
GetMyFile = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) – 1))
End If

End Function

GetSystemMetrics
Private Declare Function GetSystemMetrics Lib “USER32″ (ByVal nIndex As Long) As Long

Private
Declare PtrSafe Function GetSystemMetrics Lib “USER32″ (ByVal nIndex As Long) As Long
GetTempPath
Declare Function GetTempPath Lib “kernel32″ _
Alias “GetTempPathA” (ByVal nBufferLength As Long, _
ByVal lpbuffer As String) As LongDeclare PtrSafe Function GetTempPath Lib “kernel32″ _
Alias “GetTempPathA” (ByVal nBufferLength As longptr, _
ByVal lpbuffer As String) As Long
getTickCount
Private Declare Function getTickCount Lib “kernel32″ Alias “QueryPerformanceCounter” (cyTickCount AsCurrency) As Long

Private
Declare PtrSafe Function getTickCount Lib “kernel32″ Alias “QueryPerformanceCounter” (cyTickCountAs Currency) As Long
getTime
Private Declare Function timeGetTime Lib “winmm.dll” () As Long

Private
Declare PtrSafe Function timeGetTime Lib “winmm.dll” () As Long
GetWindow
Public Declare Function GetWindow Lib “USER32″ _
(ByVal hWnd As Long, ByVal wCmd As Long) As LongPublic Declare PtrSafe FunctionGetWindow Lib “USER32″ _
(ByVal hWnd As LongPtr, ByVal wCmd As Long) As LongPtr
GetWindowLong This is one of the few API functions that requires the Win64 compile constant:

#If VBA7 Then
#If Win64 Then
Private Declare PtrSafe Function GetWindowLongPtr Lib “USER32″ Alias “GetWindowLongPtrA” (ByValhWnd As LongPtr, ByVal nIndex As Long) As LongPtr
#Else
    Private Declare PtrSafe Function GetWindowLongPtr Lib “USER32″ Alias “GetWindowLongA” (ByVal hWndAs LongPtr, ByVal nIndex As Long) As LongPtr
#End If
#Else
Private Declare Function GetWindowLongPtr Lib “USER32″ Alias “GetWindowLongA” (ByVal hWnd As Long,ByVal nIndex As Long) As Long
#End If
GetWindowsDirectory
Declare Function GetWindowsDirectory& Lib “kernel32″ Alias _
“GetWindowsDirectoryA” (ByVal lpbuffer As String, _
ByVal
nSize As Long)Declare PtrSafe Function GetWindowsDirectory& Lib “kernel32″ Alias _
“GetWindowsDirectoryA” (ByVal lpbuffer As String, _
ByVal
nSize As LongPtr)
GetWindowText
Public Declare Function GetWindowText Lib “USER32″ Alias “GetWindowTextA” _
(ByVal hWnd As Long, ByVal lpString As String, _
ByVal cch As Long) As LongPublic Declare PtrSafe Function GetWindowText Lib “USER32″ Alias “GetWindowTextA” _
(ByVal hWnd As LongPtr, ByVal lpString As String, _
ByVal cch As LongPtr) As Long
InternetGetConnectedState
Public Declare Function InternetGetConnectedState _
Lib “wininet.dll” (lpdwFlags As Long, _
ByVal dwReserved As Long) As BooleanPublic Declare PtrSafe Function InternetGetConnectedState _
Lib “wininet.dll” (lpdwFlags As LongPtr, _
ByVal dwReserved As long) As Boolean
IsCharAlphaNumericA
Private Declare Function IsCharAlphaNumericA Lib “USER32″ (ByVal byChar As Byte) As Long

Private
Declare PtrSafe Function IsCharAlphaNumericA Lib “USER32″ (ByVal byChar As Byte) As Long
OleCreatePictureIndirect
Private Declare Function OleCreatePictureIndirect Lib “oleaut32.dll” (PicDesc As PICTDESC, RefIID AsGUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As LongPrivate Type PICTDESC
Size As Long
Type As Long
hPic As Long
hPal As Long
End Type
Private Declare PtrSafe Function OleCreatePictureIndirect Lib “oleaut32.dll” (PicDesc As PICTDESC, RefIIDAs GUID, ByVal fPictureOwnsHandle As LongPtr, IPic As IPicture) As LongPtrPrivate Type PICTDESC
Size As Long
Type As Long
hPic As LongPtr
hPal As LongPtr
End Type
OpenProcess
#If VBA7 Then
Declare PtrSafe Function OpenProcess Lib “kernel32″ (ByVal _
dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal _
dwProcessId As Long) As LongPtr
#Else
Declare Function OpenProcess Lib “kernel32″ (ByVal _
dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal _
dwProcessId As Long) As Long
#End If
ReleaseDC
Private Declare Function ReleaseDC Lib “USER32″ (ByVal hWnd As Long, ByVal hDC As Long) As Long

Private
Declare PtrSafe Function ReleaseDC Lib “USER32″ (ByVal hWnd As LongPtr, ByVal hDC As LongPtr) As Long
SendMessage
Public Declare Function SendMessageA Lib “user32″ (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Declare PtrSafe Function SendMessageA Lib “user32″ (ByVal hWnd As LongPtr, ByVal wMsg As Long, _
ByVal wParam As LongPtr, lParam As Any) As LongPtr
SetActiveWindow
Declare Function SetActiveWindow Lib “user32.dll” (ByVal hWnd As Long) As LongDeclare PtrSafe Function SetActiveWindow Lib “user32.dll” (ByVal hWnd As LongPtr) As LongPtr
SetCurrentDirectory
Private Declare Function SetCurrentDirectoryA Lib “kernel32″ (ByVal lpPathName As String) As Long

Private
Declare PtrSafe Function SetCurrentDirectoryA Lib “kernel32″ (ByVal lpPathName As String) As Long
SetWindowLongPtr This is one of the few API functions that requires the Win64 compile constant:

#If VBA7 Then
#If Win64 Then
Private Declare PtrSafe Function SetWindowLongPtr Lib “USER32″ Alias “SetWindowLongPtrA” (ByValhWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
    Private Declare Function SetWindowLongPtr Lib “USER32″ Alias “SetWindowLongA” (ByVal hWnd AsLongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If
#Else
Private Declare Function SetWindowLongPtr Lib “USER32″ Alias “SetWindowLongA” (ByVal hWnd As Long,ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
#End If
SHBrowseForFolder
#If VBA7 Then
Private Type BROWSEINFO
hOwner As LongPtr
pidlRoot As LongPtr
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As LongPtr
lParam As LongPtr
iImage As Long
End TypePrivate Declare PtrSafe Function SHBrowseForFolder Lib “shell32.dll” Alias “SHBrowseForFolderA” _
(lpBrowseInfo As BROWSEINFO) As LongPtr
#Else
Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End TypePrivate Declare Function SHBrowseForFolder Lib “shell32.dll” Alias “SHBrowseForFolderA” _
(lpBrowseInfo As BROWSEINFO) As Long
#End If
Private Const BIF_RETURNONLYFSDIRS = &H1
ShellExecute
Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA” ( _
ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private
Declare PtrSafe Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA” ( _
ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
SHFileOperation
#If VBA7 Then
Type SHFILEOPSTRUCT
hWnd As LongPtr
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Longptr
sProgress As String
End Type
Declare PtrSafe Function SHFileOperation Lib “shell32.dll” Alias “SHFileOperationA” _
(lpFileOp As SHFILEOPSTRUCT) As LongPtr
#Else
Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Declare Function SHFileOperation Lib “shell32.dll” Alias “SHFileOperationA” _
(lpFileOp As SHFILEOPSTRUCT) As Long
#End If
SHGetPathFromIDList
Private Declare Function SHGetPathFromIDList Lib “shell32.dll” Alias “SHGetPathFromIDListA” _
(ByVal pidl As Long, ByVal pszPath As String) As BooleanPrivate Declare PtrSafe Function SHGetPathFromIDList Lib “shell32.dll” Alias “SHGetPathFromIDListA” _
(ByVal pidl As LongPtr, ByVal pszPath As String) As Boolean
SHGetSpecialFolderLocation
    Private Declare Function SHGetSpecialFolderLocation Lib _
“shell32.dll” (ByVal hwndOwner As Long, ByVal nFolder As Long, _
pidl As ITEMIDLIST) As LongPrivate Declare PtrSafe Function SHGetSpecialFolderLocation Lib _
“shell32.dll” (ByVal hwndOwner As LongPtr, ByVal nFolder As Long, _
pidl As ITEMIDLIST) As LongPtr
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
timeGetTime
Private Declare Function timeGetTime Lib “winmm.dll” () As Long

Private
Declare PtrSafe Function timeGetTime Lib “winmm.dll” () As Long

Which Longs should become LongPtr?

It’s actually pretty easy to determine what requires LongPtr and what can stay as Long. The only things that require LongPtr are function arguments or return values that represent addresses in memory. This is because a 64-bit OS has a memory space that is too large to hold in a Long data type variable. Arguments or return values that represent data will still be declared Long even in 64-bit.

The SendMessage API is a good example because it uses both types:

32-bit:

Public Declare Function SendMessageA Lib “user32″ (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

64 bit:

Public Declare PtrSafe Function SendMessageA Lib “user32″ (ByVal hWnd As LongPtr, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As LongPtr

The first argument -hWnd- is a window handle, which is an address in memory. The return value is a pointer to a function, which is also an address in memory. Both of these must be declared LongPtr in 64-bit VBA. The arguments wMsg and wParam are used to pass data, so they can be Long in both 32-bit and 64-bit.

How to determine what is a memory address and what is data? You just have to read the MSDN documentation for the API functions (the C++ version) and it will tell you. Anything called a handle, pointer, brush or any other object type will require a LongPtr in 64-bit. Anything that is strictly data can stay as Long.

Conditional compiling

If your code needs to run on both 32 bit and 64 bit Excel, then another thing to do is add conditional compilation to your VBA.

Microsoft devised two compile constants to handle this:

VBA7: True if you’re using Office 2010, False for older versions

WIN64: True if your Office installation is 64 bit, false for 32 bit.

Since the 64 bit declarations also work on 32 bit Office 2010, all you have to test for is VBA7:

#If VBA7 Then
Private Declare PtrSafe Function GetDeviceCaps Lib “gdi32″ (ByVal hDC As LongPtr, ByVal nIndex As Long) As Long
#Else
Private Declare Function GetDeviceCaps Lib “gdi32″ (ByVal hDC As Long, ByVal nIndex As Long) As Long
#End If

And then in the routine where this function is put to use:

#If VBA7 Then
Dim hDC As LongPtr
#Else
Dim hDC As Long
#End If
Dim lDotsPerInch As Long
‘Get the user’s DPI setting
lDotsPerInch = GetDeviceCaps(hDC, LOGPIXELSX)

Other API functions

Have a function declaration which is not on this list? I invite you to send me your (working and tested!!!) declarations so I can add them here.

I also welcome comments and suggestions on improvements!

 

Autor

JKP – Application Development Services

http://www.jkp-ads.com/articles/apideclarations.asp

 

 

Como escolher um sistema de antifraude para lojas online

Depois de definir plataforma e o meio de pagamento chegou a hora de escolher um sistema antifraude. Essa escolha só será necessária se você optou por utilizar um gateway de pagamento ou conexão direta com o adquirente (Cielo ou Rede).

Mas quando a fraude ocorre?

Existem algumas formas diferentes de fraudes relacionadas ao pagamento. Listamos elas:

  1. Fraude efetiva: A compra é realizada com cartão de crédito roubado ou clonado. Essa compra é realizada normalmente. Logística acionada, custos operacionais realizados e entrega do produto feita. Assim que o titular do cartão percebe uma cobrança, que para ele é indevida, solicita o estorno do valor. O produto já foi entregue, você teve custo logístico e você tem que arcar com esse prejuízo.
  2. Auto fraude: Nesse caso o cliente age de má fé e realiza a compra normalmente. Mas, depois que receber a mercadoria, ele liga e informa que não fez aquela compra, pedindo estorno do valor cobrado em sua fatura. Nesse tipo de situação é possível realizar levantamento para verificar onde foi entregue o produto, quem recebeu e, se existirem provas consistentes, o “cliente” perde seus direitos e torna-se responsável pela fraude.
  3. Fraude amigável: Uma pessoa próxima ao titular do cartão (como o filho ou esposa) compra algum produto sem que ele saiba. O titular da compra, sem saber da compra, acha que a cobrança é indevida.

As fraudes podem ocorrer para os mais diversos tipos de produtos, mas são mais frequentes para produtos que podem ser vendidos de forma mais fácil e rápida, como eletrônico (principalmente celulares) e calçados.

Por qual razão se importar com as fraudes

A principal razão é: você perde dinheiro quando é vítima de fraude. Isso por si só já pode ser consideravelmente preocupante. Entretanto, você pode ser vítima de muitas fraudes, gerando enormes prejuízos e diminuindo a viabilidade financeira do seu negócio.

Fraudes no pagamento online geram chargeback. Chargeback, em português, significa estorno e ele ocorre quando o cliente identifica uma cobrança indevida em sua fatura e entra em contato com o banco para receber o valor cobrando indevidamente. Nesse caso, o varejista arca com o prejuízo.

A Aite Group, empresa dos EUA que realiza pesquisas sobre mercado internacional de serviços financeiros, apontou que o Brasil é o quinto país com a maior porcentagem da população que já foi vítima de fraude de cartão de crédito (online ou off-line).

Essa pesquisa indicou que as fraudes com cartões superaram 1.5 bilhões de reais apenas em 2013 e cresceram 5,9%, se comparadas a 2012. Foi constatado também que 33% dos brasileiros que possuem cartão de crédito foram vítimas de alguma fraude. Na maioria dos casos o problema foi a clonagem de cartões. Estudos revelam que em 2017 teremos 123 milhões de internautas no Brasil, o que significa que novas pessoas também irão conhecer o e-commerce. Mas, embora promissor, as chances de fraudes também aumentam.

Ferramentas dos sistemas antifraude

Fraudes existem e são um problema para seu e-commerce; portanto, é preciso tomar ações para que elas sejam reduzidas. Infelizmente, não existe uma fórmula que garanta em 100% que seu e-commerce não será vítima de fraudes, mas é preciso diminuí-las.

Existem algumas ferramentas eficazes para isso. As ferramentas antifraudes utilizam de redes neurais e outras técnicas de inteligência artificial para analisar as informações e decidir se autorizam ou não a compra.

Listamos as tecnologias mais comuns em ferramentas de sistemas antifraude:

  • Validação de código de segurança dos cartões de crédito: solicita a inserção daquele código que está atrás do cartão. Esse código pode variar de bandeira para bandeira, mas é um dado a mais para comprovar se o cartão é verdadeiro e proteger sua loja.
  • Rastreamento dos dispositivos de compra: essa ferramenta identifica a origem da compra. Nesse caso é feita uma análise da geolocalização da pessoa que está comprando. Isso funciona para verificar se a pessoa não está em um país que pode ser considerado suspeito. Essa análise pode ser feita para cidades e estados também ou qualquer outro parâmetro regional.
  • Registros em bancos de dados: de sua empresa, do sistema antifraude ou mesmo de outras empresas. Nessa ferramenta são confrontados todos os dados possíveis relacionados ao perfil do cliente, seu histórico e outras informações. Se as informações divergirem significativamente, é provável que seja uma fraude e a transação é, portanto, negada.
  • Serviço de verificação de endereço: que compara os dados inseridos pelo cliente (como endereço de entrega) com aqueles presentes no banco de dados da operadora do cartão e do banco. Também comparam o endereço de pagamento com o de entrega.
  • Definição de grau de risco na venda de um produto: existem ferramentas que permitem que se defina o grau de risco na aquisição de determinados produtos, como por exemplo um celular. Assim, sua “sensibilidade” à fraude muda de acordo com a probabilidade de fraude do produto em questão.

Como escolher a melhor combinação de ferramentas para minha loja

Você precisa definir dentre as opções disponíveis, aquela que melhor se adequa a sua realidade e também pensar nas tarifas que serão cobradas para análises.

O custo de um sistema antifraude é baseado na quantidade de análises realizadas, ou seja, se você for confirmar todas as informações de todos os clientes, o que aumentaria seus custos, em caso de aumento de volume. As tarifas podem variar de alguns centavos até alguns reais. Existe variação de fornecedor para fornecedor.

Mas não se esqueça de analisar o perfil de seu negócio e o que será comercializado. Por exemplo, se você vai vender calçados, celulares ou outros produtos que podem ser facilmente “passados” para frente, precisará de ferramentas que façam uma análise bastante precisa de antifraude.

Infelizmente, não existe um passo-a-passo claro, você terá que fazer uma análise de seu negócio e da concorrência e ver a incidência de fraudes para conseguir reduzir os riscos de isso acontecer com você. Ressaltamos que não é possível zerar as fraudes, mas deve-se buscar reduzir e controlar o risco.

Pontos de atenção na escolha de um sistema antifraude:

Para elucidar sua escolha do sistema antifraude, preparamos uma lista com os principais pontos de atenção:

    • O sistema antifraude contratado deve permitir que em casos onde a venda possa apenas parecer suspeita, que seja feito contato com o cliente e confirme dados da compra. Assim, você evita perder vendas legítimas.
    • Deve possuir a mínima interação possível com o usuário, para evitar que ele se constranja e se imagine sendo vítima ou acusado de alguma coisa.
    • Que se adeque a sua plataforma e a modalidade de recebimento escolhida , ou seja, precisa ser compatível com a plataforma escolhida.
    • Que consiga medir comportamentos suspeitos com base naquilo que já foi feito em outras lojas.

Verifique quantas ações o sistema consegue fazer por segundo. Para se ter uma ideia, existem no mercado alguns que conseguem fazer cerca de 20 mil análises de transações por segundo.

  • Identificar frequentes mudanças nos endereços do cliente em compras diferentes.

Antifraude é necessário – Muito necessário

Sim, você percebeu que é preciso possuir um sistema antifraude para não ser vítima de pessoas mal intencionadas e ficar no prejuízo. E essas pessoas mal intencionadas podem usar outros artifícios para “derrubar” seu negócio. Por isso você deve se preocupar com segurança, que será o tema do nosso próximo artigo.

Para acompanhar os próximos artigos dessa série, inscreva-se em nossa lista de email e te enviaremos os artigos seguintes!

— ARTIGOS DA SÉRIE —

  1. Como montar uma loja virtual passo a passo
  2. Escolhendo a melhor plataforma de e-commerce
  3. Pagamento digital: como escolher o sistema de pagamento do seu e-commerce
  4. Sistema de antifraude no e-commerce (você está aqui)
  5. Segurança no e-commerce e os Selos de Segurança
  6. Desenvolvendo um plano de marketing para e-commerce
  7. Suporte no e-commerce: como fazer
  8. Backoffice e ERP para e-commerces
  9. A logística no e-commerce e como calcular fretes
  10. Legislação do e-commerce: a lei do comércio eletrônico

— ARTIGOS DA SÉRIE —

Autor:

Anderson Cruz

E-Commerce Brasil

Fonte: https://www.ecommercebrasil.com.br/artigos/como-escolher-um-sistema-de-antifraude-para-lojas-online/

 

Meios de pagamentos no e-commerce

O que são Gateways e Intermediários de Pagamento? Qual escolher?

O que são Gateways e Intermediários de Pagamento? Qual escolher?

Os gateways surgiram inicialmente a fim de reduzir o tempo e os custos gastos no desenvolvimento e operação das transações financeiras e são plataformas que interligam diretamente com os adquirentes.Gateways
Os gateways são empresas responsáveis por disponibilizar um conjunto de APIs para comunicação com os Adquirentes, podendo armazenar os dados do cliente e o número do cartão de crédito que são passados pela loja virtual. A forma de comunicação da loja virtual com o gateway ocorre através de um webservice que é disponibilizado como APIs.Adquirentes
São empresas responsáveis por capturar, transmitir, armazenar dados dos cartões de crédito e fazer liquidez financeira e são responsáveis por comunicar diretamente com as bandeiras.

Alguns adquirentes são CIELO, REDECARD, GETNET, ELAVON, STONE.

Algumas bandeiras são VISA, MASTERCARD, AMERICAN EXPRESS, HIPERCARD, DINER CLUB INTERNACIONAL, JCB, ALELO.

Anti-fraudes

São empresas responsáveis em validar, prevenir e detectar fraudes em cartões de crédito nas compras efetuadas em sua loja virtual, evitando assim prejuízos ou falta de recebimento do pagamento feito pelos adquirentes.

Todas possuem modelos próprios de negociação conforme a necessidade de cada loja virtual.

Alguns exmeplos são: konduto.com, Clearsale, Fcontrol e CyberSource.

Abaixo uma ilustração apresentando o fluxo de como ocorre a comunicação dos gateways, adquirentes, sub-adquirentes, bandeiras e emissores.

O QUE SÃO GATEWAYS DE PAGAMENTO?

Os gateways de pagamento funcionam basicamente como terminais de cartão de crédito, pois quando o consumidor envia as informações do cartão os dados colhidos são codificados e transmitidos por meio do gateway, que envia as informações para o adquirente com a finalidade de confirmar se o cartão é válido e o pagamento é legítimo.

Todo gateway terá que possuir um certificado PCI-DSS (Payment Card Industry Data Security Standard) para armazenar dados do cartão de crédito, aqui você encontra alista de gateways que possuem certificados.

Os principais gateways de pagamentos são o Braspag, BoldCron, CobreBem, CobreDireto, SuperPay, MaxiPago e MundiPagg, PayZen. Normalmente, as empresas que utilizam esse sistema são empresas que possuem um controle maior em suas plataformas de E-Commerce na tentativa de ter mais flexibilidade no controle das situações do pedido e é claro na tentativa de diminuir ainda mais seus custos com os meios de pagamento na loja virtual.

Existem empresas que desenvolveram seus próprios gateways ou comunicações diretas com os adquirentes com intuito de facilitar e flexibilizar esta comunicação e tentar diminuir seus custos com os meios de pagamento.

O QUE SÃO GATEWAYS DE PAGAMENTO?

Funcionalidades e vantagens 

Dentre outras funcionalidades, os gateways permitem que as operações sejam feitas diretamente com os adquirentes, o lojista recebe seu pagamento direto em sua conta com isto um histórico de relacionamento com o banco. Permitem pagamentos vindo de cartões internacionais ou fora do Brasil e são 100% transparentes ou seja o consumidor ao comprar na loja virtual não é redimensionado para outra janela ou página.

Uma grande desvantagem é que a gestão de risco neste modelo é feita pelo lojista, ou seja o Lojista é responsável e arca com toda despesa pelas tentativas de Fraudes caso ocorra em sua loja virtual e para conter este ataque o Lojista precisará fazer um contrato com empresas que fazem está gestão de risco ou desenvolve-las internamente.

Algumas empresas são: CLEARSALE, FCONTROL, CYBERSOURCE E M&C SOFTWARE.

O gateway maxiPago possui anti-fraude e conciliação bancária nativa em sua plataforma hoje no cenário brasileiro é o único gateway que o anti-fraude e conciliação é nativa, e temos também o gateway Braspag do grupo CIELO e em conjunto com o ANTI-FRAUDE CyberSource formam uma parceria que torna-se quase nativo em sua plataforma de gateway o serviço de anti-fraude.

CUSTOS MÉDIOS PRATICADOS NO MERCADO

Com a utilização do Gateway o lojista terá 4 custos sendo 2 deles opcionais, são eles:

GATEWAY R$ 0,36 a R$ 0,95 por transação
ANTI-FRAUDE (opcional) R$ 0,65 a R$ 6,00 por transação
CONCILIAÇÃO BANCÁRIA (opcional) R$ 250,00 + R$ 0,15 por transação
ADQUIRENTE 0,36% a 6% por faturamento

Lembrando que todos os valores acima são negociáveis conforme a necessidade e modelo de negócio de cada loja virtual.

Em algumas plataformas de e-commerce o meio de pagamento é um diferencial do serviço, pois as empresas que possuem plataformas possuem descontos interessantes na maioria dos serviços utilizando gateways e com isto consegue minimizar ainda mais o custo para o lojista, lembre-se que isto não é regra e fique atento em seus custos com Gateway pois ele não trabalha sozinho, existe os custos do adquirente, anti-fraude e conciliação bancária.

O QUE É CHARGEBACK?

É quando o cliente não reconhece a fatura em seu cartão de crédito ou débito, abrindo uma contestação em relação a fatura cobrada junto há sua operadora de cartão de crédito.

Pode-se dizer também que é o cancelamento de uma venda feita com cartão de débito ou crédito.

O lojista vende e depois descobre que o valor da venda não será creditado porque a compra foi considerada inválida.

O chargeback é considerado um dos grandes vilões do mundo do e-commerce e é um dos responsáveis por fechamento de diversas lojas virtuais, pois nenhuma administradora de cartão de crédito garante a transação nas vendas efetuadas pela Internet.

O QUE É UM SUB-ADQUIRENTE? 

O sub-adquirente ou facilitador realmente faz jus ao nome. Seu serviço em background é bem mais complexo do que o dos Gateways. O sub-adquirente faz todas as etapas relacionadas ao pagamento, servindo como: anti-fraude, conciliação bancária e conversa com diversos adquirentes.

O sub-adquirente também possui certificação PCI-DSS para poder armazenar, capturar e enviar informações contendo números de cartões de crédito com dados dos clientes, permitindo assim, compras com um clique nas lojas virtuais.

As sub-adquirentes mais conhecidas são: Moip, Pagseguro, Bicash, Mercado pago, F2B, PayPal, Payu, Akatus.

Uma outra solução encontrada foi a integração direta com Adquirente, mas tinha diversas desvantagens uma era o custo alto e complexidade na implementação na plataforma de e-commerce.

O Moip foi um destaque, sendo o primeiro a permitir o checkout transparente,permitindo a mesma flexibilidade e integração no finalizar compra sem necessitar de redirecionar os clientes para outras páginas. Alguns exemplos de lojas utilizando “moip transparente” pode ser conferido em: verrrso.com, bolsasrelicario.com.br.

O QUE SÃO GATEWAYS DE PAGAMENTO?

PÁGINA SENDO REDIRECIONADA

O QUE SÃO GATEWAYS DE PAGAMENTO?

SIMULAÇÃO UTILIZANDO SUB-ADQUIRENTE

O QUE SÃO GATEWAYS DE PAGAMENTO?

SIMULAÇÃO UTILIZANDO SUB-ADQUIRENTE MOIP

O QUE SÃO GATEWAYS DE PAGAMENTO?

SIMULAÇÃO UTILIZANDO SUB-ADQUIRENTE PAGSEGURO 

O QUE SÃO GATEWAYS DE PAGAMENTO?

Qual a melhor forma de pagamento?

Nos dias atuais temos um ecossistema ao nosso favor para a comunidade de e-commerce, agora é saber os caminhos certos e como utiliza-los.

Com a evolução dos meios de pagamento o ideal seria pesquisar qual o melhor modelo de meio de pagamento de acordo com a necessidade da loja virtual. Esperamos ter esclarecido algumas dúvidas e apresentado um pouco de como funciona o background das formas de pagamento no E-Commerce.

Fonte:

S3 Commerce

Link Original: http://www.s3commerce.com.br/blog/34/o-que-sao-gateways-e-intermediarios-de-pagamento-qual-escolher-

Gartner Peer Insights

Gartner

O Gartner é uma empresa de consultoria que atua em nível mundial desenvolvendo análises e tendências do mercado de tecnologia.

Ele possui um site muito interessante chamado Gartner Peer Insights que mostra um ranking de reviews dos produtos de diversas empresas.

Gartner Peer Insights

Gartner Peer Insights

Os reviews são escritos por profissionais que atuam com os produtos e tecnologias. Você mesmo pode acessar o site e escrever um review sobre um produto, descrevendo sua experiência com ele.

Você também pode consultar reviews de um determinado produto ou comparar os melhores produtos dentro de um determinado mercado.

Gartner Peer Insights Review

Gartner Peer Insights Review

Gartner Peer Insights Ranking

Gartner Peer Insights Ranking

 

Google – Campus São Paulo

Google Campus SP

Google Campus SP

No início de junho / 2016 o Google inaugurou um novo Campus em São Paulo. O local fica na Rua Coronel Oscar Porto, 70, próximo ao metrô Brigadeiro na região da Av. Paulista.

Acesso livre para todos os membros

Com acesso Wi-Fi gratuito, uma energia contagiante e muitas pessoas interessantes, o Campus Cafe é um ótimo lugar para resolver coisas, fazer uma pausa, trocar ideias com colegas e conhecer pessoas com os mesmos interesses e objetivos. Aqui você recarrega suas energias com um delicioso café e alimentos saudáveis. São dois andares com acesso liberado para todos os membros do Campus, sem precisar agendar horário e sem processo seletivo. Todos são bem-vindos.

A equipe do Campus

Campus é uma rede global de espaços onde grandes ideias estão moldando o futuro. Operado pelo time do Google for Entrepreneurs, temos uma equipe dedicada ao Campus, empenhada em criar uma comunidade startup de muito sucesso. Fale com a gente em nossas redes sociais ou venha conhecer nosso espaço pessoalmente.

Google Campus SP

Google Campus SP

 

 

Fale Conosco