コード例 #1
0
 /**
  * Método que agrega el detalle del libro de guías a partir de un archivo
  * CSV.
  * @param archivo  Ruta al archivo que se desea cargar
  * @param separador Separador de campos del archivo CSV
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2015-12-24
  */
 public function agregarCSV($archivo, $separador = ';')
 {
     $data = \sasco\LibreDTE\CSV::read($archivo);
     $n_data = count($data);
     $detalles = [];
     for ($i = 1; $i < $n_data; $i++) {
         // detalle genérico
         $detalle = ['Folio' => $data[$i][0], 'Anulado' => !empty($data[$i][1]) ? $data[$i][1] : false, 'Operacion' => !empty($data[$i][2]) ? $data[$i][2] : false, 'TpoOper' => !empty($data[$i][3]) ? $data[$i][3] : false, 'FchDoc' => !empty($data[$i][4]) ? $data[$i][4] : date('Y-m-d'), 'RUTDoc' => !empty($data[$i][5]) ? $data[$i][5] : false, 'RznSoc' => !empty($data[$i][6]) ? $data[$i][6] : false, 'MntNeto' => !empty($data[$i][7]) ? $data[$i][7] : false, 'TasaImp' => !empty($data[$i][8]) ? $data[$i][8] : 0, 'IVA' => !empty($data[$i][9]) ? $data[$i][9] : 0, 'MntTotal' => !empty($data[$i][10]) ? $data[$i][10] : false, 'MntModificado' => !empty($data[$i][11]) ? $data[$i][11] : false, 'TpoDocRef' => !empty($data[$i][12]) ? $data[$i][12] : false, 'FolioDocRef' => !empty($data[$i][13]) ? $data[$i][13] : false, 'FchDocRef' => !empty($data[$i][14]) ? $data[$i][14] : false];
         // agregar a los detalles
         $this->agregar($detalle);
     }
 }
コード例 #2
0
 /**
  * Método que agrega el detalle del libro de compras a partir de un archivo
  * CSV.
  *
  * Formato del archivo (desde la columna A):
  *   TpoDoc -> 0
  *   NroDoc -> 1
  *   TasaImp -> 2
  *   FchDoc -> 3
  *   CdgSIISucur -> 4 (opcional)
  *   RUTDoc -> 5
  *   RznSoc -> 6 (opcional)
  *   MntExe -> 7
  *   MntNeto -> 8
  *   MntIVA -> 9 (calculable)
  *   OtrosImp: (opcional)
  *     CodImp -> 10
  *     TasaImp -> 11
  *     MntImp -> 12 (calculable)
  *   MntTotal -> 13 (calculable)
  *
  * @param archivo  Ruta al archivo que se desea cargar
  * @param separador Separador de campos del archivo CSV
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2015-09-18
  */
 public function agregarVentasCSV($archivo, $separador = ';')
 {
     $data = \sasco\LibreDTE\CSV::read($archivo);
     $n_data = count($data);
     $detalles = [];
     for ($i = 1; $i < $n_data; $i++) {
         // detalle genérico
         $detalle = ['TpoDoc' => $data[$i][0], 'NroDoc' => $data[$i][1], 'TasaImp' => !empty($data[$i][2]) ? $data[$i][2] : false, 'FchDoc' => $data[$i][3], 'CdgSIISucur' => !empty($data[$i][4]) ? $data[$i][4] : false, 'RUTDoc' => $data[$i][5], 'RznSoc' => !empty($data[$i][6]) ? $data[$i][6] : false, 'MntExe' => !empty($data[$i][7]) ? $data[$i][7] : false, 'MntNeto' => !empty($data[$i][8]) ? $data[$i][8] : false, 'MntIVA' => !empty($data[$i][9]) ? $data[$i][9] : 0];
         // agregar código y monto de otros impuestos
         if (!empty($data[$i][10]) and !empty($data[$i][11])) {
             $detalle['OtrosImp'] = ['CodImp' => $data[$i][10], 'TasaImp' => $data[$i][11], 'MntImp' => !empty($data[$i][12]) ? $data[$i][12] : round($detalle['MntNeto'] * ($data[$i][11] / 100))];
         }
         // si hay monto total se agrega
         if (!empty($data[$i][13])) {
             $detalle['MntTotal'] = $data[$i][13];
         }
         // agregar a los detalles
         $this->agregar($detalle);
     }
 }
コード例 #3
0
 * MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO.
 * Consulte los detalles de la Licencia Pública General GNU para obtener
 * una información más detallada.
 *
 * Debería haber recibido una copia de la Licencia Pública General GNU
 * junto a este programa.
 * En caso contrario, consulte <http://www.gnu.org/licenses/gpl.html>.
 */
/**
 * @file 024-getContribuyentes.php
 * Ejemplo de obtención de datos archivo CSV con getContribuyentes autorizados
 * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
 * @version 2015-09-30
 */
// respuesta en texto plano
header('Content-type: text/plain');
// incluir archivos php de la biblioteca y configuraciones
include 'inc.php';
// solicitar datos
$datos = \sasco\LibreDTE\Sii::getContribuyentes(new \sasco\LibreDTE\FirmaElectronica($config['firma']), \sasco\LibreDTE\Sii::PRODUCCION);
// si hubo errores se muestran
if (!$datos) {
    foreach (\sasco\LibreDTE\Log::readAll() as $error) {
        echo $error, "\n";
    }
    exit;
}
// descargar archivo como CSV
array_unshift($datos, ['RUT', 'Razón social', 'Número resolución', 'Fecha resolución', 'Email intercambio', 'URL']);
\sasco\LibreDTE\CSV::generate($datos, 'contribuyentes', ';', '');