helpf.pro
Регистрация

v8: Загрузить файл с 1С

Ermak
16.05.2013 12:56Прочитано: 3128
Подскажите на примере как сделать загрузку файла с 1С, чтобы создавал папку и загружала выбранный файл:
Справочник ФизЛица:
Реквизиты:
- ФИО, тип Строка
- Загрузить, тип Строка (Поле выбора)

Создаю нового Физ лицо Петров Иван Сергеевич, загружаю (реквизит Загрузка) скан в pdf паспортные данные, создаеться новая папка (с названиеа Петров И.С.) на диске D и туда помещается загруженный файл.
Yandex
Возможно, вас также заинтересует
Реклама на портале
sashuly
16.05.2013 13:13Ответ № 1
В реквизите (объекте) какого типа вы хотите хранить файл? конфигурация типовая?
Ermak
16.05.2013 13:23Ответ № 2
тип файл pdf, если вас правильно понял. Я сам создаю справочник на платформе Управление торговлей, редакция 10.3
sashuly
16.05.2013 13:41Ответ № 3
нет я не про тип файла. вы хотите хранить в базе строку с путем к файлу или сам файл?
Изменено 16.05.13 13:41:56
sashuly
16.05.2013 14:00Ответ № 4
почитайте этот раздел https://help1c.com/faq8/cat/143.html
Изменено 16.05.13 14:00:55
Ermak
16.05.2013 14:03Ответ № 5
(3) sashuly, название файла, чтобы после загрузки появилась название файл и нажав на него можно было файл открыть
sashuly
16.05.2013 14:21Ответ № 6
получение имени файла:
Код 1C v 8.х
 
//На форме есть поле (Путь к файлу), для кнопки Выбор (Событие начало выбора) пропишем процедуру выбора файла
Процедура ВыборФайла(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СтандартнаяОбработка=ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл";
Диалог.ПолноеИмяФайла = "";
Фильтр = "EXE (*.exe)|*.exe";
Диалог.Фильтр = Фильтр;
Диалог.МножественныйВыбор = Ложь;
Диалог.Каталог = "F:\";
Если Диалог.Выбрать() Тогда
Элемент.значение = Диалог.ПолноеИмяФайла;
КонецЕсли;
КонецПроцедуры


чтобы запустить приложение открывающее файл:

Код 1C v 8.х
 ЗапуститьПриложение(ИмяФайла);     
Ermak
16.05.2013 14:37Ответ № 7
(6) sashuly, что за ИмяФайла
Ermak
16.05.2013 14:54Ответ № 8
(6) sashuly, получилось спасибо, но я хотел немного не так. Мне нужно с 1С загрузить файл в папку на диске D. Например:
Есть табличное части с колонкой Имя файла, я делаю добавить и открывается Выбрать файл, я выбираю файл и он загружается в папку D:\archiv , после загрузки в табличной часть появляется имя файла в колонки Имя файла. После чего я могу дважды кликнуть по имени файла в ТЧ и он у меня откроется с папки D:\archiv. Так же я могу его удалить, нажать удалить и он удалиться с папки и с ТЧ. Вот такое хотел бы. Есть какие нибудь примеры?
sashuly
16.05.2013 15:14Ответ № 9
https://help1c.com/faq8/cat/41.html
Изменено 16.05.13 15:15:14
Ermak
16.05.2013 16:17Ответ № 10
Код 1C v 8.х
  ЮзерИД=ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
КаталогЗаметок = "С:\note\";
КаталогНаДиске = Новый Файл(КаталогЗаметок);
Если Не КаталогНаДиске.Существует() Тогда
СоздатьКаталог(КаталогЗаметок);
КонецЕсли;
ТекстЗаметки.Записать(КаталогЗаметок+строка(ЮзерИД)+".txt");

не понимаю что за переменная ТекстЗаметки
sashuly
16.05.2013 17:05Ответ № 11
категорически не хотите читать документацию?

КопироватьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
ПереместитьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)
УдалитьФайлы(<Путь>, <Маска>)
НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>)

и т.д.
Ermak
16.05.2013 17:11Ответ № 12
(11) sashuly, это я читал, но все равно не понятно что такое ИмяФайлаПриемника
sashuly
16.05.2013 17:20Ответ № 13
КопироватьФайл(<ИмяФайлаИсточника>, <ИмяФайлаПриемника>)

Параметры:
<ИмяФайлаИсточника> (обязательный)
Тип: Строка.
Полное имя файла-источника.

<ИмяФайлаПриемника> (обязательный)
Тип: Строка.
Полное имя файла-приемника.

Описание:
Копирует файл-источник в файл-приемник. Допускается перезапись файла-приемника.


В вашем случае ИмяФайлаПриеника это "D:\archiv" + имя файла
Ermak
17.05.2013 15:13Ответ № 14
Я сделал так

Код 1C v 8.х
 ТабДок = Новый ТабличныйДокумент;
ПолноеИмяФайла = "";
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "PDF (*.pdf)|*.pdf";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПолноеИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
Иначе
Возврат;
КонецЕсли;
Если НЕ ПустаяСтрока(ПолноеИмяФайла) тогда

ПолноеИмяФайла=ПолноеИмяФайла+?(Нрег(Прав(ПолноеИмяФайла,4)) = ".pdf","",".pdf");

ТабДок.Записать(ПолноеИмяФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;

Подскажите до писать чтобы сохраняла в папку D:\archiv
Mokey
17.05.2013 15:35Ответ № 15
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПолноеИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
//////////////////////////////////////////////////
ИмяФайла = ДиалогОткрытияФайла.ИмяФайла;
Иначе
Возврат;
КонецЕсли;
Если НЕ ПустаяСтрока(ПолноеИмяФайла) тогда

ПолноеИмяФайла=ПолноеИмяФайла+?(Нрег(Прав(ПолноеИмяФайла,4)) = ".pdf","",".pdf");
/////////////////////////////////////////
МойКаталог = "D:\archiv";
ТабДок.Записать(МойКаталог + "\"+ИмяФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
Ermak
17.05.2013 15:43Ответ № 16
Он не записал в МойКаталог = "D:\archiv"; а просто пере сохранил заново файл

Код 1C v 8.х
 Процедура Кнопка1Нажатие1(Элемент)
ТабДок = Новый ТабличныйДокумент;
ПолноеИмяФайла = "";
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "PDF (*.pdf)|*.pdf";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПолноеИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
Иначе
Возврат;
КонецЕсли;
Если НЕ ПустаяСтрока(ПолноеИмяФайла) тогда

ПолноеИмяФайла=ПолноеИмяФайла+?(Нрег(Прав(ПолноеИмяФайла,4)) = ".pdf","",".pdf");
МойКаталог = "D:\archiv";
ТабДок.Записать(МойКаталог + "\"+ИмяФайла,ТипФайлаТабличногоДокумента.PDF);

КонецЕсли;
КонецПроцедуры
Mokey
17.05.2013 16:45Ответ № 17
(16) Ermak, а в чём разница между "записал" и "пересохранил"? изъясняйтесь яснее.
Mokey
17.05.2013 16:51Ответ № 18
если Вы про то, чтобы убрать файл в архив, то почитайте внимательно синтаксис помощник:
Глобальный контекст
ПереместитьФайл (MoveFile)
Синтаксис:
ПереместитьФайл(<Имя файла источника>, <Имя файла приемника>)
Параметры:
<Имя файла источника> (обязательный)
Тип: Строка. Полное имя файла-источника (полное исходное имя файла).
<Имя файла приемника> (обязательный)
Тип: Строка. Полное имя файла-приемника (полное новое имя файла).
Описание:
Выполняет перемещение (переименование) указанного файла.
Примечание:
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Пример:
ПереместитьФайл("C:\Temp\Order.htm", "C:\My Documents\Order.htm");
Mokey
17.05.2013 16:52Ответ № 19
такие тревиальные вещи не надо спрашивать
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.