Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Campos para crear una factura desde app externa

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
rafaesco
Soldado
Mensajes: 71
Registrado: Dom, 02/09/2012, 23:47

Campos para crear una factura desde app externa

Mensaje por rafaesco »

Buenas tardes,

Me dedico a la venta de equipos de impresión con mantenimiento, por lo que para facturar tengo que restar el número de páginas impresas actuales a las del mes anterior y facturar ese número de unidades.

Dolibarr esto no tiene forma de hacerlo, pero me gustaría saber qué campos o de qué manera podría crear una factura en Dolibarr a partir de datos externos, para poder desarrollar una aplicación paralela que hiciese el cálculo y luego crease la factura en Dolibarr.

Muchas gracias por vuestra ayuda,

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola rafaesco:

Te recomiendo echar un vistazo a los web services de Dolibarr. http://wiki.dolibarr.org/index.php/M%C3 ... rvices_Web

Si encuentras algún problema, coméntanoslo, pero están pensados para la integración con otras aplicaciones.

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

rafaesco
Soldado
Mensajes: 71
Registrado: Dom, 02/09/2012, 23:47

Mensaje por rafaesco »

Muchas gracias, le echaré un vistazo a ver si soy capaz de hacerlo.

rafaesco
Soldado
Mensajes: 71
Registrado: Dom, 02/09/2012, 23:47

Mensaje por rafaesco »

Hola rafaesco:

Te recomiendo echar un vistazo a los web services de Dolibarr. http://wiki.dolibarr.org/index.php/M%C3 ... rvices_Web

Si encuentras algún problema, coméntanoslo, pero están pensados para la integración con otras aplicaciones.

Un saludo.

Buenas, ya he logrado usar los web services, en concreto el "server_invoice.php?wsdl" que incluye el metodo createInvoice() que supuestamente me permitiria generar la factura desde mi aplicacion, pero tengo problemas.

Después de hacerme un esquema (no hay nada de información de las estructuras de los web services o yo no he visto nada :-( ) he podido generar las facturas sin problemas pero creo que se les ha olvidado insertar en el web service en la estructura Line el parámetro para dar valor a Precio Unitario, todas las facturas que genero me sale el precio unitario de cada linea a 0 y he probado con todos los parámetros pero ninguno modifica ese valor.

El campo de la base de datos del precio unitario se llama "subprice" y todos los parametros que me deja pasarle ninguno es ese, por ejemplo la estructura Line tiene estas variables:

Variable - Base Datos
Desc - description (descripcion del producto)
Qty - qty (cantidad)
Type - Type (tipo linea 0 = Producto, 1 = Servicio)
Vat_Rate - IVA Linea
Total - Total_TTC
Total_Net Total_HT
Total_Vat - Total_VTA

Y como ves ningun añade/modifica el campo Subprice que es el que contiene la informacion del precio unitario de la linea.

¿A alguien se le ocurre algo?

He visto poca informacion en internet acerca de los web services en Español/Ingles, no hay nada oficial donde indique parametros obligatorio, significado, tipos, etc?

Estoy atacando desde una aplicación desarrollada en C#, pongo la parte del codigo que genera la factura para a ver si se anima alguien.

Muchas gracias.

WebServicesDolibarrInvoice.authentication authentication1= new WebServicesDolibarrInvoice.authentication();
authentication1.login = "admin";
authentication1.password = "admin";

invoice invoice1 = new invoice();
WebServicesDolibarrInvoicePortTypeClient webServicesDolibarrInvoicePortTypeClient1 = new WebServicesDolibarrInvoicePortTypeClient();

LinesArray2 LinesArray21 = new LinesArray2();
line[] line = new line[1];
line[0] = new line();

line[0].type = 0; //TIPO PRODUCTO
line[0].desc = "DESCRIPCION"; //DESCRIPCION
line[0].vat_rate = 18; //IVA
line[0].qty = 1; //CANTIDAD
line[0].total_net = 1180; //total_ht


//line[0].id = "HOLAAAAA"; //No hace nada
//line[0].total_net = 1180; //total_ht
//line[0].total_vat = 7777777; //total_tva
//line[0].total = 6666666; //total_ttc

string s5 ="", s6="";

invoice1.type = 0;
invoice1.date = DateTime.Now;
LinesArray21.line = line;
invoice1.lines = LinesArray21;
invoice1.id = "1";
invoice1.thirdparty_id = 1;
WebServicesDolibarrInvoice.result r = webServicesDolibarrInvoicePortTypeClient1.createInvoice(out s5, out s6, authentication1, invoice1);

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola rafaesco:

¿Puede ser por la versión de Dolibarr que estés utilizando? Si yo accedo al WDSL de demo.dolibarr.org, puedo ver que la línea contiene más campos de los que tú me comentas...

Código: Seleccionar todo

	<xsd:complexType name="line">
	<xsd:all>
	<xsd:element name="id" type="xsd:string"/>
	<xsd:element name="type" type="xsd:int"/>
	<xsd:element name="desc" type="xsd:string"/>
	<xsd:element name="vat_rate" type="xsd:double"/>
	<xsd:element name="qty" type="xsd:double"/>
	<xsd:element name="unitprice" type="xsd:double"/>
	<xsd:element name="total_net" type="xsd:double"/>
	<xsd:element name="total_vat" type="xsd:double"/>
	<xsd:element name="total" type="xsd:double"/>
	<xsd:element name="date_start" type="xsd:date"/>
	<xsd:element name="date_end" type="xsd:date"/>
	<xsd:element name="product_id" type="xsd:int"/>
	<xsd:element name="product_ref" type="xsd:string"/>
	<xsd:element name="product_label" type="xsd:string"/>
	<xsd:element name="product_desc" type="xsd:string"/>
	</xsd:all>
	</xsd:complexType>
	

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

rafaesco
Soldado
Mensajes: 71
Registrado: Dom, 02/09/2012, 23:47

Mensaje por rafaesco »

Buenas noches, tengo la ultima version pero viniendo de un update de la 3.1.

he hecho una instalacion de cero de la ultima version y efectivamente aparece el subprice, vpy a mirar que ficheros usa para este servicio web e intentar actualizar manialmente.

muchas gracias!!