Comments (4)
Estou num caso onde preciso adicionar vários itens, mas me deparei com o erro de dimensões fora do limite dos correios, pensei em atribuir o envio a uma variável qualquer, adicionar o item e usar o calculate() para simular o erro, caso erro criar uma nova entrega, só que mesmo em outra variável o Client é o mesmo e o item ainda fica naquela entrega.
Teria como simular o mesmo ou verificar se o próximo item cabe na entrega?
@ViniciusFernando13 Consegue dar mais detalhes do problema? Talvez adicionar alguns trechos de código exemplificando? :)
from correios-php.
@flyingluscas Estou com mesmo problema, foi implementado em nosso site, porém quando selecionamos uma quantidade de 8 produtos nessas dimensões e pesos ele não calcula
Com 8 produtos no carrinho com as dimensões e pesos ( Largura: 15 Altura: 15 comprimento: 20 peso: 500g ) o correios não calcula o valor.
Teria uma solução?
Ah, ótimo trabalho :)
from correios-php.
@flyingluscas @claudineireal @ViniciusFernando13 , se passaram alguns meses, mas caso não tenham achado ainda a solução, eu alterei uma parte do código e para mim deu certo!
Meu produtos são pequenos, então estou me baseando por tamanhos de caixas de papelão.
Se vocês conseguirem se basearem por tamanhos de caixas, alterem essa parte aqui:
<?
//subistituir essa
protected function height()
{
return array_sum(array_map(function ($item) {
return $item['height'] * $item['quantity'];
}, $this->items));
}
//por essa.
protected function height()
{
return max(array_map(function ($item) {
return $item['height'];
}, $this->items));
}
//Eu fiz isso e funcionou. Ai no carrinho de compras fiz validações:
$qntProd;//quantidade do carrinho;
$peso = $produtoPesoUnitario + $caixaVazia;
if($qntProd <= 2){
->item($larguraCaixa,$alturaCaixa,$comprimentoCaixa,$peso,$qntCorreios)
}else if(($qntProd >=3)&& ($qntProd <=7)){
->item($larguraCaixa,$alturaCaixa,$comprimentoCaixa,$peso,$qntCorreios)
}...//e assim por diante
?>
fiz isso até 50 produtos que é o limite de peso dos correios.
estou tentando bolar uma função para não repetir tanto código, mas sou programador novato, então estou com certa dificuldade nesta questão. Mas espero que se não conseguiram resolver, possam usar esta solução.
Abraços.
from correios-php.
Tem um bug na hora que ele calcula items mais pesados onde o valor ultrapassa os mil reais. Ex:
Array
(
[0] => Array
(
[name] => Sedex
[code] => 4014
[price] => 1.555
[deadline] => 7
[error] => Array
(
)
)
[1] => Array
(
[name] => PAC
[code] => 4510
[price] => 802.1
[deadline] => 14
[error] => Array
(
)
)
)
No caso o sedex é 1555 e o pac 802,10 por conta do ponto que existe nos dois valores, na hora de utilizar um formatador de moeda, ele n sabe quem é decimal ou quem é milhar.
Se eu falor ponto é milhar, o pac vira 802 mil, se eu falo que é decimal, o sedex vira 1,55. Vou ter que fazer uma "gambiarra" pra validar esses valores. Seria interessante isso ja vir formatado em um padrão.
from correios-php.
Related Issues (20)
- D;uvidas HOT 4
- Notice error ao informar cep sem complemento HOT 2
- Erro no calculo do Comprimento. HOT 4
- Erro ERP-008 HOT 1
- Consulta de preços e prazos de múltiplos serviços não está funcionando HOT 2
- Correios não aceita mais de um serviço por requisição
- Sugestão de adição de método para múltiplos itens. HOT 3
- Calcular frete com CEPs diferentes na mesma compra. HOT 2
- Problema ao calcular cep com área restrita HOT 3
- Dimensões mínimas dos correios ser tratado na lib HOT 2
- Rastreio de CEP gera um fatal error
- Atualizar para Guzzle 7, e poder usar no Laravel 8 HOT 4
- Tratativa de erro quando CEP não encontrado HOT 1
- Composer PHP incompatível HOT 5
- CEPs em áreas de risco HOT 1
- TimeOut
- Erro na instalação via composer - versão 8.1 do PHP HOT 1
- Calculo com Varios Itens HOT 1
- Change method fetchZipCodeAddress from public to protected HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from correios-php.