На основе
http://dev.goshoom.net/en/2011/10/bi...ata-in-ax2012/
X++:
filename filename = "C:\\XXX.xls";
System.IO.FileStream fileStream;
System.IO.MemoryStream memoryStream;
int size;
container con;
fileStream = System.IO.File::OpenRead(filename);
memoryStream = new System.IO.MemoryStream();
size = fileStream.get_Length();
memoryStream.SetLength(size);
fileStream.Read(memoryStream.GetBuffer(), 0, size); //write to MemoryStream
con = Binary::constructFromMemoryStream(memoryStream).getContainer(); //from MemoryStream to container
Внезапно выяснилось что если "C:\\XXX.xls" открыть ранее работать не получается: метод System.IO.File::OpenRead( успешно падает
Маленькое вуаля на основе
http://stackoverflow.com/questions/1...-a-locked-file
X++:
filename filename = "C:\\XXX.xls";
System.IO.FileStream fileStream;
System.IO.MemoryStream memoryStream;
int size;
container con;
fileStream = new System.IO.FileStream(filename, System.IO.FileMode::Open, System.IO.FileAccess::Read, System.IO.FileShare::ReadWrite);
memoryStream = new System.IO.MemoryStream();
size = fileStream.get_Length();
memoryStream.SetLength(size);
fileStream.Read(memoryStream.GetBuffer(), 0, size); //write to MemoryStream
con = Binary::constructFromMemoryStream(memoryStream).getContainer(); //from MemoryStream to container
И файл вполне себе читается.
Может кому то окажется полезным, хотя вещь вроде простая. Сам столкнулся с этим к примеру с блокировкой при прикреплении документов.