report_expense.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <template xml:space="preserve">
  3. <t t-name="ReportExpense">
  4. <div class="report_view">
  5. <div class="container search-form">
  6. <div class="page-header">
  7. <h1><small>Historico de Gastos</small></h1>
  8. </div>
  9. <div class="row">
  10. <div class="col-lg-3 col-md-3 col-sm-6 company filter-style">
  11. <label>Empresa</label>
  12. <select id="current-company" class="form-control form-control-sm"></select>
  13. </div>
  14. <div class="col-lg-3 col-md-3 col-sm-6 store filter-style">
  15. <label>Sucursal</label>
  16. <select id="current-store" class="form-control form-control-sm">
  17. </select>
  18. </div>
  19. <div class="col-lg-3 col-md-3 col-sm-6 filter-style">
  20. <label>Estado</label>
  21. <select id="current-state" class="form-control form-control-sm">
  22. <option value="9999999">Todos los estados</option>
  23. <option value="open">Abierto</option>
  24. <option value="paid">Pagado</option>
  25. </select>
  26. </div>
  27. <div class="col-lg-3 col-md-3 col-sm-6 journal filter-style">
  28. <label>Factura</label>
  29. <select id="current-journal" class="form-control form-control-sm">
  30. </select>
  31. </div>
  32. <div class="col-lg-3 col-md-3 col-sm-6 users filter-style">
  33. <label>Responsable</label>
  34. <select id="current-user" class="form-control form-control-sm">
  35. </select>
  36. </div>
  37. <div class="col-lg-3 col-md-3 col-sm-6 filter-style">
  38. <label>Fechas</label>
  39. <select id="current-date" class="form-control form-control-sm">
  40. <option value="9999999">Sin fechas</option>
  41. <option value="today">Hoy</option>
  42. <option value="yesterday">Ayer</option>
  43. <option value="currentMonth">Mes Actual</option>
  44. <option value="lastMonth">Mes Pasado</option>
  45. <option value="range">Busqueda Avanzada</option>
  46. </select>
  47. </div>
  48. </div>
  49. <div class="row" >
  50. <div class="datepicker" style="display:none;">
  51. <div class="col-lg-3 col-md-3 col-sm-6 filter-style col-md-offset-3">
  52. <div class="input-group">
  53. <span class="input-group-addon" id="basic-addon1">Desde</span>
  54. <input type="text" id="from" class="form-control" aria-describedby="basic-addon1"/>
  55. </div>
  56. </div>
  57. <div class="col-lg-3 col-md-3 col-sm-6 filter-style">
  58. <div class="input-group">
  59. <span class="input-group-addon" id="basic-addon1">Hasta</span>
  60. <input type="text" id="to" class="form-control" aria-describedby="basic-addon1"/>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="row">
  66. <div class="text-center" style="padding-top:20px;">
  67. <button id="generate" class="myButton">Generar</button>
  68. </div>
  69. <br/>
  70. </div>
  71. </div>
  72. <div class="report-form" style="display:none;">
  73. <div id="toolbar">
  74. <button class="myButton print-report" value="pdf">Imprimir Informe</button>
  75. </div>
  76. <div class="container" style="width:98%;">
  77. <table id="table"
  78. data-pagination="true"
  79. data-toggle="table"
  80. data-toolbar="#toolbar"
  81. data-classes="table table-condensed"
  82. data-search="true"
  83. data-show-export="true"
  84. data-show-toggle="true"
  85. data-show-columns="true"
  86. data-show-footer="true"
  87. data-show-pagination-switch="true"
  88. data-footer-style="footerStyle"
  89. data-buttons-class="oe_button myButton"
  90. data-search-on-enter-key="true"
  91. data-undefined-text=" "
  92. data-pagination-v-align="top"
  93. >
  94. <thead style="background:none;">
  95. <tr>
  96. <th data-field="number"
  97. data-align="left"
  98. data-footer-formatter="Totales"
  99. >Factura</th>
  100. <th data-field="origin"
  101. data-align="center"
  102. data-visible="false"
  103. >Origen</th>
  104. <th data-field="date"
  105. data-align="center"
  106. >Fecha</th>
  107. <th data-field="user_name"
  108. data-align="left"
  109. >Vendedor</th>
  110. <th data-field="customer_name"
  111. data-align="left"
  112. >Cliente</th>
  113. <th data-field="residual"
  114. data-align="right"
  115. data-footer-formatter="ResidualFooter"
  116. data-width="200"
  117. >Saldo</th>
  118. <th data-field="untaxed"
  119. data-align="right"
  120. data-footer-formatter="UntaxedFooter"
  121. data-width="200"
  122. >SubTotal</th>
  123. <th data-field="tax"
  124. data-align="right"
  125. data-footer-formatter="TaxFooter"
  126. data-width="200"
  127. >Impuesto</th>
  128. <th data-field="total"
  129. data-align="right"
  130. data-footer-formatter="TotalFooter"
  131. data-width="200"
  132. >Total</th>
  133. </tr>
  134. </thead>
  135. </table>
  136. </div>
  137. </div>
  138. <br/>
  139. <script>
  140. <!--
  141. RESIDUAL
  142. -->
  143. function ResidualFooter(rowsTable) {
  144. var self = this;
  145. var decimal_places = 0;
  146. var thousands_separator = '.';
  147. var decimal_separator = ',';
  148. if(rowsTable.length > 0){
  149. decimal_places = rowsTable[0].decimal_places;
  150. thousands_separator = rowsTable[0].thousands_separator;
  151. decimal_separator = rowsTable[0].decimal_separator;
  152. }
  153. var total = _.reduce(_.map(rowsTable,function(item){
  154. return item.residual_no_format;
  155. }), function(memo, num){
  156. return memo + num;
  157. },0);
  158. return accounting.formatNumber(total,decimal_places,thousands_separator,decimal_separator);
  159. }
  160. <!--
  161. UNTAXED
  162. -->
  163. function UntaxedFooter(rowsTable) {
  164. var decimal_places = 0;
  165. var thousands_separator = '.';
  166. var decimal_separator = ',';
  167. if(rowsTable.length > 0){
  168. decimal_places = rowsTable[0].decimal_places;
  169. thousands_separator = rowsTable[0].thousands_separator;
  170. decimal_separator = rowsTable[0].decimal_separator;
  171. }
  172. var total = _.reduce(_.map(rowsTable,function(item){
  173. return item.untaxed_no_format;
  174. }), function(memo, num){
  175. return memo + num;
  176. },0);
  177. return accounting.formatNumber(total,decimal_places,thousands_separator,decimal_separator);
  178. }
  179. <!--
  180. TAX
  181. -->
  182. function TaxFooter(rowsTable) {
  183. var decimal_places = 0;
  184. var thousands_separator = '.';
  185. var decimal_separator = ',';
  186. if(rowsTable.length > 0){
  187. decimal_places = rowsTable[0].decimal_places;
  188. thousands_separator = rowsTable[0].thousands_separator;
  189. decimal_separator = rowsTable[0].decimal_separator;
  190. }
  191. var total = _.reduce(_.map(rowsTable,function(item){
  192. return item.tax_no_format;
  193. }), function(memo, num){
  194. return memo + num;
  195. },0);
  196. return accounting.formatNumber(total,decimal_places,thousands_separator,decimal_separator);
  197. }
  198. <!--
  199. TOTAL
  200. -->
  201. function TotalFooter(rowsTable) {
  202. var decimal_places = 0;
  203. var thousands_separator = '.';
  204. var decimal_separator = ',';
  205. if(rowsTable.length > 0){
  206. decimal_places = rowsTable[0].decimal_places;
  207. thousands_separator = rowsTable[0].thousands_separator;
  208. decimal_separator = rowsTable[0].decimal_separator;
  209. }
  210. var total = _.reduce(_.map(rowsTable,function(item){
  211. return item.total_no_format;
  212. }), function(memo, num){
  213. return memo + num;
  214. },0);
  215. return accounting.formatNumber(total,decimal_places,thousands_separator,decimal_separator);
  216. }
  217. <!--
  218. FOOTER STYLE
  219. -->
  220. function footerStyle(row, index) {
  221. return {
  222. css: {
  223. "font-weight": "bold"
  224. }
  225. };
  226. };
  227. </script>
  228. </div>
  229. </t>
  230. </template>