Buscar este blog

miércoles, 26 de febrero de 2014

FICHEROS


Leer de FICHERO


static void AMC_LeeFichero_2(Args _args)
{
    str                                  outputTxtLine;
    FileNameFilter              filter = ['Tipo de fichero','*.txt'];
    AsciiIo                          FileEdi;
    str                                  filename = winapi::getOpenFileName(0,filter,'','Seleccione el fichero');
    itemid                            itemid;
    str                                  stramountBefore;
    amount                         amountBefore;
    InventtableModule    InventtableModule;
    ;
    //Inicializo el fichero
    fileEdi = new asciiIO(fileName, 'R');
    fileEdi.inFieldDelimiter('\r\n');
    fileEdi.inRecordDelimiter('\r\n');

    info('Empezó '+date2str(systemDateGet(),123,2,3,2,3,2) +"--"+ time2str(timenow(),1,1));

    if (fileEdi)
    {
        while (fileEdi.status() == IO_Status::OK)
        {
            [outputTxtLine] = fileEdi.read();
            if (outputTxtLine != '0')
            {
                itemid = strltrim(substr(outputTxtLine,11,8));
                stramountBefore = strltrim(substr(outputTxtLine,33,12));
                stramountBefore = strrtrim(stramountBefore);
                amountBefore = str2num(stramountBefore);

                ttsbegin;
                InventtableModule = InventtableModule::find(itemid, ModuleInventPurchSales::Sales,true);
                InventtableModule.price = amountBefore;
                InventtableModule.update();
                ttscommit;
            }
        }
    }

    info('Finalizó '+date2str(systemDateGet(),123,2,3,2,3,2) +"--"+ time2str(timenow(),1,1));

}
 

No hay comentarios:

Publicar un comentario