Показано с 1 по 2 из 2
Тема: Сохранение файлов
-
03.03.2020, 09:20 #1
- Регистрация
- 03.03.2020
- Сообщений
- 1
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Сохранение файлов
Добрый день!!! Изменил код, чтобы можно было указать самим путь, диалог выбора нормально работает, но как теперь изменить функцию, чтоб я мог сам указать путь для сохранения?(сейчас там путь указан в константе)
Код:Процедура ДействияФормыСохранитьИЗакрытьДляВыгрузки(Кнопка) Для Каждого ТекСтрока Из ТЗ Цикл Если НЕ ТекСтрока.Загрузить Тогда Продолжить; КонецЕсли; НачатьТранзакцию(); Отказ = Ложь; ПолученныйФайл = Новый Файл(ТекСтрока.ПутьКФайлу); Если Не ПолученныйФайл.Существует() Тогда Сообщить("Файл " + ПолученныйФайл.ПолноеИмя + " не найден!",СтатусСообщения.Важное); Предупреждение("Файл " + ПолученныйФайл.ПолноеИмя +" не найден!"); Отказ = Истина; Продолжить; КонецЕсли; ИмяФайла = ?(ЗначениеЗаполнено(ТекСтрока.ИмяФайла),ТекСтрока.ИмяФайла,ПолучитьИмяФайла()); Представление = ТекСтрока.Представление; Расширение = ТекСтрока.Расширение; РазмерФайла = ТекСтрока.Размер; Если Не Отказ Тогда Попытка ИсходныйПутьКФайлу = ПолученныйФайл.ПолноеИмя; НовыйПутьКФайлу = ПолныйПутьХраненияДляВыгрузки(ИмяФайла, Расширение); Если ИсходныйПутьКФайлу <> НовыйПутьКФайлу Тогда //СлужебныйКаталогЗагрузки=Справочники.ЭР_Константы.ОсновнойКаталогФайловЗагрузка.Значение; //Если ЗначениеЗаполнено(СлужебныйКаталогЗагрузки) // И ТипЗнч(СлужебныйКаталогЗагрузки)=Тип("Строка") // И НЕ ФайлНаходитсяВСлужебномКаталогеЗагрузки(ПолученныйФайл.ПолноеИмя,СлужебныйКаталогЗагрузки) // Тогда //лИмяКаталога = ""; лИмяФайла = ""; ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогСохраненияФайла.ПолноеИмяФайла = ИсходныйПутьКФайлу; Фильтр = "Все файлы(*.*)"; ДиалогСохраненияФайла.Фильтр = Фильтр; ДиалогСохраненияФайла.МножественныйВыбор = Ложь; ДиалогСохраненияФайла.Заголовок = "Выберите путь для сохранения"; Если ДиалогСохраненияФайла.Выбрать() Тогда КопироватьФайл(ПолученныйФайл.ПолноеИмя,НовыйПутьКФайлу); Иначе ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу); КонецЕсли; // КаталогНаДиске = Новый Файл(лИмяКаталога); //Если НЕ КаталогНаДиске.Существует() Тогда // СоздатьКаталог(лИмяКаталога); //КонецЕсли; // КопироватьФайл(ПолученныйФайл.ПолноеИмя,НовыйПутьКФайлу); //Иначе // ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу); //КонецЕсли; //ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу); КонецЕсли; НаборЗаписей = РегистрыСведений.УЭ_ПрикрепленныеФайлы.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Документ.Установить(Документ); //НаборЗаписей.Отбор.Представление.Установить(Представление); НаборЗаписей.Прочитать(); КоличествоЗаписей = НаборЗаписей.Количество(); ТекПредставление = Представление; Если КоличествоЗаписей > 0 Тогда Для Инд = 1 По КоличествоЗаписей Цикл МенеджерЗаписи = РегистрыСведений.УЭ_ПрикрепленныеФайлы.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Документ = Документ; МенеджерЗаписи.Представление = Представление; МенеджерЗаписи.Прочитать(); Если МенеджерЗаписи.Выбран()Тогда Представление = ТекПредставление+"_"+Строка(Инд); КонецЕсли; КонецЦикла; КонецЕсли; НаборЗаписей.Очистить(); НаборЗаписей.Отбор.Документ.Установить(Документ); НаборЗаписей.Отбор.Представление.Установить(Представление); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Документ = Документ; НоваяЗапись.Представление = Представление; НоваяЗапись.ИмяФайла = ИмяФайла; НоваяЗапись.Размер = РазмерФайла; НоваяЗапись.Расширение = Расширение; НоваяЗапись.ДатаЗагрузки = ТекущаяДата(); НаборЗаписей.Записать(); ТекСтрока.Загрузить = Ложь; //привяжем файл к контрагенту Исключение Отказ = Истина; Сообщить(ОписаниеОшибки()); КонецПопытки; Иначе Сообщить("Ошибка в указании файла"); КонецЕсли; Если Отказ Тогда ОтменитьТранзакцию(); Иначе ЗафиксироватьТранзакцию(); КонецЕсли; КонецЦикла; ЭтаФорма.Закрыть(); КонецПроцедуры Функция ПолныйПутьХраненияДляВыгрузки(ИмяФайла, Расширение) Экспорт Если Справочники.УЭ_ЗапускБизнесПроцессов.ВыгрузкаЗапросовУТвУПП.Запщен И ТекущаяДата() >= Справочники.УЭ_ЗапускБизнесПроцессов.ВыгрузкаЗапросовУТвУПП.ДатаЗапуска Тогда результат= ?( ТипЗнч(Документ) = Тип("ДокументСсылка.ЗаказПокупателя"), Строка(Справочники.ЭР_Константы.ОсновнойКаталогФайловХранениеУТ.Значение), Строка(Справочники.ЭР_Константы.ОсновнойКаталогФайловХранение.Значение)) + ИмяФайла + Расширение; иначе результат = Строка( Справочники.ЭР_Константы.ОсновнойКаталогФайловХранение.Значение) + ИмяФайла + Расширение; КонецЕсли; возврат( результат) КонецФункции Процедура КоманднаяПанельДокументВыгрузить(Кнопка) ДействияФормыСохранитьИЗакрытьДляВыгрузки(Кнопка); КонецПроцедуры
-
21.05.2020, 10:40 #2
- Регистрация
- 04.03.2020
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Сохранение файлов
Проще в синтакс-помошнике было посмотреть.
Примерно так:
...
Если ДиалогСохраненияФайла.Выб� �ать() Тогда
КопироватьФайл(Полученный� �айл.ПолноеИмя,ДиалогСохра� �енияФайла.ПолноеИмяФайла);
Иначе
...
Похожие темы
-
сохранение одной базы
от Эльвира280665 в разделе Общие вопросы по 1С - БухгалтерииОтветов: 0Последнее сообщение: 11.07.2015, 13:21 -
Сохранение истории изменения документов 1с7.7
от MaxSaur в разделе Общие вопросы по 1С - ПредприятиеОтветов: 1Последнее сообщение: 14.11.2013, 11:20 -
Редактирование и сохранение в AkelPad
от timsonz в разделе СОФТ (SOFT)Ответов: 3Последнее сообщение: 25.09.2011, 23:05 -
Скрыте скриншоты и сохранение на компьютере пользователя
от goacher в разделе В помощь системному администраторуОтветов: 4Последнее сообщение: 09.02.2011, 18:49
Социальные закладки