configuration_reporting.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. function configuration_reporting (instance, widget) {
  2. "use strict";
  3. var widgets = widget;
  4. widget.ReportingWidget = instance.Widget.extend({
  5. template: 'EiruReporting',
  6. events: {
  7. 'click .report_action > button': 'clickOnReport',
  8. },
  9. reports: [
  10. {
  11. title: 'Resumen de ingresos',
  12. description: 'Permite visualizar de forma global los ingresos obtenidos por la empresa.',
  13. action: 'ReportResumenIngreso'
  14. },
  15. {
  16. title: 'Resumen de egresos',
  17. description: 'Permite visualizar de forma global los egresos realizado por la empresa.',
  18. action: 'ReportResumenEngreso'
  19. },
  20. {
  21. title: 'Histórico de Pagos',
  22. description: 'Permite visualizar de todos los pagos.',
  23. action: 'ReportVoucher'
  24. },
  25. {
  26. title: 'Histórico de Facturas',
  27. description: 'Permite visualizar las facturas',
  28. action: 'ReportInvoiceBalance'
  29. },
  30. {
  31. title: 'Histórico de Movimiento de Banco',
  32. description: 'Permite visualizar un histórico de Movimiento de Banco.',
  33. action: 'ReportBankMovements'
  34. },
  35. // {
  36. // title: 'LIstado Generales por Banco',
  37. // description: 'Permite visualizar un Generales por Banco.',
  38. // action: 'ReportBankGral'
  39. // },
  40. {
  41. title: 'Histórico de Ventas',
  42. description: 'Permite realizar un listado de las cabeceras de facturas de venta.',
  43. action: 'ReportSaleCab'
  44. },
  45. {
  46. title: 'Análisis de Ventas',
  47. description: 'Permite realizar un analisis de las facturas de venta.',
  48. action: 'ReportSaleInvoiceAnalysis'
  49. },
  50. {
  51. title: 'Análisis de Devoluciones de Cliente',
  52. description: 'Permite visualizar un listado de devoluciones de clientes.',
  53. action: 'ReportRefundInvoiceCustomer'
  54. },
  55. {
  56. title: 'Análisis de Contratos del Cliente',
  57. description: 'Permite visualizar un listado de contratos de clientes.',
  58. action: 'ReportContratoCliente'
  59. },
  60. {
  61. title: 'Ranking Productos más Vendidos',
  62. description: 'Permite realizar un analisis de los Productos más Vendidos Sales Order.',
  63. action: 'RankingSalesOrdersProductcy'
  64. },
  65. {
  66. title: 'Ranking de Clientes (Ventas)',
  67. description: 'Permite visualizar el ranking de clientes.',
  68. action: 'ReportRankingSalesOrdersCustomer'
  69. },
  70. {
  71. title: 'Histórico de Ventas',
  72. description: 'Permite realizar un listado de la cabecera de ventas.',
  73. action: 'ReportPos'
  74. },
  75. {
  76. title: 'Analisis de ventas',
  77. description: 'Permite visualizar de forma global los ingresos obtenidos por la empresa.',
  78. action: 'ReportPosOrders'
  79. },
  80. {
  81. title: 'Histórico de Ventas Odonto',
  82. description: 'Permite realizar un listado de la cabecera de ventas.',
  83. action: 'ReportMedical'
  84. },
  85. {
  86. title: 'Histórico de Ventas generales',
  87. description: 'Permite realizar un listado de las cabeceras de facturas de venta.',
  88. action: 'ReportSalePosCab'
  89. },
  90. {
  91. title: 'Analisis de ventas generales',
  92. description: 'Permite visualizar de forma global los ingresos obtenidos por la empresa. Tanto ventas normales y punto de ventas',
  93. action: 'ReportVentasPosOrders'
  94. },
  95. {
  96. title: 'Analisis de ventas por porcentaje',
  97. description: 'Permite visualizar los porcentajes de utilidad de acuerdo a la diferencia de precio de venta y precio vendido',
  98. action: 'ReportInvoiceDifventa'
  99. },
  100. {
  101. title: 'Ranking Productos más Vendidos',
  102. description: 'Permite realizar un analisis de los Productos más Vendidos.',
  103. action: 'RankingPosOrdersProductcy'
  104. },
  105. {
  106. title: 'Ranking de Clientes',
  107. description: 'Permite visualizar el ranking de clientes.',
  108. action: 'ReportRankingPosOrdersCustomer'
  109. },
  110. {
  111. title: 'Análisis de Compras y Gastos',
  112. description: 'Permite realizar un analisis de las facturas de compra y de gastos',
  113. action: 'ReportPurchaseInvoiceAnalysis'
  114. },
  115. {
  116. title: 'Análisis de Devoluciones de Proveedores',
  117. description: 'Permite visualizar un listado de devoluciones de proveedores.',
  118. action: 'ReportRefundInvoiceSupplier'
  119. },
  120. {
  121. title: 'Análisis de Contratos de Proveedores',
  122. description: 'Permite visualizar un listado de contratos de proveedores.',
  123. action: 'ReportContratoProveedor'
  124. },
  125. {
  126. title: 'Ranking Productos más Comprados',
  127. description: 'Permite realizar un analisis de los Productos más Comprados.',
  128. action: 'RankingPurchasesOrdersProductcy'
  129. },
  130. {
  131. title: 'Ranking de Proveedores (Compras)',
  132. description: 'Permite visualizar el ranking de proveedores.',
  133. action: 'ReportRankingPurchasesOrdersSupplier'
  134. },
  135. {
  136. title: 'Análisis de Stock',
  137. description: 'Permite realizar un analisis de los productos disponibles en el stock.',
  138. action: 'ReportStock'
  139. },
  140. {
  141. title: 'Análisis de Stock Original',
  142. description: 'Permite realizar un analisis de los productos disponibles en el stock.',
  143. action: 'ReportStockOriginal'
  144. },
  145. // {
  146. // title: 'Análisis de Stock por Ubicación',
  147. // description: 'Permite realizar un analisis de los productos disponibles en el stock por Ubicación.',
  148. // action: 'ReportStockLocation'
  149. // },
  150. {
  151. title: 'Análisis de Movimientos de Stock',
  152. description: 'Permite realizar un analisis de los productos disponibles en el stock.',
  153. action: 'ReportStockMove'
  154. },
  155. {
  156. title: 'Histórico de Tareas CRM',
  157. description: 'Permite visualizar las Tareas en CRM',
  158. action: 'ReportCrmTask'
  159. },
  160. {
  161. title: 'Histórico CRM',
  162. description: 'Permite visualizar un histórico de CRM realizado por la empresa.',
  163. action: 'ReportCrm'
  164. },
  165. {
  166. title: 'Histórico Mensaje CRM',
  167. description: 'Permite visualizar un histórico de mensaje realizado por la empresa.',
  168. action: 'ReportMensajeCrm'
  169. },
  170. {
  171. title: 'Listado de Cuentas a Cobrar',
  172. description: 'Permite visualizar un listado de cuentas a cobrar tanto vencidos como no vencidos.',
  173. action: 'ReportingAccountPending'
  174. },
  175. {
  176. title: 'Listado de Cuentas a Pagar',
  177. description: 'Permite visualizar un listado de cuentas a pagar.',
  178. action: 'ReportingAccountPendingaPagar'
  179. },
  180. {
  181. title: 'Informe de Trabajos',
  182. description: 'Permite visualizar los trabajos facturados y no facturados.',
  183. action: 'ReportWorks'
  184. },
  185. {
  186. title: 'Listado de Producción',
  187. description: 'Permite visualizar un listado de producción.',
  188. action: 'ReportMrp'
  189. },
  190. {
  191. title: 'Ranking Productos más Fabricados',
  192. description: 'Permite realizar un analisis de los Productos más Fabricados.',
  193. action: 'RankingMrpOrdersProductcy'
  194. },
  195. {
  196. title: 'Análisis de Pack de Productos',
  197. description: 'Permite visualizar el análisis de pack de productos.',
  198. action: 'ReportProductPack'
  199. },
  200. {
  201. title: 'Análisis de Utilidad de Pack de Producto',
  202. description: 'Análisis de Utilidad de Pack de Producto también sobre insumos.',
  203. action: 'ReportProductPackUtilidad'
  204. },
  205. {
  206. title: 'Listado de Proyectos',
  207. description: 'Permite visualizar un listado de proyectos.',
  208. action: 'ReportProject'
  209. }
  210. ],
  211. start: function () {
  212. var self = this;
  213. self.fetchInitial();
  214. },
  215. clickOnReport: function (e) {
  216. var templateName = this.$el.find(e.target).val();
  217. this.renderReport(templateName);
  218. },
  219. renderReport: function (templateName) {
  220. var Widget = this.getWidgetFromTemplate(templateName);
  221. var WidgetInstance = new Widget(this);
  222. var container = this.$el.find('.oe_form_sheet.oe_form_sheet_width');
  223. container.find('.report_view').hide({
  224. effect: 'fade',
  225. duration: 200,
  226. complete: function () {
  227. WidgetInstance.appendTo(container);
  228. }
  229. });
  230. },
  231. getWidgetFromTemplate: function (templateName) {
  232. var widgetName = `${templateName}Widget`;
  233. return _.pick(widget, widgetName)[widgetName];
  234. },
  235. fetchInitial:function() {
  236. var self = this;
  237. self.fetchResUser().then(function (ResUser) {
  238. return ResUser;
  239. }).then(function (ResUser) {
  240. self.ResUser = ResUser;
  241. return self.InsertUser();
  242. });
  243. },
  244. fetchResUser: function() {
  245. var self = this;
  246. var defer = $.Deferred();
  247. var fields = ['id','name'];
  248. var domain = [['id','=',self.session.uid]];
  249. var ResUser = new instance.web.Model('res.users');
  250. ResUser.query(fields).filter(domain).all().then(function (results) {
  251. defer.resolve(results);
  252. });
  253. return defer;
  254. },
  255. InsertUser: function(id) {
  256. var self = this;
  257. var user = self.ResUser[0].name;
  258. self.$el.find('.user-content').find('p').text("Hola " + user + " ...!");
  259. },
  260. });
  261. }