@@ -93,10 +93,10 @@ |
||
| 93 | 93 | public function getTaxByProduct($idproducto, $rdtaxid, $use = 'venta'): ?ImpuestoProducto |
| 94 | 94 | { |
| 95 | 95 | $dataBase = new DataBase(); |
| 96 | - $sql = "SELECT * FROM impuestosproductos WHERE idproducto = " . |
|
| 97 | - (int)$idproducto . |
|
| 98 | - " AND codimpuesto = '" . $dataBase->escapeString($rdtaxid) . "'" . |
|
| 99 | - " AND " . $use . " = true" . ";"; |
|
| 96 | + $sql = "SELECT * FROM impuestosproductos WHERE idproducto = ". |
|
| 97 | + (int) $idproducto. |
|
| 98 | + " AND codimpuesto = '".$dataBase->escapeString($rdtaxid)."'". |
|
| 99 | + " AND ".$use." = true".";"; |
|
| 100 | 100 | $data = $dataBase->select($sql); |
| 101 | 101 | if (empty($data) === true || in_array($data[0], [null, ''], true)) { |
| 102 | 102 | return null; |
@@ -30,10 +30,10 @@ discard block |
||
| 30 | 30 | { |
| 31 | 31 | public function createViews(): Closure |
| 32 | 32 | { |
| 33 | - return function () { |
|
| 34 | - AssetManager::add('js', \FS_ROUTE . '/Plugins/fsRepublicaDominicana/Assets/JS/CommonModals.js'); |
|
| 35 | - AssetManager::add('js', \FS_ROUTE . '/Plugins/fsRepublicaDominicana/Assets/JS/CommonDomFunctions.js'); |
|
| 36 | - AssetManager::add('js', \FS_ROUTE . '/Plugins/fsRepublicaDominicana/Assets/JS/BusquedaRNCDGII.js'); |
|
| 33 | + return function() { |
|
| 34 | + AssetManager::add('js', \FS_ROUTE.'/Plugins/fsRepublicaDominicana/Assets/JS/CommonModals.js'); |
|
| 35 | + AssetManager::add('js', \FS_ROUTE.'/Plugins/fsRepublicaDominicana/Assets/JS/CommonDomFunctions.js'); |
|
| 36 | + AssetManager::add('js', \FS_ROUTE.'/Plugins/fsRepublicaDominicana/Assets/JS/BusquedaRNCDGII.js'); |
|
| 37 | 37 | $ncfTipo = new NCFTipo(); |
| 38 | 38 | $ncfTipos = $ncfTipo->allFor('ventas', 'suma'); |
| 39 | 39 | $customValues = []; |
@@ -62,7 +62,7 @@ discard block |
||
| 62 | 62 | |
| 63 | 63 | public function execPreviousAction(): Closure |
| 64 | 64 | { |
| 65 | - return function ($action) { |
|
| 65 | + return function($action) { |
|
| 66 | 66 | switch ($action) { |
| 67 | 67 | case 'busca_rnc': |
| 68 | 68 | $this->setTemplate(false); |
@@ -42,7 +42,7 @@ discard block |
||
| 42 | 42 | // TODO: Implement addInvoiceHeader() method. |
| 43 | 43 | $html = $this->getInvoiceHeaderBilling($model) |
| 44 | 44 | . $this->getInvoiceHeaderShipping($model); |
| 45 | - $this->writeHTML('<table class="table-big table-border"><tr>' . $html . '</tr></table><br/>'); |
|
| 45 | + $this->writeHTML('<table class="table-big table-border"><tr>'.$html.'</tr></table><br/>'); |
|
| 46 | 46 | } |
| 47 | 47 | |
| 48 | 48 | public function addInvoiceLines($model) |
@@ -52,7 +52,7 @@ discard block |
||
| 52 | 52 | |
| 53 | 53 | $tHead = '<thead><tr>'; |
| 54 | 54 | foreach ($this->getInvoiceLineFields() as $field) { |
| 55 | - $tHead .= '<th class="' . $field['css'] . '" align="' . $field['align'] . '">' . $field['title'] . '</th>'; |
|
| 55 | + $tHead .= '<th class="'.$field['css'].'" align="'.$field['align'].'">'.$field['title'].'</th>'; |
|
| 56 | 56 | } |
| 57 | 57 | $tHead .= '</tr></thead>'; |
| 58 | 58 | |
@@ -64,20 +64,20 @@ discard block |
||
| 64 | 64 | $line->numlinea = $numLinea; |
| 65 | 65 | $tBody .= '<tr>'; |
| 66 | 66 | foreach ($this->getInvoiceLineFields() as $field) { |
| 67 | - $tBody .= '<td class="' . $field['css'] . '" align="' . $field['align'] . '" valign="top">' . $this->getInvoiceLineValue($model, $line, $field) . '</td>'; |
|
| 67 | + $tBody .= '<td class="'.$field['css'].'" align="'.$field['align'].'" valign="top">'.$this->getInvoiceLineValue($model, $line, $field).'</td>'; |
|
| 68 | 68 | } |
| 69 | 69 | $tBody .= '</tr>'; |
| 70 | 70 | $numLinea++; |
| 71 | 71 | |
| 72 | 72 | if (property_exists($line, 'salto_pagina') && $line->salto_pagina) { |
| 73 | - $this->writeHTML('<div class="table-lines"><table class="table-big table-list">' . $tHead . $tBody . '</table></div>'); |
|
| 73 | + $this->writeHTML('<div class="table-lines"><table class="table-big table-list">'.$tHead.$tBody.'</table></div>'); |
|
| 74 | 74 | $this->writeHTML($this->getInvoiceTotalsPartial($model, $tLines, 'mt-20')); |
| 75 | 75 | $this->mpdf->AddPage(); |
| 76 | 76 | $tBody = ''; |
| 77 | 77 | } |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | - $this->writeHTML('<div class="table-lines"><table class="table-big table-list">' . $tHead . $tBody . '</table></div>'); |
|
| 80 | + $this->writeHTML('<div class="table-lines"><table class="table-big table-list">'.$tHead.$tBody.'</table></div>'); |
|
| 81 | 81 | |
| 82 | 82 | // clonamos el documento y añadimos los totales para ver si salta de página |
| 83 | 83 | $copier = new DeepCopy(); |
@@ -96,28 +96,28 @@ discard block |
||
| 96 | 96 | protected function css(): string |
| 97 | 97 | { |
| 98 | 98 | return parent::css() |
| 99 | - . '.title {border-bottom: 2px solid ' . $this->get('color1') . ';}' |
|
| 100 | - . '.table-border {border-top: 1px solid ' . $this->get('color1') . '; border-bottom: 1px solid ' . $this->get('color1') . ';}' |
|
| 101 | - . '.table-dual {border-top: 1px solid ' . $this->get('color1') . '; border-bottom: 1px solid ' . $this->get('color1') . ';}' |
|
| 102 | - . '.table-list {border-spacing: 0px; border-top: 1px solid ' . $this->get('color1') . '; border-bottom: 1px solid ' . $this->get('color1') . ';}' |
|
| 103 | - . '.table-list tr:nth-child(even) {background-color: ' . $this->get('color3') . ';}' |
|
| 104 | - . '.table-list th {background-color: ' . $this->get('color1') . '; color: ' . $this->get('color2') . '; padding: 5px; text-transform: uppercase;}' |
|
| 99 | + . '.title {border-bottom: 2px solid '.$this->get('color1').';}' |
|
| 100 | + . '.table-border {border-top: 1px solid '.$this->get('color1').'; border-bottom: 1px solid '.$this->get('color1').';}' |
|
| 101 | + . '.table-dual {border-top: 1px solid '.$this->get('color1').'; border-bottom: 1px solid '.$this->get('color1').';}' |
|
| 102 | + . '.table-list {border-spacing: 0px; border-top: 1px solid '.$this->get('color1').'; border-bottom: 1px solid '.$this->get('color1').';}' |
|
| 103 | + . '.table-list tr:nth-child(even) {background-color: '.$this->get('color3').';}' |
|
| 104 | + . '.table-list th {background-color: '.$this->get('color1').'; color: '.$this->get('color2').'; padding: 5px; text-transform: uppercase;}' |
|
| 105 | 105 | . '.table-list td {padding: 5px;}' |
| 106 | 106 | . '.thanks-title {' |
| 107 | - . 'font-size: ' . $this->get('titlefontsize') . 'px; font-weight: bold; color: ' . $this->get('color1') . '; ' |
|
| 108 | - . 'text-align: right; width: 50%; padding: 15px; border-right: 1px solid ' . $this->get('color1') . ';' |
|
| 107 | + . 'font-size: '.$this->get('titlefontsize').'px; font-weight: bold; color: '.$this->get('color1').'; ' |
|
| 108 | + . 'text-align: right; width: 50%; padding: 15px; border-right: 1px solid '.$this->get('color1').';' |
|
| 109 | 109 | . '}' |
| 110 | 110 | . '.color-navy {color: navy;}' |
| 111 | 111 | . '.color-blue {color: blue;}' |
| 112 | - . '.color-template {color: ' . $this->get('color1') .';}' |
|
| 112 | + . '.color-template {color: '.$this->get('color1').';}' |
|
| 113 | 113 | . '.thanks-text {padding: 15px;}' |
| 114 | - . '.imagetext {margin-top: 15px; text-align: ' . $this->get('endalign') . ';}' |
|
| 115 | - . '.imagefooter {text-align: ' . $this->get('footeralign') . ';}'; |
|
| 114 | + . '.imagetext {margin-top: 15px; text-align: '.$this->get('endalign').';}' |
|
| 115 | + . '.imagefooter {text-align: '.$this->get('footeralign').';}'; |
|
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | protected function getSubjectIdFiscalStr(BusinessDocument $model): string |
| 119 | 119 | { |
| 120 | - return empty($model->cifnif) ? '' : '<b>' . $model->getSubject()->tipoidfiscal . '</b>: ' . $model->cifnif; |
|
| 120 | + return empty($model->cifnif) ? '' : '<b>'.$model->getSubject()->tipoidfiscal.'</b>: '.$model->cifnif; |
|
| 121 | 121 | } |
| 122 | 122 | |
| 123 | 123 | protected function getInvoiceHeaderBilling($model): string |
@@ -129,13 +129,13 @@ discard block |
||
| 129 | 129 | $subject = $model->getSubject(); |
| 130 | 130 | $address = isset($model->codproveedor) && !isset($model->direccion) ? $subject->getDefaultAddress() : $model; |
| 131 | 131 | $customerCode = $this->get('showcustomercode') ? $model->subjectColumnValue() : ''; |
| 132 | - $customerEmail = $this->get('showcustomeremail') && !empty($subject->email) ? '<br>' . Tools::lang()->trans('email') . ': ' . $subject->email : ''; |
|
| 132 | + $customerEmail = $this->get('showcustomeremail') && !empty($subject->email) ? '<br>'.Tools::lang()->trans('email').': '.$subject->email : ''; |
|
| 133 | 133 | $break = empty($model->cifnif) ? '' : '<br/>'; |
| 134 | 134 | return '<td align="left" valign="top">' |
| 135 | - . '<br/><b> ' . $this->getSubjectTitle($model) . ':</b> ' . $customerCode |
|
| 136 | - . $this->getSubjectName($model) . $break . $this->getSubjectIdFiscalStr($model) |
|
| 137 | - . '<br/><b>' . Tools::lang()->trans('address'). ':</b> ' .$this->combineAddress($address) . $this->getInvoiceHeaderBillingPhones($subject) |
|
| 138 | - . '<br/><b>' . Tools::lang()->trans('email'). ':</b> ' .$customerEmail |
|
| 135 | + . '<br/><b> '.$this->getSubjectTitle($model).':</b> '.$customerCode |
|
| 136 | + . $this->getSubjectName($model).$break.$this->getSubjectIdFiscalStr($model) |
|
| 137 | + . '<br/><b>'.Tools::lang()->trans('address').':</b> '.$this->combineAddress($address).$this->getInvoiceHeaderBillingPhones($subject) |
|
| 138 | + . '<br/><b>'.Tools::lang()->trans('email').':</b> '.$customerEmail |
|
| 139 | 139 | . '<br/>' |
| 140 | 140 | . '</td>'; |
| 141 | 141 | } |
@@ -155,8 +155,8 @@ discard block |
||
| 155 | 155 | return ''; |
| 156 | 156 | } |
| 157 | 157 | |
| 158 | - return '<td><b>' . Tools::lang()->trans('shipping-address') . '</b>' |
|
| 159 | - . '<br/>' . $this->combineAddress($contacto, true) . '</td>'; |
|
| 158 | + return '<td><b>'.Tools::lang()->trans('shipping-address').'</b>' |
|
| 159 | + . '<br/>'.$this->combineAddress($contacto, true).'</td>'; |
|
| 160 | 160 | } |
| 161 | 161 | |
| 162 | 162 | protected function getInvoiceHeaderBillingPhones($subject): string |
@@ -170,7 +170,7 @@ discard block |
||
| 170 | 170 | return ''; |
| 171 | 171 | } |
| 172 | 172 | |
| 173 | - return '<br/>' . $strPhones; |
|
| 173 | + return '<br/>'.$strPhones; |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | protected function headerLeft(): string |
@@ -183,34 +183,34 @@ discard block |
||
| 183 | 183 | } |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | - $title = $this->showHeaderTitle ? '<h1 class="title">' . $this->get('headertitle') . '</h1>' . $this->spacer() : ''; |
|
| 186 | + $title = $this->showHeaderTitle ? '<h1 class="title">'.$this->get('headertitle').'</h1>'.$this->spacer() : ''; |
|
| 187 | 187 | if ($this->isSketchInvoice()) { |
| 188 | - $title .= '<div class="color-red font-big font-bold">' . Tools::lang()->trans('invoice-is-sketch') . '</div>'; |
|
| 188 | + $title .= '<div class="color-red font-big font-bold">'.Tools::lang()->trans('invoice-is-sketch').'</div>'; |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | $descTC = ($this->headerModel->tipocomprobante < 30) ? "<b>NCF:</b> " : "<b>e-NCF:</b> "; |
| 192 | - $fechaVencimiento = ($this->headerModel->ncffechavencimiento !== null) ? '<b>Fecha Vencimiento:</b> ' . $this->headerModel->ncffechavencimiento : ''; |
|
| 193 | - $fechaEmision = '<b>Fecha Emisión:</b> ' . $this->headerModel->fecha; |
|
| 192 | + $fechaVencimiento = ($this->headerModel->ncffechavencimiento !== null) ? '<b>Fecha Vencimiento:</b> '.$this->headerModel->ncffechavencimiento : ''; |
|
| 193 | + $fechaEmision = '<b>Fecha Emisión:</b> '.$this->headerModel->fecha; |
|
| 194 | 194 | |
| 195 | 195 | return '<table class="table-big">' |
| 196 | 196 | . '<tr>' |
| 197 | - . '<td valign="top"><img src="' . $this->logoPath . '" height="' . $this->get('logosize') . '"/>' . '</td>' |
|
| 198 | - . '<td align="right" valign="top">' . $title . '</td>' |
|
| 197 | + . '<td valign="top"><img src="'.$this->logoPath.'" height="'.$this->get('logosize').'"/>'.'</td>' |
|
| 198 | + . '<td align="right" valign="top">'.$title.'</td>' |
|
| 199 | 199 | . '</tr>' |
| 200 | 200 | . '<tr>' |
| 201 | 201 | . '<td align="left" valign="top">' |
| 202 | - . '<p><b>' . $this->empresa->nombre . '</b>' |
|
| 203 | - . '<br/>' . $this->empresa->tipoidfiscal . ': ' . $this->empresa->cifnif |
|
| 204 | - . '<br/>' . Tools::lang()->trans('address') . ': ' . $this->combineAddress($this->empresa) . '</p>' |
|
| 205 | - . '<p>' . implode(' · ', $contactData) . '</p>' |
|
| 202 | + . '<p><b>'.$this->empresa->nombre.'</b>' |
|
| 203 | + . '<br/>'.$this->empresa->tipoidfiscal.': '.$this->empresa->cifnif |
|
| 204 | + . '<br/>'.Tools::lang()->trans('address').': '.$this->combineAddress($this->empresa).'</p>' |
|
| 205 | + . '<p>'.implode(' · ', $contactData).'</p>' |
|
| 206 | 206 | . $fechaEmision |
| 207 | 207 | . '</td>' |
| 208 | 208 | . '<td align="right" valign="top">' |
| 209 | - . '<div class="color-template font-big font-bold">' . $this->headerModel->descripcionTipoComprobante() . '</div>' |
|
| 209 | + . '<div class="color-template font-big font-bold">'.$this->headerModel->descripcionTipoComprobante().'</div>' |
|
| 210 | 210 | . $descTC |
| 211 | - . $this->headerModel->numeroncf . '<br/>' |
|
| 212 | - . $fechaVencimiento . '<br/>' |
|
| 213 | - . '<b>' . $i18n->trans('payment-method') . ':</b> ' |
|
| 211 | + . $this->headerModel->numeroncf.'<br/>' |
|
| 212 | + . $fechaVencimiento.'<br/>' |
|
| 213 | + . '<b>'.$i18n->trans('payment-method').':</b> ' |
|
| 214 | 214 | . PaymentMethodBankDataHelper::get($this->headerModel) |
| 215 | 215 | . '</td>' |
| 216 | 216 | . '</tr>' |
@@ -225,20 +225,20 @@ discard block |
||
| 225 | 225 | } |
| 226 | 226 | } |
| 227 | 227 | |
| 228 | - $title = $this->showHeaderTitle ? '<h1 class="title">' . $this->get('headertitle') . '</h1>' . $this->spacer() : ''; |
|
| 228 | + $title = $this->showHeaderTitle ? '<h1 class="title">'.$this->get('headertitle').'</h1>'.$this->spacer() : ''; |
|
| 229 | 229 | if ($this->isSketchInvoice()) { |
| 230 | - $title .= '<div class="color-red font-big font-bold">' . Tools::lang()->trans('invoice-is-sketch') . '</div>'; |
|
| 230 | + $title .= '<div class="color-red font-big font-bold">'.Tools::lang()->trans('invoice-is-sketch').'</div>'; |
|
| 231 | 231 | } |
| 232 | 232 | |
| 233 | 233 | return '<table class="table-big">' |
| 234 | 234 | . '<tr>' |
| 235 | - . '<td> Titulo ' . $title |
|
| 236 | - . '<p><b>' . $this->empresa->nombre . '</b>' |
|
| 237 | - . '<br/>' . $this->empresa->tipoidfiscal . ': ' . $this->empresa->cifnif |
|
| 238 | - . '<br/>' . $this->combineAddress($this->empresa) . '</p>' . $this->spacer() |
|
| 239 | - . '<p>' . implode(' · ', $contactData) . '</p>' |
|
| 235 | + . '<td> Titulo '.$title |
|
| 236 | + . '<p><b>'.$this->empresa->nombre.'</b>' |
|
| 237 | + . '<br/>'.$this->empresa->tipoidfiscal.': '.$this->empresa->cifnif |
|
| 238 | + . '<br/>'.$this->combineAddress($this->empresa).'</p>'.$this->spacer() |
|
| 239 | + . '<p>'.implode(' · ', $contactData).'</p>' |
|
| 240 | 240 | . '</td>' |
| 241 | - . '<td align="right"><img src="' . $this->logoPath . '" height="' . $this->get('logosize') . '"/></td>' |
|
| 241 | + . '<td align="right"><img src="'.$this->logoPath.'" height="'.$this->get('logosize').'"/></td>' |
|
| 242 | 242 | . '</tr>' |
| 243 | 243 | . '</table>'; |
| 244 | 244 | } |
@@ -247,13 +247,12 @@ discard block |
||
| 247 | 247 | { |
| 248 | 248 | $observations = ''; |
| 249 | 249 | if (!empty($this->getObservations($model))) { |
| 250 | - $observations .= '<p><b>' . Tools::lang()->trans('observations') . '</b><br/>' |
|
| 251 | - . $this->getObservations($model) . '</p>'; |
|
| 250 | + $observations .= '<p><b>'.Tools::lang()->trans('observations').'</b><br/>' |
|
| 251 | + . $this->getObservations($model).'</p>'; |
|
| 252 | 252 | } |
| 253 | 253 | |
| 254 | 254 | return $this->format->hidetotals ? |
| 255 | - $observations : |
|
| 256 | - $this->getInvoiceTotalsPartial($model, [], $css) . $observations; |
|
| 255 | + $observations : $this->getInvoiceTotalsPartial($model, [], $css).$observations; |
|
| 257 | 256 | } |
| 258 | 257 | |
| 259 | 258 | protected function getInvoiceTotalsPartial($model, array $lines = [], string $css = ''): string |
@@ -284,8 +283,8 @@ discard block |
||
| 284 | 283 | // pintamos los irpfs |
| 285 | 284 | foreach ($irpfs as $irpf) { |
| 286 | 285 | $trs .= '<tr>' |
| 287 | - . '<td align="right"><b>' . $irpf['name'] . '</b>:</td>' |
|
| 288 | - . '<td class="nowrap" align="right">' . Tools::money($irpf['total'], $model->coddivisa) . '</td>' |
|
| 286 | + . '<td align="right"><b>'.$irpf['name'].'</b>:</td>' |
|
| 287 | + . '<td class="nowrap" align="right">'.Tools::money($irpf['total'], $model->coddivisa).'</td>' |
|
| 289 | 288 | . '</tr>'; |
| 290 | 289 | } |
| 291 | 290 | |
@@ -309,15 +308,15 @@ discard block |
||
| 309 | 308 | case 'dtopor1': |
| 310 | 309 | case 'dtopor2': |
| 311 | 310 | $trs .= '<tr>' |
| 312 | - . '<td align="right"><b>' . $title . '</b>:</td>' |
|
| 313 | - . '<td class="nowrap" align="right">' . Tools::number($model->{$key}) . '%</td>' |
|
| 311 | + . '<td align="right"><b>'.$title.'</b>:</td>' |
|
| 312 | + . '<td class="nowrap" align="right">'.Tools::number($model->{$key}).'%</td>' |
|
| 314 | 313 | . '</tr>'; |
| 315 | 314 | break; |
| 316 | 315 | |
| 317 | 316 | case 'total': |
| 318 | 317 | $trs .= '<tr>' |
| 319 | - . '<td class="text-right"><b>' . $title . '</b>:</td>' |
|
| 320 | - . '<td class="text-right nowrap">' . Tools::money($model->{$key}, $model->coddivisa) . '</td>' |
|
| 318 | + . '<td class="text-right"><b>'.$title.'</b>:</td>' |
|
| 319 | + . '<td class="text-right nowrap">'.Tools::money($model->{$key}, $model->coddivisa).'</td>' |
|
| 321 | 320 | . '</tr>'; |
| 322 | 321 | break; |
| 323 | 322 | |
@@ -328,24 +327,24 @@ discard block |
||
| 328 | 327 | // no break |
| 329 | 328 | default: |
| 330 | 329 | $trs .= '<tr>' |
| 331 | - . '<td align="right"><b>' . $title . '</b>:</td>' |
|
| 332 | - . '<td class="nowrap" align="right">' . Tools::money($model->{$key}, $model->coddivisa) . '</td>' |
|
| 330 | + . '<td align="right"><b>'.$title.'</b>:</td>' |
|
| 331 | + . '<td class="nowrap" align="right">'.Tools::money($model->{$key}, $model->coddivisa).'</td>' |
|
| 333 | 332 | . '</tr>'; |
| 334 | 333 | break; |
| 335 | 334 | } |
| 336 | 335 | } |
| 337 | 336 | |
| 338 | - return '<table class="table-big table-border ' . $css . '">' |
|
| 337 | + return '<table class="table-big table-border '.$css.'">' |
|
| 339 | 338 | . '<tr>' |
| 340 | - . '<td> ' . $this->getInvoiceTaxes($model, $lines) . '</td>' |
|
| 341 | - . '<td align="right" valign="top"><table>' . $trs . '</table></td>' |
|
| 339 | + . '<td> '.$this->getInvoiceTaxes($model, $lines).'</td>' |
|
| 340 | + . '<td align="right" valign="top"><table>'.$trs.'</table></td>' |
|
| 342 | 341 | . '</tr>' |
| 343 | 342 | . '<tr>' |
| 344 | 343 | . '<td>' |
| 345 | 344 | . '</td>' |
| 346 | 345 | . '</tr>' |
| 347 | 346 | . '</table>' |
| 348 | - . ' <b>Son:</b> ' . $this->convert_to_words($model->total) . ' pesos dominicanos' |
|
| 347 | + . ' <b>Son:</b> '.$this->convert_to_words($model->total).' pesos dominicanos' |
|
| 349 | 348 | . '<br/>'; |
| 350 | 349 | } |
| 351 | 350 | |
@@ -365,43 +364,43 @@ discard block |
||
| 365 | 364 | $trs = ''; |
| 366 | 365 | foreach ($taxes['iva'] as $row) { |
| 367 | 366 | $trs .= '<tr>' |
| 368 | - . '<td class="nowrap" align="left">' . Impuestos::get($row['codimpuesto'])->descripcion . '</td>' |
|
| 369 | - . '<td class="nowrap" align="center">' . Tools::money($row['neto'], $model->coddivisa) . '</td>' |
|
| 370 | - . '<td class="nowrap" align="center">' . Tools::number($row['iva']) . '%</td>' |
|
| 371 | - . '<td class="nowrap" align="center">' . Tools::money($row['totaliva'], $model->coddivisa) . '</td>'; |
|
| 367 | + . '<td class="nowrap" align="left">'.Impuestos::get($row['codimpuesto'])->descripcion.'</td>' |
|
| 368 | + . '<td class="nowrap" align="center">'.Tools::money($row['neto'], $model->coddivisa).'</td>' |
|
| 369 | + . '<td class="nowrap" align="center">'.Tools::number($row['iva']).'%</td>' |
|
| 370 | + . '<td class="nowrap" align="center">'.Tools::money($row['totaliva'], $model->coddivisa).'</td>'; |
|
| 372 | 371 | |
| 373 | 372 | if (empty($model->totalrecargo)) { |
| 374 | 373 | $trs .= '</tr>'; |
| 375 | 374 | continue; |
| 376 | 375 | } |
| 377 | 376 | |
| 378 | - $trs .= '<td class="nowrap" align="center">' . (empty($row['recargo']) ? '-' : Tools::number($row['recargo']) . '%') . '</td>' |
|
| 379 | - . '<td class="nowrap" align="right">' . (empty($row['totalrecargo']) ? '-' : Tools::money($row['totalrecargo'])) . '</td>' |
|
| 377 | + $trs .= '<td class="nowrap" align="center">'.(empty($row['recargo']) ? '-' : Tools::number($row['recargo']).'%').'</td>' |
|
| 378 | + . '<td class="nowrap" align="right">'.(empty($row['totalrecargo']) ? '-' : Tools::money($row['totalrecargo'])).'</td>' |
|
| 380 | 379 | . '</tr>'; |
| 381 | 380 | } |
| 382 | 381 | |
| 383 | 382 | if (empty($model->totalrecargo)) { |
| 384 | - return '<table class="' . $class . '">' |
|
| 383 | + return '<table class="'.$class.'">' |
|
| 385 | 384 | . '<thead>' |
| 386 | 385 | . '<tr>' |
| 387 | - . '<th align="left">' . $i18n->trans('tax') . '</th>' |
|
| 388 | - . '<th align="center">' . $i18n->trans('tax-base') . '</th>' |
|
| 389 | - . '<th align="center">' . $i18n->trans('percentage') . '</th>' |
|
| 390 | - . '<th align="center">' . $i18n->trans('amount') . '</th>' |
|
| 386 | + . '<th align="left">'.$i18n->trans('tax').'</th>' |
|
| 387 | + . '<th align="center">'.$i18n->trans('tax-base').'</th>' |
|
| 388 | + . '<th align="center">'.$i18n->trans('percentage').'</th>' |
|
| 389 | + . '<th align="center">'.$i18n->trans('amount').'</th>' |
|
| 391 | 390 | . '</tr>' |
| 392 | 391 | . '</thead>' |
| 393 | 392 | . $trs |
| 394 | 393 | . '</table>'; |
| 395 | 394 | } |
| 396 | 395 | |
| 397 | - return '<table class="' . $class . '">' |
|
| 396 | + return '<table class="'.$class.'">' |
|
| 398 | 397 | . '<tr>' |
| 399 | - . '<th align="left">' . $i18n->trans('tax') . '</th>' |
|
| 400 | - . '<th align="center">' . $i18n->trans('tax-base') . '</th>' |
|
| 401 | - . '<th align="center">' . $i18n->trans('tax') . '</th>' |
|
| 402 | - . '<th align="center">' . $i18n->trans('amount') . '</th>' |
|
| 403 | - . '<th align="center">' . $i18n->trans('re') . '</th>' |
|
| 404 | - . '<th align="right">' . $i18n->trans('amount') . '</th>' |
|
| 398 | + . '<th align="left">'.$i18n->trans('tax').'</th>' |
|
| 399 | + . '<th align="center">'.$i18n->trans('tax-base').'</th>' |
|
| 400 | + . '<th align="center">'.$i18n->trans('tax').'</th>' |
|
| 401 | + . '<th align="center">'.$i18n->trans('amount').'</th>' |
|
| 402 | + . '<th align="center">'.$i18n->trans('re').'</th>' |
|
| 403 | + . '<th align="right">'.$i18n->trans('amount').'</th>' |
|
| 405 | 404 | . '</tr>' |
| 406 | 405 | . $trs |
| 407 | 406 | . '</table>'; |
@@ -463,7 +462,7 @@ discard block |
||
| 463 | 462 | |
| 464 | 463 | if ($number < 100) { |
| 465 | 464 | return ucfirst($words[10 * floor($number / 10)] |
| 466 | - . ($number % 10 > 0 ? ' y ' . $words[$number % 10] : '')); |
|
| 465 | + . ($number % 10 > 0 ? ' y '.$words[$number % 10] : '')); |
|
| 467 | 466 | } |
| 468 | 467 | |
| 469 | 468 | if ($number < 1000) { |
@@ -475,23 +474,23 @@ discard block |
||
| 475 | 474 | |
| 476 | 475 | if ($number < 1000000) { |
| 477 | 476 | $thousands = floor($number / 1000); |
| 478 | - return ucfirst(($thousands > 1 ? $this->convert_to_words($thousands) . ' ' : '') |
|
| 477 | + return ucfirst(($thousands > 1 ? $this->convert_to_words($thousands).' ' : '') |
|
| 479 | 478 | . 'mil' |
| 480 | - . ($number % 1000 > 0 ? ' ' . $this->convert_to_words($number % 1000) : '')); |
|
| 479 | + . ($number % 1000 > 0 ? ' '.$this->convert_to_words($number % 1000) : '')); |
|
| 481 | 480 | } |
| 482 | 481 | |
| 483 | 482 | if ($number < 1000000000) { |
| 484 | 483 | $millions = floor($number / 1000000); |
| 485 | - return ucfirst(($millions > 1 ? $this->convert_to_words($millions) . ' ' : 'un ') |
|
| 484 | + return ucfirst(($millions > 1 ? $this->convert_to_words($millions).' ' : 'un ') |
|
| 486 | 485 | . 'millón' |
| 487 | 486 | . ($millions > 1 ? 'es' : '') |
| 488 | - . ($number % 1000000 > 0 ? ' ' . $this->convert_to_words($number % 1000000) : '')); |
|
| 487 | + . ($number % 1000000 > 0 ? ' '.$this->convert_to_words($number % 1000000) : '')); |
|
| 489 | 488 | } |
| 490 | 489 | |
| 491 | 490 | $billions = floor($number / 1000000000); |
| 492 | - return ucfirst(($billions > 1 ? $this->convert_to_words($billions) . ' ' : 'un ') |
|
| 491 | + return ucfirst(($billions > 1 ? $this->convert_to_words($billions).' ' : 'un ') |
|
| 493 | 492 | . 'billón' |
| 494 | 493 | . ($billions > 1 ? 'es' : '') |
| 495 | - . ($number % 1000000000 > 0 ? ' ' . $this->convert_to_words($number % 1000000000) : '')); |
|
| 494 | + . ($number % 1000000000 > 0 ? ' '.$this->convert_to_words($number % 1000000000) : '')); |
|
| 496 | 495 | } |
| 497 | 496 | } |
| 498 | 497 | \ No newline at end of file |
@@ -120,16 +120,16 @@ discard block |
||
| 120 | 120 | 'tipocomprobante' => '17', 'descripcion' => 'COMPROBANTE PARA PAGOS AL EXTERIOR', 'clasemovimiento'=>'suma', |
| 121 | 121 | 'ventas'=>'N', 'compras'=>'Y', 'contribuyente'=>'Y', 'estado' => true |
| 122 | 122 | ], |
| 123 | - ['tipocomprobante' => '31', 'descripcion' => 'FACTURA DE CRÉDITO FISCAL ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 124 | - ['tipocomprobante' => '32', 'descripcion' => 'FACTURA DE CONSUMO ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 125 | - ['tipocomprobante' => '33', 'descripcion' => 'NOTA DE DÉBITO ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 126 | - ['tipocomprobante' => '34', 'descripcion' => 'NOTA DE CRÉDITO ELECTRÓNICA', 'clasemovimiento' => 'resta', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 127 | - ['tipocomprobante' => '41', 'descripcion' => 'COMPROBANTE ELECTRÓNICO DE COMPRAS', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 128 | - ['tipocomprobante' => '43', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 129 | - ['tipocomprobante' => '44', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 130 | - ['tipocomprobante' => '45', 'descripcion' => 'COMPROBANTE ELECTRÓNICO GUBERNAMENTAL', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 131 | - ['tipocomprobante' => '46', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 132 | - ['tipocomprobante' => '47', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA PAGOS AL EXTERIOR', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 123 | + ['tipocomprobante' => '31', 'descripcion' => 'FACTURA DE CRÉDITO FISCAL ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 124 | + ['tipocomprobante' => '32', 'descripcion' => 'FACTURA DE CONSUMO ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 125 | + ['tipocomprobante' => '33', 'descripcion' => 'NOTA DE DÉBITO ELECTRÓNICA', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 126 | + ['tipocomprobante' => '34', 'descripcion' => 'NOTA DE CRÉDITO ELECTRÓNICA', 'clasemovimiento' => 'resta', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 127 | + ['tipocomprobante' => '41', 'descripcion' => 'COMPROBANTE ELECTRÓNICO DE COMPRAS', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 128 | + ['tipocomprobante' => '43', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 129 | + ['tipocomprobante' => '44', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 130 | + ['tipocomprobante' => '45', 'descripcion' => 'COMPROBANTE ELECTRÓNICO GUBERNAMENTAL', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 131 | + ['tipocomprobante' => '46', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES', 'clasemovimiento' => 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 132 | + ['tipocomprobante' => '47', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA PAGOS AL EXTERIOR', 'clasemovimiento' => 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 133 | 133 | ); |
| 134 | 134 | |
| 135 | 135 | /** |
@@ -168,27 +168,27 @@ discard block |
||
| 168 | 168 | parent::install(); |
| 169 | 169 | $sql = "INSERT INTO rd_ncftipo (". |
| 170 | 170 | "tipocomprobante, descripcion, estado, clasemovimiento, ventas, compras, contribuyente". |
| 171 | - " ) VALUES " . |
|
| 172 | - "('01','FACTURA DE CREDITO FISCAL',true, 'suma','Y','Y','Y')," . |
|
| 173 | - "('02','FACTURA DE CONSUMO',true, 'suma','Y','Y','Y')," . |
|
| 174 | - "('03','NOTA DE DEBITO',true, 'suma','Y','Y','N')," . |
|
| 175 | - "('04','NOTA DE CREDITO',true, 'resta','Y','Y','N')," . |
|
| 176 | - "('11','COMPROBANTE DE COMPRAS',true, 'suma','N','Y','Y')," . |
|
| 177 | - "('12','REGISTRO UNICO DE INGRESOS',true, 'suma','Y','N','N')," . |
|
| 178 | - "('13','COMPROBANTE PARA GASTOS MENORES',true, 'suma','N','Y','N')," . |
|
| 179 | - "('14','COMPROBANTE DE REGIMENES ESPECIALES',true, 'suma','Y','Y','Y')," . |
|
| 180 | - "('15','COMPROBANTE GUBERNAMENTAL',true, 'suma','Y','Y','Y')," . |
|
| 181 | - "('16','COMPROBANTE PARA EXPORTACIONES',true, 'suma','Y','N','Y')," . |
|
| 182 | - "('17','COMPROBANTE PARA PAGOS AL EXTERIOR',true, 'suma','N', 'Y','Y')," . |
|
| 183 | - "('31','FACTURA DE CRÉDITO FISCAL ELECTRÓNICA',true,'suma','Y','Y','Y')," . |
|
| 184 | - "('32','FACTURA DE CONSUMO ELECTRÓNICA',true,'suma','Y','Y','Y')," . |
|
| 185 | - "('33','NOTA DE DÉBITO ELECTRÓNICA',true,'suma','Y','Y','N')," . |
|
| 186 | - "('34','NOTA DE CRÉDITO ELECTRÓNICA',true,'resta','Y','Y','N')," . |
|
| 187 | - "('41','COMPROBANTE ELECTRÓNICO DE COMPRAS',true,'suma','N','Y','Y')," . |
|
| 188 | - "('43','COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES',true,'suma','N','Y','N')," . |
|
| 189 | - "('44','COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES',true,'suma','Y','Y','Y')," . |
|
| 190 | - "('45','COMPROBANTE ELECTRÓNICO GUBERNAMENTAL',true,'suma','Y','Y','Y')," . |
|
| 191 | - "('46','COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES',true,'suma','Y','Y','Y')," . |
|
| 171 | + " ) VALUES ". |
|
| 172 | + "('01','FACTURA DE CREDITO FISCAL',true, 'suma','Y','Y','Y'),". |
|
| 173 | + "('02','FACTURA DE CONSUMO',true, 'suma','Y','Y','Y'),". |
|
| 174 | + "('03','NOTA DE DEBITO',true, 'suma','Y','Y','N'),". |
|
| 175 | + "('04','NOTA DE CREDITO',true, 'resta','Y','Y','N'),". |
|
| 176 | + "('11','COMPROBANTE DE COMPRAS',true, 'suma','N','Y','Y'),". |
|
| 177 | + "('12','REGISTRO UNICO DE INGRESOS',true, 'suma','Y','N','N'),". |
|
| 178 | + "('13','COMPROBANTE PARA GASTOS MENORES',true, 'suma','N','Y','N'),". |
|
| 179 | + "('14','COMPROBANTE DE REGIMENES ESPECIALES',true, 'suma','Y','Y','Y'),". |
|
| 180 | + "('15','COMPROBANTE GUBERNAMENTAL',true, 'suma','Y','Y','Y'),". |
|
| 181 | + "('16','COMPROBANTE PARA EXPORTACIONES',true, 'suma','Y','N','Y'),". |
|
| 182 | + "('17','COMPROBANTE PARA PAGOS AL EXTERIOR',true, 'suma','N', 'Y','Y'),". |
|
| 183 | + "('31','FACTURA DE CRÉDITO FISCAL ELECTRÓNICA',true,'suma','Y','Y','Y'),". |
|
| 184 | + "('32','FACTURA DE CONSUMO ELECTRÓNICA',true,'suma','Y','Y','Y'),". |
|
| 185 | + "('33','NOTA DE DÉBITO ELECTRÓNICA',true,'suma','Y','Y','N'),". |
|
| 186 | + "('34','NOTA DE CRÉDITO ELECTRÓNICA',true,'resta','Y','Y','N'),". |
|
| 187 | + "('41','COMPROBANTE ELECTRÓNICO DE COMPRAS',true,'suma','N','Y','Y'),". |
|
| 188 | + "('43','COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES',true,'suma','N','Y','N'),". |
|
| 189 | + "('44','COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES',true,'suma','Y','Y','Y'),". |
|
| 190 | + "('45','COMPROBANTE ELECTRÓNICO GUBERNAMENTAL',true,'suma','Y','Y','Y'),". |
|
| 191 | + "('46','COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES',true,'suma','Y','Y','Y'),". |
|
| 192 | 192 | "('47','COMPROBANTE ELECTRÓNICO PARA PAGOS AL EXTERIOR',true,'suma','N','Y','Y');"; |
| 193 | 193 | return($sql); |
| 194 | 194 | } |
@@ -196,7 +196,7 @@ discard block |
||
| 196 | 196 | public function restoreData() |
| 197 | 197 | { |
| 198 | 198 | $dataBase = new DataBase(); |
| 199 | - $sqlClean = "DELETE FROM " . $this->tableName() . ";"; |
|
| 199 | + $sqlClean = "DELETE FROM ".$this->tableName().";"; |
|
| 200 | 200 | $dataBase->exec($sqlClean); |
| 201 | 201 | foreach ($this->arrayComprobantes as $arrayItem) { |
| 202 | 202 | $initialData = new NCFTipo($arrayItem); |
@@ -207,7 +207,7 @@ discard block |
||
| 207 | 207 | |
| 208 | 208 | public function allFor($type = "ventas", $movimiento = "suma") |
| 209 | 209 | { |
| 210 | - $where = [new DataBaseWhere($type, 'Y'),new DataBaseWhere('clasemovimiento', $movimiento)]; |
|
| 210 | + $where = [new DataBaseWhere($type, 'Y'), new DataBaseWhere('clasemovimiento', $movimiento)]; |
|
| 211 | 211 | return $this->all($where, ['tipocomprobante' => 'ASC'], 0, 50); |
| 212 | 212 | } |
| 213 | 213 | |
@@ -64,7 +64,7 @@ discard block |
||
| 64 | 64 | $this->loadExtension(new Extension\Controller\EditProducto()); |
| 65 | 65 | $this->loadExtension(new Extension\Controller\EditSettings()); |
| 66 | 66 | |
| 67 | - AssetManager::add('js', \FS_ROUTE . '/Plugins/fsRepublicaDominicana/Assets/JS/CommonDomFunctions.js'); |
|
| 67 | + AssetManager::add('js', \FS_ROUTE.'/Plugins/fsRepublicaDominicana/Assets/JS/CommonDomFunctions.js'); |
|
| 68 | 68 | SalesLineHTML::addMod(new Mod\SalesLineMod()); |
| 69 | 69 | SalesFooterHTML::addMod(new Mod\SalesFooterMod()); |
| 70 | 70 | PurchasesFooterHTML::addMod(new Mod\PurchasesFooterMod()); |
@@ -145,22 +145,22 @@ discard block |
||
| 145 | 145 | private function actualizarECF(): void |
| 146 | 146 | { |
| 147 | 147 | $arrayECF = [ |
| 148 | - ['tipocomprobante' => '31', 'descripcion' => 'FACTURA DE CRÉDITO FISCAL ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 149 | - ['tipocomprobante' => '32', 'descripcion' => 'FACTURA DE CONSUMO ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 150 | - ['tipocomprobante' => '33', 'descripcion' => 'NOTA DE DÉBITO ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 151 | - ['tipocomprobante' => '34', 'descripcion' => 'NOTA DE CRÉDITO ELECTRÓNICA', 'clasemovimiento'=> 'resta', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 152 | - ['tipocomprobante' => '41', 'descripcion' => 'COMPROBANTE ELECTRÓNICO DE COMPRAS', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 153 | - ['tipocomprobante' => '43', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true ], |
|
| 154 | - ['tipocomprobante' => '44', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 155 | - ['tipocomprobante' => '45', 'descripcion' => 'COMPROBANTE ELECTRÓNICO GUBERNAMENTAL', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 156 | - ['tipocomprobante' => '46', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 157 | - ['tipocomprobante' => '47', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA PAGOS AL EXTERIOR', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true ], |
|
| 148 | + ['tipocomprobante' => '31', 'descripcion' => 'FACTURA DE CRÉDITO FISCAL ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 149 | + ['tipocomprobante' => '32', 'descripcion' => 'FACTURA DE CONSUMO ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 150 | + ['tipocomprobante' => '33', 'descripcion' => 'NOTA DE DÉBITO ELECTRÓNICA', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 151 | + ['tipocomprobante' => '34', 'descripcion' => 'NOTA DE CRÉDITO ELECTRÓNICA', 'clasemovimiento'=> 'resta', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 152 | + ['tipocomprobante' => '41', 'descripcion' => 'COMPROBANTE ELECTRÓNICO DE COMPRAS', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 153 | + ['tipocomprobante' => '43', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA GASTOS MENORES', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'N', 'estado' => true], |
|
| 154 | + ['tipocomprobante' => '44', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA REGÍMENES ESPECIALES', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 155 | + ['tipocomprobante' => '45', 'descripcion' => 'COMPROBANTE ELECTRÓNICO GUBERNAMENTAL', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 156 | + ['tipocomprobante' => '46', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA EXPORTACIONES', 'clasemovimiento'=> 'suma', 'ventas' => 'Y', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 157 | + ['tipocomprobante' => '47', 'descripcion' => 'COMPROBANTE ELECTRÓNICO PARA PAGOS AL EXTERIOR', 'clasemovimiento'=> 'suma', 'ventas' => 'N', 'compras' => 'Y', 'contribuyente' => 'Y', 'estado' => true], |
|
| 158 | 158 | ]; |
| 159 | 159 | |
| 160 | 160 | $tipoComprobantes = new NCFTipo(); |
| 161 | 161 | foreach ($arrayECF as $ecf) { |
| 162 | 162 | $registro = $tipoComprobantes->get($ecf['tipocomprobante']); |
| 163 | - if($registro === false) { |
|
| 163 | + if ($registro === false) { |
|
| 164 | 164 | $registro = new NCFTipo(); |
| 165 | 165 | $registro->tipocomprobante = $ecf['tipocomprobante']; |
| 166 | 166 | $registro->descripcion = $ecf['descripcion']; |