Comments (24)
Claro, he estado revisando el código y ya he identificado mas o menos los cambios, tengo pensado implementarlo. 👍
from lycet.
Hola @EliuTimana , algo simple podria ser llevar las credenciales a un archivo (json, yaml), y en la carpeta data almacenar el certificado y el logo teniendo como nombre el ruc del emisor.
from lycet.
podrias pasar RUC como parámetro a
getSee($ruc)
, luego en esta linea puedes enviar el ruc como$see = $this->getSee($document->getCompany()->getRuc());
,
Acerca del logo solo necesitas elfile_get_contents()
Excelente @giansalex , funciona, voy a intentar implementarlo ahora con una tabla
from lycet.
Intentaré hacer una prueba, aparentemente el problema es al obtener los valores de .env
from lycet.
Hola @JhonnySA, acerca del problema que tenias al obtener las variables con getenv
, el problema ocurrio desde que se actualizo a symfony v4.3.
Ha sido corregido en 4edb26a
from lycet.
@EliuTimana si fuera posible que contribuyeras con eso, también podría ayudarte. 😃
from lycet.
Muy pronto trataré de hacer un cambio similar en este proyecto. Para manejo multiempresas.
Slds.
from lycet.
Hola @carlosttrr, seria de gran aporte.
from lycet.
@giansalex que tan difícil sería para la configuración multiempresa alojar el logo y certificado dentro de data ( en una carpeta con su RUC)
Antes:
|--data/
| |--logo.png
| |--cert.pem
Lo que quisiera hacer:
|--data/
| |--100000000001/
| |--logo.png
| |--cert.pem
| |--200000000002/
| |--logo.png
| |--cert.pem
| |--200000000003/
| |--logo.png
| |--cert.pem
y los cambios que se tendría que hacer estaría en:
` public function get($key)
{
if (!isset($this->keys[$key])) {
return '';
}
$path = $this->directory.DIRECTORY_SEPARATOR.(RUC).DIRECTORY_SEPARATOR.$this->keys[$key];
if (file_exists($path)) {
return file_get_contents($path);
}
return '';
}
`
Espero puedas ayudarme con ello, y si es factible hacerlo de esa manera o que otros cambios tendría que hacer
from lycet.
Hola @EliuTimana , algo simple podria ser llevar las credenciales a un archivo (json, yaml), y en la carpeta data almacenar el certificado y el logo teniendo como nombre el ruc del emisor.
Estimado @giansalex antes de nada agradecer por esta herramienta muy importante. Estoy implementado la sugerencia que propusiste lineas arriba, sin embargo no tengo una idea clara de que archivos modificar o si tengo que agregar algun archivo de configuracion.
Agradezco tu respuesta ya que sera de gran ayuda
from lycet.
Hola @OD-n , @JhonnySA se puede crear un archivo config.json
{
"empresas": [
{
"ruc": "20000000001",
"usuario": "20000000001MODDATOS",
"clave": "moddatos",
"certificado": "cert1.pem",
"logo": "logo1.png"
},
{
"ruc": "20000000002",
"usuario": "20000000002TEST",
"clave": "test",
"certificado": "cert2.pem",
"logo": "logo2.png"
}
]
}
los certificados y logos serian los nombres dentro de la carpeta data, la obtencion de la informacion puede realizarse en el metodo getSee()
from lycet.
Hola @OD-n , @JhonnySA se puede crear un archivo config.json
{ "empresas": [ { "ruc": "20000000001", "usuario": "20000000001MODDATOS", "clave": "moddatos", "certificado": "cert1.pem", "logo": "logo1.png" }, { "ruc": "20000000002", "usuario": "20000000002TEST", "clave": "test", "certificado": "cert2.pem", "logo": "logo2.png" } ] }los certificados y logos serian los nombres dentro de la carpeta data, la obtencion de la informacion puede realizarse en el metodo getSee()
Gracias @giansalex por tu respuesta, estoy tratando de encontrar el lugar donde recoger el parametro, en este caso seria el RUC, el cual se tendria que enviar por URL para buscar en mi json de Empresas, me podrias brindar alguna sugerencia de donde poder hacerlo, estoy empezando con Symfony. Espero puedas ayudarme
from lycet.
Para el caso de los comprobantes el ruc ya esta en el campo $company->getRuc()
, solo seria necesario el ruc en el endpoint /status
from lycet.
Para el caso de los comprobantes el ruc ya esta en el campo
$company->getRuc()
, solo seria necesario el ruc en el endpoint/status
Gracias @giansalex por tu respuesta, tratare de entender y hacer lo que recomiendas
from lycet.
Para el caso de los comprobantes el ruc ya esta en el campo
$company->getRuc()
, solo seria necesario el ruc en el endpoint/status
Hola @OD-n , @JhonnySA se puede crear un archivo config.json
{ "empresas": [ { "ruc": "20000000001", "usuario": "20000000001MODDATOS", "clave": "moddatos", "certificado": "cert1.pem", "logo": "logo1.png" }, { "ruc": "20000000002", "usuario": "20000000002TEST", "clave": "test", "certificado": "cert2.pem", "logo": "logo2.png" } ] }los certificados y logos serian los nombres dentro de la carpeta data, la obtencion de la informacion puede realizarse en el metodo getSee()
Gracias @giansalex por tu respuesta, estoy tratando de encontrar el lugar donde recoger el parametro, en este caso seria el RUC, el cual se tendria que enviar por URL para buscar en mi json de Empresas, me podrias brindar alguna sugerencia de donde poder hacerlo, estoy empezando con Symfony. Espero puedas ayudarme
Estimado @giansalex esto es lo que estoy modificado en el metodo getSee()
, talvez no sea la mejor forma de obtener el RUC de la empresa que esta haciendo la peticion, sin embargo como sugeriste $company->getRuc()
no encuentro forma de llamarlo para obtenerlo de una forma mas limpia.
Para obtener el logo lo tengo de forma similar
Asi seria la estructura de mis archivos en data
Espero puedas darme tu punto de vista sobre cuan eficiente seria, Gracias de antemano
from lycet.
podrias pasar RUC como parámetro a getSee($ruc)
, luego en esta linea puedes enviar el ruc como $see = $this->getSee($document->getCompany()->getRuc());
,
Acerca del logo solo necesitas el file_get_contents()
from lycet.
@giansalex tengo una consulta, sobre una instalacion limpia de Lycet, configure mi archivo .env
a urls de produccion y la respuesta que obtengo son las de prueba, lo se porque estoy intentando enviar 2 veces el mismo comprobante que ya ha sido informado anteriormente a Sunat, y la respuesta es que ha sido sido aceptado correctamente; ¿Los cambios que tengo que realizar solo serian en el archivo .env
o existe algun otro archivo que se este usando?
from lycet.
Para estar seguro de eso, puedes revisar el xml del CDR, alli debería estar la firma de Sunat o indicar que es Beta.
En esta linea deberia setear prod
, tambien eliminar cualquier otro archivo .env.xx
from lycet.
from lycet.
Verifica que en esta linea este retornando la url correcta, tambien puedes intentar borrar la carpeta /var
from lycet.
Hay varios lugares donde he intentado imprimir valores para guiarme de donde puedo hacer cambios, sin embargo en varios de ellos la respuesta es algo vacio
from lycet.
from lycet.
Gracias @giansalex por tu tiempo y tu respuesta, logre hacerlo tomando una copia anterior de Lycet, con el cual no tuve inconvenientes, vi que lograron agregarlo con una configuracion de un archivo JSON, me preguntaba como podria hacer para incluir mis cambios al proyecto, lo termine con una conexion a una base de datos y agrege codigo para subir los archivos de cada empresa en el path de configuration
from lycet.
Hola @JhonnySA, si quieres incluir tus cambios tendrías que hacer un fork al repositorio, luego pasar los cambios subirlos a ese repositorio, y de allí tendrías la opción de enviar un pull request
from lycet.
Related Issues (20)
- integración con base de datos HOT 4
- Me sale un error al instalar Lycet con Docker HOT 2
- STATUS BAJA ERROR HOT 1
- Consulta si ya esta integrada las nuevas validaciones de Guias electronicas que puso sunat? HOT 3
- Error! 0306 - No se puede leer (parsear) el archivo XML HOT 4
- Error al consultar status de la GRE HOT 5
- Generar PDF HOT 1
- Guia de remision: Notice Undefined index: CLIENT_ID HOT 14
- Error al crear la imagen de docker HOT 1
- La instalación con Docker falla por un problema de librerías HOT 1
- @OD-n en `empresas.json` tambien debe incluir los campos `CLIENT_ID` y `CLIENT_SECRET` HOT 2
- Envío de GRE Remitente HOT 4
- reporte a html HOT 2
- Saltos de linea en descripcion HOT 1
- ANULACION DE GUIA DE REMISIÓN HOT 1
- NOTA DE CREDITO CON MONTO 0 HOT 2
- Emitir La Guía de Remisión Remitente, la Guía de Remisión Transportista y la Guía de Remisión por Evento. HOT 1
- La documentación swagger esta actualizada? HOT 1
- Se tiene algun ejemplo de una boleta con producto con igv exonerado? (cod 20)
- Acceder al campo params.user.extras 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 lycet.