AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2008, 00:27   #1  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Да.. интересная задачка. Не плохо пришлось повозиться.
Код:
//Создаем поток связанный с загружаемым файлом
FileToLoad.OPEN('C:\2.txt');
FileToLoad.CREATEINSTREAM(Instream1);
//Будем грузить в 50000 таблицу.
CLEAR(RecordRef1);
RecordRef1.OPEN(50000);
//в моем случае в данной таблице две записи, они уже существуют, и я хочу загружать файл в последнюю запись.
IF RecordRef1.FINDLAST THEN;
//В моем случае BLOB поле имеет ID = 2;
FieldRef1:=RecordRef1.FIELD(2);
//В данный момент У меня английская версия 5.0 SP1, поэтому ObjectForBLOB - это переменная типа record - Object (Объект);
//Нам важно лишь то, чтобы была объявлена переменная типа BLOB, а явно этого сделать нельзя, 
//можно только используя уже существующую таблицу, например Object и её поле "BLOB Reference" ("BLOB Ссылка")
//Обманываем Navision:
ObjectForBLOB."BLOB Reference":=FieldRef1.VALUE;
//Создаем поток, куда будем грузить
ObjectForBLOB."BLOB Reference".CREATEOUTSTREAM(OutStream1);
//Копируем содержимое файла в блоб поле
COPYSTREAM(OutStream1, Instream1);
//Переобманываемся обратно
FieldRef1.VALUE:=ObjectForBLOB."BLOB Reference";
//Сохраняемся
RecordRef1.MODIFY;
FileToLoad.CLOSE;
//Все - файл загружен в запись 50000, в поле с ID = 2, в последнюю запись.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:53.