powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / 1c Delphi Выгрузка и сохранение файлов на диск
3 сообщений из 3, страница 1 из 1
1c Delphi Выгрузка и сохранение файлов на диск
    #38261201
beweniy_pchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Мне необходимо сделать выгрузку фотографий номенклатуры из 1с на диск (задача чуть сложнее, но проблема в этом).
Программу пишу из дельфи и соответственно использую OLE Automation то бишь переменную OleVariant

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
procedure TForm2.Button1Click(Sender: TObject);
  var F: TMemoryStream; Base, Sprav: OleVariant; K: Variant;
begin
  if VarIsEmpty(base) then
  begin
    Base:=CreateOLEObject('V82.Comconnector');
    base:=base.connect('File="'+LEBase.Text+'";Usr="'+LEUser.Text+'";Pwd="'+LEPswd.Text+'"');
  end;
  //бла бла бла
  F:=TMemoryStream.Create;
  Sprav:= base.Справочники.Номенклатура.Выбрать();
  while Sprav.следующий() do
  begin
    F.Clear;
    K:=Sprav.ОсновноеИзображение.ПолучитьОбъект().Хранилище; // или может быть так? K:=Sprav.ОсновноеИзображение.ПолучитьОбъект().Хранилище.Получить(); ???
    F.Write(K,high(Int64));
    F.SaveToFile(ExtractFilePath(Application.ExeName)+'картинка.jpg');
  end;
  F.Free;


Проблема в следующем K становится ссылкой. Но самого массива данных файла я так и не могу получить, как это сделать?
Кроме того я не знаю как прочесть длину массива данных - нельзя написать так Length(Sprav.ОсновноеИзображение.ПолучитьОбъект().Хранилище) должен быть массив, а не OleVariant, что делать подскажите маленьким примерчиком.
...
Рейтинг: 0 / 0
1c Delphi Выгрузка и сохранение файлов на диск
    #38261497
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранилище.ПолучитьДвоичныеДанные() ?

А вобще - смотрите второе сообщение. http://www.1c-pro.ru/topic47623.html
...
Рейтинг: 0 / 0
1c Delphi Выгрузка и сохранение файлов на диск
    #38265251
beweniy_pchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, но проблема до сих пор не решена.
Нет такой функции как ПолучитьДвоичныеДанные()

В ссылке, что вы мне дали похожая ситуация, но ответа там нет, т.к. оба поста одинаковы.
Кроме того я не хочу использовать функции 1с для сохранения файла. Хочу использовать TMemoryStream
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1c Delphi Выгрузка и сохранение файлов на диск
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]