/** * 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); } }
/** * 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); } }
* 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', ';', '');