Добрый день, возникла очень непонятная ситуация при чтении csv файла(банковская выписка(БВ)).
В банковской выписке есть поле "ЕГРПОУ корреспондента"(ОКПО, ЕДРПОУ). Начали приходить банковские выписки в которых это поле имеет длину 10 символов, до этого всегда было 8 символов. Почему-то драйвер не считывает значения этих полей, но если я пробую делать считывание только одной строки с CSV файле, поле считывается, то есть удаляю все строки кроме той, в которой "ЕГРПОУ корреспондента" = 10 символов, всё считывается. Почему такое может происходить? Может кто сталкивался или даст совет.
Версия аксапты 3.0
Ниже джоб которым всё это дело проверяю.
X++:
static void MNESK_ReadCSV2(Args _args)
{
AsciiIo schemaINI;
CCAdoConnection adoCon;
CCAdoRecordset adoRec;
;
schemaINI = new AsciiIo(@'\\Папка с фалом' + '\\schema.ini', 'W');
schemaINI.write(strfmt("[%1]", '180517.csv'));
schemaINI.write("Format=Delimited(;)");
schemaINI = null;
adoCon = new CCAdoConnection();
adoRec = new CCAdoRecordset();
adoCon.open(strfmt("Driver={Microsoft Text Driver (*.txt; *.csv)}; DriverId=27;FMT=Delimited';'; charset=windows-1251; DefaultDir=%1; Extensions=csv; HDR=YES; IMEX=1",
@'\\папка с файлом'));
adoRec.open(strfmt("select * from %1", '180517.csv'), adoCon);
while (!adoRec.EOF())
{
info(adoRec.fields().itemName('ЕГРПОУ корреспондента').value());
adoRec.moveNext();
}
adoRec.close();
adoCon.close();
}