Shell uso de Sed en Factura Fiscal

Magento2 Woocommerce Python, Unix, NodeJS

Shell uso de Sed en Factura Fiscal

mayo 19, 2020 programador-freelance 0

Si haz seguido mis guias sobre la programación SHELL , podras dominar la programación Shell de forma fácil, sino te invito a que te Siscribas a mi Canal Mojomexico Programacion Facil aqui mismo para que recibas tu invitacion a unirte al Grupo y aprendas los secretos de la programación Web PHP, Python, Composer, Laravel, NodeJS, Shell y porqué no algo de Java.

En este ejemplo voy a mostrarte como puedes crear tu XMLde tu Factura Fiscal tomado de un Archivo plano (por ejemplo la emisión por un sistema Unix, Linux , Aix, Ux, Solaris, RefHat, Xenix, Ultrix, Qnx, SCO OpSource … cualquier Spool-print Nix que exista :

s/)$/”/ 2s/^/ folio=”/ 2i\ serie=”B” 3i\ fecha=”‘$FECHA'” 4i\ noAprobacion=”428335″ 5i\ noCertificado=”00001000000102536477″ 6i\ anoAprobacion=”2010″ 7i\ tipoDeComprobante=”ingreso” 8i\ formaDePago=”Pago en una sola exhibicion” 9i\ condicionesDePago=”30 dias” 3,100d’ tmpB/$1.a >tmpB/$1.b; sed ‘s/)$/”/
1s/^/ implet=”/
2,3d
4s/^/subTotal=”/
5,8d
9s/^/ total=”/
10s/^/ ivaret=”/
11s/^/ refaduana=”/
12,$d’ tmpB/$1.cfc >tmpB/$1.tot;

Como puedes notar, con SED estoy Limpiando mi archivo de entrada y posicionando cada ELEMENTO que requiero en la formación del archivo Final de una Factura Fiscal para crear mi XML.

en la línea 12 estoy haciendo el primer corte (de muchos que voy a hacer) hasta pulir mi archivo de salida a mis necesidades.

Por ahora en este sencillo ejemplo te dejo la tarea de decifrar los elementos insertados en el comando SED para que compartas y retroalimentes con tu experiencia.

plaza america outlet en computacion, video vigilancia, gamers, telefonia y mas

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This will close in 45 seconds

PROGRAMACION POR OBJETOS - TESTER NIVEL INTERMEDIO:

CONSUMO DE RECURSOS API DESDE UN ERP:

Instrucciones:

Revisa y corrige y completa del siguiente Objeto las lineas y sentencias con error para poder  consumir de forma correcta los recursos API del Proveedor X MAYORISTA en el cual nos proporciona como medio de acceso-peticion

LA URL-ERP asi:  "../API/CATALOGO/ID.."

En cada PETICION HTTP-POST deberás incluir en EL TOKEN-AUTORIZACION en formato JSON previamente EMPACADO con seguridad de 64bits, quedando tu funcion asi dentro de una CLASE (OBJETO) LLAMADO:

class APIMayoristaX {

return function _get_Token_API () {

(incluir function del alogirtmo Hass)($data_arreglo[

"user" => USERKEY,

"paswd" => PASSKEY

};

public function _get_API_Productos() {

$filto = [

"sku" => valor,

Nombre => valor,

Precio => valor

existencias => valor

];

$token = _get_Token_API ();

return $this->get_CatalogoAPI_Inventario($token, $filtro);

}

}

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER NIVEL FRAMEWORK:

CONSUMO DE RECURSOS EN CODEIGNITER:

Instrucciones:

1.- Asumimos que deseas APLICAR LOS REGURSOS (desdeController) en donde vas a consumir :

: LIBRERIAS (LIBRERY y UNA BASE DE DATOS (DATABASE) tanto de Config como de Model

HAZ AQUI UN OBJETO llamado CLASS PRODUCTOS para demostrar la llamada y uso de recursos.

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER NODEJS OOP:

Asumimos que cuentas con un JS TOKEN que va a hacer conexion con una BASE DE DATOS (MSSQL):

cómo agregarias un OBJETO-JS en forma de CLASE para llamar a la base de datos y que puedas declarar METODOS de : consulta, actualizacion , borrado en la BASE DE DATOS ?

te doy un TIP:

class Querysql {
constructor() {
.....
});
}
async get_USUARIOS (req, res) {
.....
} etc (sigiendo este ejemplo, completa para cerrar la CLASE y hacer agrega la linea de llamado a cada peticion.

 

This will close in 0 seconds

Instrucciones:
Suponemos que tienes un OBJETO CLASE "A", en el cual al ejecutarse en automático integra los valores INIT de su respectiva funcion asi:
class A (padre) {
private $this;
public function __construct() {
$this->init();
}public function init() {
$this->clave = json_decode($this->catalogo->sku["SKU-A", TRUE];
$this->nombre = json_decode($this->catalogo->nombre["NOMBRE", TRUE];
$this->precio = json_decode($this->catalogo->precio["PRECIO", TRUE];
$this->stock = json_decode($this->catalogo->stock["STOCK", TRUE];
}
} //end parent class AEn el espacio disponible, crea EL OBJETO HIJO (puede ser llamado CLASS B) del MISMO PADRE de tal forma que puedas LLAMAR Y REUTILIZAR los valores existentes y actuales en una FUTURA FUNCION llamala "Funcion verValores(variables)" o algo similar, de la base de datos que son:
SKU, NOMBRE, PRECIO Y STOCK

para Finalizar envia tu respuesta con el formulario aqui presente

Al enviar tu respuesta, evaluaremos y te daremos tu calificacion por tu mail.

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER MAGENTO2 Nivel Basico PLANTILLADOR:

Suponemos el siguiente escenario:

1.- Tienes un CUSTOM-MODULO (UN TEMA MAGENTO2) con el siguiente LAYOUT(view/frontend/layout/) y el siguiente XML

CMS_INDEX_INDEX.XML

Y el siguiente codigo en este layout:

<referenceContainer name="page.top">
<block class="Custom_ModuleBlockEfect" template="efect.phtml" />
</referenceContainer>

EXPLICA SOBRE LAS ACCIONES DE "EFECT.PHTML" : DONDE SERÁN MOSTRADAS (EVENTO-POSICION) , CADA CUANDO SE EJECUTARÁ Y DONDE PUEDES AGREGAR-MODIFICAR DICHO EFECTO ?

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER MAGENTO2 Nivel MEDIO PLANTILLADOR

haz clic en el liguiente LINK :  http://magento2.saetiendaweb.com/

1.- ahi podras notar varios EFECTOS CUSTOMIZADOS de LAYOUT(view/frontend/layout/) agregados de forma PLUGIN-CUSTOM-MODULO:

TODOS LOS EFECTOS SON ACCIONES INSERTADAS CON EFECTOS PROPIO COMO INDEX_XML, CATALOG_XML, CHECKOUT_XML

en t respuesta: qué CONFIG LAYOUT usarias en el archivo CATALOG_XML...  para crear los efectos de BOTON-PAGO en la zona CATALOGO de la tienda, seria algo asi:

<referenceContainer name="mmmmm">
<block class="Custom_ModuleBlock...." template="catalog.phtml" />
</referenceContainer>

describe cada accion por linea

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER PROGRAMADOR SHELL:

En una LINEA usando SED, debes aplicar las siguientes busquedas :

1.-  DETECTAR SOLO ARCHIVOS desde un punto (no necesario raiz)

2.- FILTRAR QUE SEAN SOLO DE UNA CATEGORIA (por eje. solo archivos xml)

3.- FILTRAR QUE el resultado CONTENGA dentro de cada archivo solo los de una  VERSION ESPECIAL : por eje: <xml VER:11.0.3>

4.- EL RESULTADO de los archivos que coindicen en el filtro GUARDAR como reporte  EN FORMATO "PIPE" o separaciones por "coma"

5.- ACTUALIZAR CADA ARCHIVO (COINCIDENCIA) cambiando DE "VER:11.0.3" A "VER:12.0.0" m todo en LA MISMA LINEA SHELL o en un proceso bucle.

 

This will close in 0 seconds

PROGRAMACION POR OBJETOS - TESTER PROGRAMADOR SHELL (avanzado)

En una LINEA usando SED+AWK, debes aplicar las siguientes acciones:

1.-  DETECTAR SOLO ARCHIVOS desde un punto (no necesario raiz)

2.- FILTRAR QUE SEAN SOLO DE UNA CATEGORIA (por eje. solo archivos CSV)

3.- FILTRAR que COINCIDA UNA MARCA AL INICIO DE CADA LINEA (por eje: CLASE N)

4.- EL RESULTADO vas a CREAR TANTOS ARCHIVOS como CLASES AGRUPADAS CONTENTA, EN FORMATO "PIPE" o separaciones por "coma"

5.- Agregar UN HEADER COMO "COMENARIO DE AUTOR..VERSION..ETC)" m todo en LA MISMA LINEA SHELL o en un proceso bucle.

 

This will close in 0 seconds

Chat aqui
Por aqui te respondemos