Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с прикреплённым файлом  (Прочитано 7133 раз)
0 Пользователей и 1 Гость смотрят эту тему.
funbl4
Интересующийся

by
Offline Offline
Пол: Мужской
на самообучении


« : 09-12-2010 12:16 » 

Здравствуйте. Передо мной поставили такую задачу:
Нужен механизм, обеспечивающий работу с внешними файлами в составе базы 1с (документа) . Хранить файл нужно однозначно в реквизите, тип Хранилище значения. Надо чтобы можно было:
1. "прицепить" произвольный файл к документу
2. открыть этот файл из документа
3. редактировать этот файл с помощью другого приложения, например фотошопа.
4. заменить/сохранить.
 
По моему прошлому опыту программированию, это должно быть что-то вроде OLE - контейнера в delphi. Пролистав руководство разработчика нашёл главу "Механиз временного хранилища, работа с файлами". Для того чтобы прицепить какой-либо файл воспользовался методом

Код:
Перем ВыбранноеИмя;
Перем АдресВременногоХранилища;

ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Истина);

Как теперь можно открыть этот файл, для установленного другого приложения на компьютере, например фотошоп, чтобы он потом перезаписался в реквизите?


Добавлено через 1 минуту и 19 секунд:
Платформа 8.1
« Последнее редактирование: 09-12-2010 12:17 от funbl4 » Записан

Нет ничего невозможного.
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 09-12-2010 13:22 » 

В типовых конфигурациях это решается просто сохранением файла во временный каталог (после этого ты имеешь полный путь к файлу), открытием его оттуда стандартной программой, назначенной в системе и помещением обратно в хранилище по завершению редактирования.
Этот механизм точно присутствует в УТП, УПП и ЗУП - в Бухгалтерии по-моему его нет. Также он присутствует в Библиотеке стандартных подсистем (БСП), но для 8.2
Записан
funbl4
Интересующийся

by
Offline Offline
Пол: Мужской
на самообучении


« Ответ #2 : 09-12-2010 13:35 » 

Я просто не совсем представляю принцип действия.
Создал форму, поместил 2 кнопки.

Код:
Перем ВыбранноеИмя;
Перем АдресВременногоХранилища;

Процедура Кнопка1Нажатие(Элемент)

Файл = ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Истина);

ЭлементыФормы.Надпись1.Заголовок = АдресВременногоХранилища;
ЭлементыФормы.Надпись2.Заголовок = ВыбранноеИмя;

КонецПроцедуры

Процедура Кнопка2Нажатие(Элемент)
ПолучитьФайл(АдресВременногоХранилища, ВыбранноеИмя, Истина);
КонецПроцедуры

Вот открыл я этот файл по нажатию второй кнопки, отредактировал в нём всё что нужно, сохранил в самом приложении. И как мне его теперь перезаписать? Создавать ещё одну кнопку с перезаписью типа

Файл = ПоместитьФайл(АдресВременногоХранилища, "", ВыбранноеИмя, Ложь); // Только уже ложь, чтобы не было интерактивного выбора
Записан

Нет ничего невозможного.
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 09-12-2010 15:33 » 

посмотри ПолучитьФайл(<Адрес>, <ИмяФайла>, <Интерактивно>);
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines