本文整理汇总了Python中utils.escribir函数的典型用法代码示例。如果您正苦于以下问题:Python escribir函数的具体用法?Python escribir怎么用?Python escribir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了escribir函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: escribir_factura
def escribir_factura(dic, archivo, agrega=False):
dic['tipo_reg'] = TIPOS_REG[0]
dic['cbte_nro'] = dic.get('cbt_desde')
archivo.write(escribir(dic, ENCABEZADO, contraer_fechas=True))
if 'tributos' in dic:
for it in dic['tributos']:
it['tipo_reg'] = TIPOS_REG[1]
archivo.write(escribir(it, TRIBUTO))
if 'iva' in dic:
for it in dic['iva']:
it['tipo_reg'] = TIPOS_REG[2]
archivo.write(escribir(it, IVA))
if 'cbtes_asoc' in dic:
for it in dic['cbtes_asoc']:
it['tipo_reg'] = TIPOS_REG[3]
archivo.write(escribir(it, CMP_ASOC))
if 'detalles' in dic:
for it in dic['detalles']:
it['tipo_reg'] = TIPOS_REG[4]
it['importe'] = it['imp_subtotal']
archivo.write(escribir(it, DETALLE))
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, [dic]), ('Tributo', TRIBUTO, dic.get('tributos', [])), ('Iva', IVA, dic.get('iva', [])), ('Comprobante Asociado', CMP_ASOC, dic.get('cbtes_asoc', [])), ('Detalles', DETALLE, dic.get('detalles', []))]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:AndresVillan,项目名称:pyafipws,代码行数:25,代码来源:recem.py
示例2: escribir_factura
def escribir_factura(dic, archivo, agrega=False):
if '/json' in sys.argv:
import json
json.dump([dic], archivo, sort_keys=True, indent=4)
else:
dic['tipo_reg'] = 0
archivo.write(escribir(dic, ENCABEZADO))
if 'tributos' in dic:
for it in dic['tributos']:
it['tipo_reg'] = 1
archivo.write(escribir(it, TRIBUTO))
if 'iva' in dic:
for it in dic['iva']:
it['tipo_reg'] = 2
archivo.write(escribir(it, IVA))
if 'cbtes_asoc' in dic:
for it in dic['cbtes_asoc']:
it['tipo_reg'] = 3
archivo.write(escribir(it, CMP_ASOC))
if 'opcionales' in dic:
for it in dic['opcionales']:
it['tipo_reg'] = 6
archivo.write(escribir(it, OPCIONAL))
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, [dic]),
('Tributo', TRIBUTO, dic.get('tributos', [])),
('Iva', IVA, dic.get('iva', [])),
('Comprobante Asociado', CMP_ASOC, dic.get('cbtes_asoc', [])),
('Datos Opcionales', OPCIONAL, dic.get("opcionales", [])),
]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:Patsy63,项目名称:pyafipws,代码行数:32,代码来源:rece1.py
示例3: escribir_factura
def escribir_factura(dic, archivo, agrega=False):
dic['tipo_reg'] = 0
archivo.write(escribir(dic, ENCABEZADO))
for it in dic['detalles']:
it['tipo_reg'] = 1
archivo.write(escribir(it, DETALLE))
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, [dic]), ('Detalles', DETALLE, dic.get('detalles', []))]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:psgreco,项目名称:pyafipws,代码行数:9,代码来源:receb1.py
示例4: escribir_factura
def escribir_factura(dic, archivo, agrega=False):
dic['tipo_reg'] = TIPOS_REG[0]
archivo.write(escribir(dic, ENCABEZADO))
for it in dic.get('detalles', []):
it['tipo_reg'] = TIPOS_REG[1]
archivo.write(escribir(it, DETALLE))
if 'permisos' in dic:
for it in dic['permisos']:
it['tipo_reg'] = TIPOS_REG[2]
archivo.write(escribir(it, PERMISO))
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, [dic]), ('Permisos', PERMISO, dic.get('permisos', [])), ('Comprobante Asociado', CMP_ASOC, dic.get('cbtes_asoc', [])), ('Detalles', DETALLE, dic.get('detalles', []))]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:psgreco,项目名称:pyafipws,代码行数:14,代码来源:recex1.py
示例5: generar_encabezado
def generar_encabezado(items):
"Crear archivo de cabecera de facturas emitidas"
periodo = items[0]["fecha_cbte"][:6]
out = open("CABECERA_%s.txt" % periodo, "w")
totales = format_as_dict(CAB_FAC_TIPO2)
totales["periodo"] = periodo
for key in IMPORTES:
totales[key] = Decimal(0)
for item in items:
vals = format_as_dict(CAB_FAC_TIPO1)
vals["fecha_anulacion"] = ""
for k in item.keys():
vals[k] = item[k]
if k in totales and k in IMPORTES:
totales[k] = totales[k] + Decimal(item[k])
vals["tipo_reg"] = "1"
vals["ctl_fiscal"] = item.get("ctl_fiscal", " ") # C para controlador
vals["cbte_nro_reg"] = vals["cbt_numero"]
vals["cant_hojas"] = "01"
vals["transporte"] = "0"
vals["categoria"] = categorias[item["categoria"].lower()]
if vals["imp_moneda_id"] is None:
vals["imp_moneda_id"] = "PES"
vals["imp_moneda_ctz"] = "1.000"
vals["alicuotas_iva"] = max(len(item.get("ivas", [])), 1)
if vals["codigo_operacion"] is None:
if int(item["tipo_cbte"]) in (19, 20, 21):
vals["codigo_operacion"] = "E"
else:
vals["codigo_operacion"] = " "
if vals["imp_tot_conc"] is None:
vals["imp_tot_conc"] = "0"
s = escribir(vals, CAB_FAC_TIPO1)
out.write(s)
totales["tipo_reg"] = "2"
totales["cant_reg_tipo_1"] = str(len(items))
totales["cuit"] = CUIT
s = escribir(totales, CAB_FAC_TIPO2)
out.write(s)
out.close()
开发者ID:reingart,项目名称:pyafipws,代码行数:44,代码来源:sired.py
示例6: escribir_facturas
def escribir_facturas(encabezados, archivo, agrega=False):
if "/json" in sys.argv:
import json
facturas = []
for dic in encabezados:
factura = dic.copy()
facturas.append(factura)
# ajsutes por compatibilidad hacia atras y con pyfepdf
factura["fecha_vto"] = factura.get("fch_venc_cae")
if "iva" in factura:
factura["ivas"] = factura.get("iva", [])
del factura["iva"]
json.dump(facturas, archivo, sort_keys=True, indent=4)
else:
for dic in encabezados:
dic["tipo_reg"] = 0
archivo.write(escribir(dic, ENCABEZADO))
if "tributos" in dic:
for it in dic["tributos"]:
it["tipo_reg"] = 1
archivo.write(escribir(it, TRIBUTO))
if "iva" in dic or "ivas" in dic:
for it in dic.get("iva", dic.get("ivas")):
it["tipo_reg"] = 2
archivo.write(escribir(it, IVA))
if "cbtes_asoc" in dic:
for it in dic["cbtes_asoc"]:
it["tipo_reg"] = 3
archivo.write(escribir(it, CMP_ASOC))
if "opcionales" in dic:
for it in dic["opcionales"]:
it["tipo_reg"] = 6
archivo.write(escribir(it, OPCIONAL))
if "/dbf" in sys.argv:
formatos = [
("Encabezado", ENCABEZADO, encabezados),
("Tributo", TRIBUTO, dic.get("tributos", [])),
("Iva", IVA, dic.get("iva", [])),
("Comprobante Asociado", CMP_ASOC, dic.get("cbtes_asoc", [])),
("Datos Opcionales", OPCIONAL, dic.get("opcionales", [])),
]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:vonpix,项目名称:pyafipws,代码行数:44,代码来源:rece1.py
示例7: generar_encabezado
def generar_encabezado(items):
"Crear archivo de cabecera de facturas emitidas"
periodo = items[0]['fecha_cbte'][:6]
out = open("CABECERA_%s.txt" % periodo, "w")
totales = format_as_dict(CAB_FAC_TIPO2)
totales['periodo'] = periodo
for key in IMPORTES:
totales[key] = Decimal(0)
for item in items:
vals = format_as_dict(CAB_FAC_TIPO1)
vals['fecha_anulacion'] = ''
for k in item.keys():
vals[k] = item[k]
if k in totales and k in IMPORTES:
totales[k] = totales[k] + Decimal(item[k])
vals['tipo_reg'] = '1'
vals['ctl_fiscal'] = item.get('ctl_fiscal', ' ') # C para controlador
vals['cbte_nro_reg'] = vals['cbt_numero']
vals['cant_hojas'] = '01'
vals['transporte'] = '0'
vals['categoria'] = categorias[item['categoria'].lower()]
if vals['imp_moneda_id'] is None:
vals['imp_moneda_id'] = 'PES'
vals['imp_moneda_ctz'] = '1.000'
vals['alicuotas_iva'] = max(len(item.get('ivas', [])), 1)
if vals['codigo_operacion'] is None:
if int(item['tipo_cbte']) in (19, 20, 21):
vals['codigo_operacion'] = 'E'
else:
vals['codigo_operacion'] = ' '
if vals['imp_tot_conc'] is None:
vals['imp_tot_conc'] = '0'
s = escribir(vals, CAB_FAC_TIPO1)
out.write(s)
totales['tipo_reg'] = '2'
totales['cant_reg_tipo_1'] = str(len(items))
totales['cuit'] = CUIT
s = escribir(totales, CAB_FAC_TIPO2)
out.write(s)
out.close()
开发者ID:valem06,项目名称:pyafipws,代码行数:44,代码来源:sired.py
示例8: escribir_facturas
def escribir_facturas(encabezados, archivo, agrega=False):
if '/json' in sys.argv:
import json
facturas = []
for dic in encabezados:
factura = dic.copy()
facturas.append(factura)
# ajsutes por compatibilidad hacia atras y con pyfepdf
factura['fecha_vto'] = factura.get('fch_venc_cae')
if 'iva' in factura:
factura['ivas'] = factura.get('iva', [])
del factura['iva']
json.dump(facturas, archivo, sort_keys=True, indent=4)
else:
for dic in encabezados:
dic['tipo_reg'] = 0
archivo.write(escribir(dic, ENCABEZADO))
if 'tributos' in dic:
for it in dic['tributos']:
it['tipo_reg'] = 1
archivo.write(escribir(it, TRIBUTO))
if 'iva' in dic or 'ivas' in dic:
for it in dic.get('iva', dic.get('ivas')):
it['tipo_reg'] = 2
archivo.write(escribir(it, IVA))
if 'cbtes_asoc' in dic:
for it in dic['cbtes_asoc']:
it['tipo_reg'] = 3
archivo.write(escribir(it, CMP_ASOC))
if 'opcionales' in dic:
for it in dic['opcionales']:
it['tipo_reg'] = 6
archivo.write(escribir(it, OPCIONAL))
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, encabezados),
('Tributo', TRIBUTO, dic.get('tributos', [])),
('Iva', IVA, dic.get('iva', [])),
('Comprobante Asociado', CMP_ASOC, dic.get('cbtes_asoc', [])),
('Datos Opcionales', OPCIONAL, dic.get("opcionales", [])),
]
guardar_dbf(formatos, agrega, conf_dbf)
开发者ID:kpocha,项目名称:pyafipws,代码行数:42,代码来源:rece1.py
示例9: generar_detalle
def generar_detalle(items):
"Crear archivo de detalle de facturas emitidas"
periodo = items[0]['fecha_cbte'][:6]
out = open("DETALLE_%s.txt" % periodo, "w")
# recorro las facturas y detalles de artículos vendidos:
for item in items:
for it in item.get('detalles', [{}]):
vals = format_as_dict(DETALLE)
# datos generales de la factura:
vals['tipo_reg'] = '1'
for k in ('tipo_cbte', 'fecha_cbte', 'punto_vta', 'cbt_numero'):
vals[k] = item[k]
vals['cbte_nro_reg'] = item['cbt_numero'] # no hay varias hojas
vals['ctl_fiscal'] = item.get('ctl_fiscal', ' ') # C para controlador
vals['anulacion'] = item.get('anulacion', ' ')
# datos del artículo:
vals['qty'] = it.get('qty', '1') # cantidad
vals['pro_umed'] = it.get('umed', '07') # unidad de medida
vals['pro_precio_uni'] = it.get('precio', item['imp_neto'])
vals['imp_bonif'] = it.get('bonif', '0.00')
vals['imp_ajuste'] = it.get('ajuste', '0.00')
vals['imp_total'] = it.get('importe', '0.00')
# iva
if 'iva_id' in it and it['iva_id']:
# mapear alicuota de iva según código usado en MTX
iva_id = int(it['iva_id'])
if iva_id in (1, 2):
alicuota = None
else:
alicuota = {3: "0.00", 4: "10.5", 5: "21", 6: "27"}[iva_id]
if alicuota is None:
vals['gravado'] = 'E'
else:
vals['gravado'] = 'G'
vals['alicuota_iva'] = alicuota or '0.00'
else:
# tomar datos generales:
vals['alicuota_iva'] = (Decimal(item['imp_total'])/Decimal(item['imp_neto']) - 1) * 100
if float(item.get('impto_liq', item.get('imp_iva', 0))) == 0:
vals['gravado'] = 'E'
else:
vals['gravado'] = 'G'
# diseño libre: código de barras y descripción:
vals['codigo'] = it.get('codigo', '')
vals['ds'] = it.get('ds', '')
s = escribir(vals, DETALLE)
out.write(s)
out.close()
开发者ID:valem06,项目名称:pyafipws,代码行数:52,代码来源:sired.py
示例10: generar_detalle
def generar_detalle(items):
"Crear archivo de detalle de facturas emitidas"
periodo = items[0]["fecha_cbte"][:6]
out = open("DETALLE_%s.txt" % periodo, "w")
# recorro las facturas y detalles de artículos vendidos:
for item in items:
for it in item.get("detalles", [{}]):
vals = format_as_dict(DETALLE)
# datos generales de la factura:
vals["tipo_reg"] = "1"
for k in ("tipo_cbte", "fecha_cbte", "punto_vta", "cbt_numero"):
vals[k] = item[k]
vals["cbte_nro_reg"] = item["cbt_numero"] # no hay varias hojas
vals["ctl_fiscal"] = item.get("ctl_fiscal", " ") # C para controlador
vals["anulacion"] = item.get("anulacion", " ")
# datos del artículo:
vals["qty"] = it.get("qty", "1") # cantidad
vals["pro_umed"] = it.get("umed", "07") # unidad de medida
vals["pro_precio_uni"] = it.get("precio", item["imp_neto"])
vals["imp_bonif"] = it.get("bonif", "0.00")
vals["imp_ajuste"] = it.get("ajuste", "0.00")
vals["imp_total"] = it.get("importe", "0.00")
# iva
if "iva_id" in it and it["iva_id"]:
# mapear alicuota de iva según código usado en MTX
iva_id = int(it["iva_id"])
if iva_id in (1, 2):
alicuota = None
else:
alicuota = {3: "0.00", 4: "10.5", 5: "21", 6: "27"}[iva_id]
if alicuota is None:
vals["gravado"] = "E"
else:
vals["gravado"] = "G"
vals["alicuota_iva"] = alicuota or "0.00"
else:
# tomar datos generales:
vals["alicuota_iva"] = (Decimal(item["imp_total"]) / Decimal(item["imp_neto"]) - 1) * 100
if float(item.get("impto_liq", item.get("imp_iva", 0))) == 0:
vals["gravado"] = "E"
else:
vals["gravado"] = "G"
# diseño libre: código de barras y descripción:
vals["codigo"] = it.get("codigo", "")
vals["ds"] = it.get("ds", "")
s = escribir(vals, DETALLE)
out.write(s)
out.close()
开发者ID:reingart,项目名称:pyafipws,代码行数:52,代码来源:sired.py
示例11: escribir_archivo
def escribir_archivo(dic, nombre_archivo, agrega=True):
archivo = open(nombre_archivo, agrega and "a" or "w")
formatos = [('Encabezado', ENCABEZADO, [dic], 0),
('Observacion', OBSERVACION, dic.get('observaciones', []), 'O'),
('Eventos', ERROR, dic.get('eventos', []), 'V'),
('Error', ERROR, dic.get('errores', []), 'E'),
]
if '--json' in sys.argv:
json.dump(dic, archivo, sort_keys=True, indent=4)
elif '--dbf' in sys.argv:
guardar_dbf(formatos, agrega, conf_dbf)
else:
for nombre, formato, registros, tipo_reg in formatos:
for it in registros:
it['tipo_reg'] = tipo_reg
archivo.write(escribir(it, formato))
archivo.close()
开发者ID:MatiasNAmendola,项目名称:pyafipws,代码行数:17,代码来源:wscdc.py
示例12: escribir_archivo
def escribir_archivo(cols, items, nombre_archivo, agrega=False):
archivo = open(nombre_archivo, agrega and "a" or "w")
ext = os.path.splitext(nombre_archivo)[1]
if ext == '.csv':
csv_writer = csv.writer(archivo, dialect='excel', delimiter=";")
csv_writer.writerows([cols])
csv_writer.writerows([[item[k] for k in cols] for item in items])
elif ext == '.json':
json.dump(items, archivo, sort_keys=True, indent=4)
elif ext == '.dbf':
formatos = [('Encabezado', ENCABEZADO, items), ]
guardar_dbf(formatos, True, conf_dbf)
elif ext == '.txt':
for dic in items:
dic['tipo_reg'] = 0
archivo.write(escribir(dic, ENCABEZADO))
else:
raise RuntimeError("Extension de archivo desconocida: %s" % ext)
archivo.close()
开发者ID:AndresVillan,项目名称:pyafipws,代码行数:19,代码来源:wsctg11.py
示例13: escribir_factura
def escribir_factura(dic, archivo, agrega=False):
if '/dbf' in sys.argv:
formatos = [('Encabezado', ENCABEZADO, [dic]),
('Tributo', TRIBUTO, dic.get('tributos', [])),
('Iva', IVA, dic.get('iva', [])),
('Comprobante Asociado', CMP_ASOC, dic.get('cbtes_asoc', [])),
('Detalles', DETALLE, dic.get('detalles', [])),
('Forma Pago', FORMA_PAGO, dic.get('formas_pago', [])),
]
guardar_dbf(formatos, agrega, conf_dbf)
elif '/json' in sys.argv:
json.dump(dic, archivo, sort_keys=True, indent=4)
else:
dic['tipo_reg'] = TIPOS_REG[0]
archivo.write(escribir(dic, ENCABEZADO, contraer_fechas=True))
if 'tributos' in dic:
for it in dic['tributos']:
it['tipo_reg'] = TIPOS_REG[1]
archivo.write(escribir(it, TRIBUTO))
if 'iva' in dic:
for it in dic['iva']:
it['tipo_reg'] = TIPOS_REG[2]
archivo.write(escribir(it, IVA))
if 'cbtes_asoc' in dic:
for it in dic['cbtes_asoc']:
it['tipo_reg'] = TIPOS_REG[3]
archivo.write(escribir(it, CMP_ASOC))
if 'detalles' in dic:
for it in dic['detalles']:
it['tipo_reg'] = TIPOS_REG[4]
it['importe'] = it['imp_subtotal']
archivo.write(escribir(it, DETALLE))
if 'forma_pago' in dic:
for it in dic['fp']:
it['tipo_reg'] = TIPOS_REG[5]
archivo.write(escribir(it, FORMA_PAGO))
开发者ID:psgreco,项目名称:pyafipws,代码行数:36,代码来源:recet.py
示例14: main
#.........这里部分代码省略.........
if '--test' in sys.argv:
ws.CrearTransaccion(
f_evento=datetime.datetime.now().strftime("%d/%m/%Y"),
h_evento=datetime.datetime.now().strftime("%H:%M"),
gln_origen="7791234567801", gln_destino="7791234567801",
n_remito="R0001-12341234", n_factura="A0001-12341234",
vencimiento=(datetime.datetime.now()+datetime.timedelta(30)).strftime("%d/%m/%Y"),
gtin="07791234567810", lote=datetime.datetime.now().strftime("%Y"), # R4556567
numero_serial=int(time.time()*10), # A23434
id_evento=1,
cuit_medico="30711622507", id_obra_social=465667,
apellido="Reingart", nombres="Mariano",
tipo_documento="96", n_documento="28510785", sexo="M",
calle="San Martin", numero="5656", piso="", depto="1",
localidad="Berazategui", provincia="Buenos Aires",
n_postal="1700", fecha_nacimiento="20/12/1972",
telefono="5555-5555",
nro_afiliado="9999999999999",
cod_diagnostico="B30",
cod_hiv="NOAP31121970",
id_motivo_devolucion=1,
otro_motivo_devolucion="producto fallado",
)
# Opciones principales:
if '--cancela' in sys.argv:
if '--loadxml' in sys.argv:
ws.LoadTestXML("tests/xml/trazaprodmed_cancela_err.xml") # cargo respuesta
ws.SendCancelacTransacc(*sys.argv[sys.argv.index("--cancela")+1:])
elif '--cancela_parcial' in sys.argv:
ws.SendCancelacTransaccParcial(*sys.argv[sys.argv.index("--cancela_parcial")+1:])
elif '--consulta' in sys.argv:
ws.GetTransaccionesWS(
*sys.argv[sys.argv.index("--consulta")+1:]
)
print "CantPaginas", ws.CantPaginas
print "HayError", ws.HayError
#print "TransaccionPlainWS", ws.TransaccionPlainWS
# parametros comunes de salida (columnas de la tabla):
TRANSACCIONES = ws.Transacciones[0].keys() if ws.Transacciones else []
claves = [k for k in TRANSACCIONES]
# extiendo la lista de resultado para el archivo de intercambio:
transacciones.extend(ws.Transacciones)
# encabezado de la tabla:
print "||", "||".join(["%s" % clave for clave in claves]), "||"
# recorro los datos devueltos (TransaccionPlainWS):
while ws.LeerTransaccion():
for clave in claves:
print "||", ws.GetParametro(clave), # imprimo cada fila
print "||"
elif '--catalogo' in sys.argv:
ret = ws.GetCatalogoElectronicoByGTIN(
*sys.argv[sys.argv.index("--catalogo")+1:]
)
for catalogo in ws.params_out.values():
print catalogo # imprimo cada fila
else:
argv = [argv for argv in sys.argv if not argv.startswith("--")]
if not transacciones:
if len(argv)>16:
ws.CrearTransaccion(*argv[3:])
else:
print "ERROR: no se indicaron todos los parámetros requeridos"
if ws.Transacciones:
try:
usuario, password = argv[1:3]
except:
print "ADVERTENCIA: no se indico parámetros usuario y passoword"
usuario = password = "pruebasws"
ws.InformarProducto(usuario, password)
for i, tx in enumerate(transacciones):
print "Procesando registro", i
tx['codigo_transaccion'] = ws.CodigoTransaccion
errores.extend(ws.errores)
print "|Resultado %5s|CodigoTransaccion %10s|Errores|%s|" % (
ws.Resultado,
ws.CodigoTransaccion,
'|'.join(ws.Errores or []),
)
else:
print "ERROR: no se especificaron productos a informar"
if ws.Excepcion:
print ws.Traceback
if '--grabar' in sys.argv:
if '--dbf' in sys.argv:
guardar_dbf(formatos, True, {})
elif '--json' in sys.argv:
for formato in formatos:
archivo = open(formato[0].lower() + ".json", "w")
json.dump(formato[2], archivo, sort_keys=True, indent=4)
archivo.close()
else:
for formato in formatos:
archivo = open(formato[0].lower() + ".txt", "w")
for it in formato[2]:
archivo.write(escribir(it, formato[1]))
archivo.close()
开发者ID:psgreco,项目名称:pyafipws,代码行数:101,代码来源:trazaprodmed.py
示例15: main
#.........这里部分代码省略.........
#id_evento="1",
#fecha_desde_op="01/01/2015",
#fecha_hasta_op="31/12/2013",
#fecha_desde_t="01/01/2013",
#fecha_hasta_t="31/12/2013",
#fecha_desde_v="01/04/2013",
#fecha_hasta_v="30/04/2013",
#n_factura=5, n_remito=6,
#estado=1,
#lote=88745,
#numero_serial=894124788,
)
print "CantPaginas", ws.CantPaginas
print "HayError", ws.HayError
#print "TransaccionPlainWS", ws.TransaccionPlainWS
# parametros comunes de salida (columnas de la tabla):
claves = [k for k, v, l in TRANSACCIONES]
# extiendo la lista de resultado para el archivo de intercambio:
transacciones.extend(ws.TransaccionPlainWS)
# encabezado de la tabla:
print "||", "||".join(["%s" % clave for clave in claves]), "||"
# recorro los datos devueltos (TransaccionPlainWS):
while ws.LeerTransaccion():
for clave in claves:
print "||", ws.GetParametro(clave), # imprimo cada fila
print "||"
elif '--catalogo' in sys.argv:
ret = ws.GetCatalogoElectronicoByGTIN(
*sys.argv[sys.argv.index("--catalogo")+1:]
)
for catalogo in ret:
print ret # imprimo cada fila
else:
argv = [argv for argv in sys.argv if not argv.startswith("--")]
if not medicamentos:
if len(argv)>16:
if '--dh' in sys.argv:
ws.SendMedicamentosDHSerie(*argv[1:])
elif '--fraccion' in sys.argv:
ws.SendMedicamentosFraccion(*argv[1:])
else:
ws.SendMedicamentos(*argv[1:])
else:
print "ERROR: no se indicaron todos los parámetros requeridos"
elif medicamentos:
try:
usuario, password = argv[1:3]
except:
print "ADVERTENCIA: no se indico parámetros usuario y passoword"
usuario = password = "pruebasws"
for i, med in enumerate(medicamentos):
print "Procesando registro", i
del med['codigo_transaccion']
if med.get("cantidad"):
del med["desde_numero_serial"]
del med["hasta_numero_serial"]
ws.SendMedicamentosFraccion(usuario, password, **med)
elif med.get("desde_numero_serial"):
del med["cantidad"]
del med["numero_serial"]
ws.SendMedicamentosDHSerie(usuario, password, **med)
else:
del med["cantidad"]
del med["desde_numero_serial"]
del med["hasta_numero_serial"]
ws.SendMedicamentos(usuario, password, **med)
med['codigo_transaccion'] = ws.CodigoTransaccion
errores.extend(ws.errores)
print "|Resultado %5s|CodigoTransaccion %10s|Errores|%s|" % (
ws.Resultado,
ws.CodigoTransaccion,
'|'.join(ws.Errores or []),
)
else:
print "ERROR: no se especificaron medicamentos a informar"
if not medicamentos:
print "|Resultado %5s|CodigoTransaccion %10s|Errores|%s|" % (
ws.Resultado,
ws.CodigoTransaccion,
'|'.join(ws.Errores or []),
)
if ws.Excepcion:
print ws.Traceback
if '--grabar' in sys.argv:
if '--dbf' in sys.argv:
guardar_dbf(formatos, True, {})
elif '--json' in sys.argv:
for formato in formatos:
archivo = open(formato[0].lower() + ".json", "w")
json.dump(formato[2], archivo, sort_keys=True, indent=4)
archivo.close()
else:
for formato in formatos:
archivo = open(formato[0].lower() + ".txt", "w")
for it in formato[2]:
archivo.write(escribir(it, formato[1]))
archivo.close()
开发者ID:Reyes0507,项目名称:pyafipws,代码行数:101,代码来源:trazamed.py
示例16: main
#.........这里部分代码省略.........
n_cai="123456789012345",
n_cae="",
id_motivo_destruccion=0,
n_manifiesto="",
en_transporte="N",
n_remito="1234",
motivo_devolucion="",
observaciones="prueba",
n_vale_compra="",
apellidoNombres="Juan Peres",
direccion="Saraza", numero="1234",
localidad="Hurlingham", provincia="Buenos Aires",
n_postal="1688",
cuit="20267565393",
codigo_transaccion=None,
))
# Opciones principales:
if '--confirma' in sys.argv:
if '--loadxml' in sys.argv:
ws.LoadTestXML("trazamed_confirma.xml") # cargo respuesta
ok = ws.SendConfirmaTransacc(usuario="pruebasws", password="pruebasws",
p_ids_transac="1", f_operacion="31-12-2013")
if not ok:
raise RuntimeError(ws.Excepcion)
ws.SendConfirmaTransacc(*sys.argv[sys.argv.index("--confirma")+1:])
elif '--alerta' in sys.argv:
ws.SendAlertaTransacc(*sys.argv[sys.argv.index("--alerta")+1:])
elif '--cancela' in sys.argv:
ws.SendCancelaTransac(*sys.argv[sys.argv.index("--cancela")+1:])
elif '--consulta' in sys.argv:
ws.GetTransacciones(
*sys.argv[sys.argv.index("--consulta")+1:]
)
print "CantPaginas", ws.CantPaginas
print "HayError", ws.HayError
#print "TransaccionSenasa", ws.TransaccionSenasa
# parametros comunes de salida (columnas de la tabla):
claves = [k for k, v, l in TRANSACCIONES]
# extiendo la lista de resultado para el archivo de intercambio:
transacciones.extend(ws.TransaccionSenasa)
# encabezado de la tabla:
print "||", "||".join(["%s" % clave for clave in claves]), "||"
# recorro los datos devueltos (TransaccionSenasa):
while ws.LeerTransaccion():
for clave in claves:
print "||", ws.GetParametro(clave), # imprimo cada fila
print "||"
else:
argv = [argv for argv in sys.argv if not argv.startswith("--")]
if not transaccion_dto:
if len(argv)>10:
ws.SaveTransaccion(*argv[1:])
else:
print "ERROR: no se indicaron todos los parámetros requeridos"
elif transaccion_dto:
try:
usuario, password = argv[-2:]
except:
print "ADVERTENCIA: no se indico parámetros usuario y passoword"
usuario, password = "senasaws", "Clave2013"
for i, dto in enumerate(transaccion_dto):
print "Procesando registro", i
del dto['codigo_transaccion']
ws.SaveTransaccion(usuario, password, **dto)
dto['codigo_transaccion'] = ws.CodigoTransaccion
errores.extend(ws.errores)
print "|Resultado %5s|CodigoTransaccion %10s|Errores|%s|" % (
ws.Resultado,
ws.CodigoTransaccion,
'|'.join(ws.Errores or []),
)
else:
print "ERROR: no se especificaron productos a informar"
if not transaccion_dto:
print "|Resultado %5s|CodigoTransaccion %10s|Errores|%s|" % (
ws.Resultado,
ws.CodigoTransaccion,
'|'.join(ws.Errores or []),
)
if ws.Excepcion:
print ws.Traceback
if '--grabar' in sys.argv:
if '--dbf' in sys.argv:
guardar_dbf(formatos, True, {})
elif '--json' in sys.argv:
for formato in formatos:
archivo = open(formato[0].lower() + ".json", "w")
json.dump(formato[2], archivo, sort_keys=True, indent=4)
archivo.close()
else:
for formato in formatos:
archivo = open(formato[0].lower() + ".txt", "w")
for it in formato[2]:
archivo.write(escribir(it, formato[1]))
archivo.close()
开发者ID:JonatanSalas,项目名称:pyafipws,代码行数:101,代码来源:trazavet.py
示例17: GuardarFactura
def GuardarFactura(self):
from formatos.formato_sql import escribir
escribir([self.factura], self.db)
return self.factura['id']
开发者ID:valem06,项目名称:pyafipws,代码行数:4,代码来源:sired.py
示例18: generar_ventas
def generar_ventas(items):
"Crear archivos de ventas (registros tipo 1 y tipo 2 totales)"
periodo = items[0]['fecha_cbte'][:6]
out = open("VENTAS_%s.txt" % periodo, "w")
totales = format_as_dict(VENTAS_TIPO2)
totales['periodo'] = periodo
for key in IMPORTES:
totales[key] = Decimal(0)
# recorro las facturas e itero sobre los subtotales por alicuota de IVA:
for item in items:
ivas = item.get("ivas", [{}])
for i, iva in enumerate(ivas):
vals = format_as_dict(VENTAS_TIPO1)
# datos generales de la factura:
vals['tipo_reg'] = '1'
# copio los campos que no varían para las distintas alicuotas de IVA
for k, l, t in VENTAS_TIPO1[1:10] + VENTAS_TIPO1[21:30]:
vals[k] = item.get(k)
vals['fecha_anulacion'] = ''
vals['ctl_fiscal'] = item.get('ctl_fiscal', ' ') # C para controlador
vals['anulacion'] = item.get('anulacion', ' ')
vals['cbte_nro_reg'] = item['cbt_numero']
vals['cant_hojas'] = '01'
vals['transporte'] = '0'
vals['categoria'] = categorias[item['categoria'].lower()]
if vals['imp_moneda_id'] is None:
vals['imp_moneda_id'] = 'PES'
vals['imp_moneda_ctz'] = '1.000'
# subtotales por alícuota de IVA
if 'iva_id' in iva:
# mapear alicuota de iva según código usado en MTX
iva_id = int(iva['iva_id'])
if iva_id == 1:
vals['imp_tot_conc'] = iva['base_imp']
alicuota = None
elif iva_id == 2:
vals['imp_op_ex'] = iva['base_imp']
alicuota = None
else:
alicuota = {3: "0.00", 4: "10.5", 5: "21", 6: "27"}[iva_id]
vals['imp_neto'] = iva['base_imp']
vals['impto_liq'] = iva['importe']
vals['alicuota_iva'] = alicuota or '0.00'
else:
# tomar datos generales:
vals['alicuota_iva'] = (Decimal(item['imp_total'])/Decimal(item['imp_neto']) - 1) * 100
vals['alicuotas_iva'] = '01'
if float(item.get('impto_liq', item.get('imp_iva', 0))) == 0:
vals['codigo_operacion'] = 'E'
else:
vals['codigo_operacion'] = ' '
if vals['imp_tot_conc'] is None:
vals['imp_tot_conc'] = '0'
# acumulo los totales para el registro tipo 2
for k in IMPORTES:
totales[k] = totales[k] + Decimal(vals[k] or 0)
# otros impuestos (TODO: recorrer tributos) solo ultimo registro:
if len(ivas) == i-1:
for k in ('impto_perc', 'imp_iibb', 'impto_perc_mun', 'imp_internos'):
if k in item:
vals[k] = item[k]
totales[k] = totales[k] + Decimal(vals[k] or 0)
s = escribir(vals, VENTAS_TIPO1)
out.write(s)
totales['tipo_reg'] = '2'
totales['cant_reg_tipo_1'] = str(len(items))
totales['cuit'] = CUIT
s = escribir(totales, VENTAS_TIPO2)
out.write(s)
out.close()
开发者ID:valem06,项目名称:pyafipws,代码行数:77,代码来源:sired.py
|
请发表评论