Сохранение файлов
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    03.03.2020
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Сохранение файлов

    Добрый день!!! Изменил код, чтобы можно было указать самим путь, диалог выбора нормально работает, но как теперь изменить функцию, чтоб я мог сам указать путь для сохранения?(сейчас там путь указан в константе)
    Код:
    Процедура ДействияФормыСохранитьИЗакрытьДляВыгрузки(Кнопка)
     
        Для Каждого ТекСтрока Из ТЗ Цикл
     
            Если НЕ ТекСтрока.Загрузить Тогда
                Продолжить;
            КонецЕсли;
            
            НачатьТранзакцию();
            
            Отказ = Ложь;
            
            ПолученныйФайл = Новый Файл(ТекСтрока.ПутьКФайлу);
            Если Не ПолученныйФайл.Существует() Тогда
                Сообщить("Файл " + ПолученныйФайл.ПолноеИмя + " не найден!",СтатусСообщения.Важное);
                Предупреждение("Файл " + ПолученныйФайл.ПолноеИмя +" не найден!");
                Отказ = Истина;
                Продолжить;
            КонецЕсли;
     
            ИмяФайла        = ?(ЗначениеЗаполнено(ТекСтрока.ИмяФайла),ТекСтрока.ИмяФайла,ПолучитьИмяФайла());
            Представление  = ТекСтрока.Представление;
            Расширение        = ТекСтрока.Расширение;
            РазмерФайла      = ТекСтрока.Размер;
            
            Если Не Отказ Тогда 
                Попытка
                    ИсходныйПутьКФайлу = ПолученныйФайл.ПолноеИмя;
                    НовыйПутьКФайлу = ПолныйПутьХраненияДляВыгрузки(ИмяФайла, Расширение);
                    Если ИсходныйПутьКФайлу <> НовыйПутьКФайлу Тогда
                        //СлужебныйКаталогЗагрузки=Справочники.ЭР_Константы.ОсновнойКаталогФайловЗагрузка.Значение;                  
                        //Если ЗначениеЗаполнено(СлужебныйКаталогЗагрузки)
                        //  И ТипЗнч(СлужебныйКаталогЗагрузки)=Тип("Строка")
                        //  И НЕ ФайлНаходитсяВСлужебномКаталогеЗагрузки(ПолученныйФайл.ПолноеИмя,СлужебныйКаталогЗагрузки)
                        //  Тогда
                            //лИмяКаталога = ""; лИмяФайла = ""; 
                            ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); 
                            ДиалогСохраненияФайла.ПолноеИмяФайла = ИсходныйПутьКФайлу; 
                            Фильтр = "Все файлы(*.*)";                 
                            ДиалогСохраненияФайла.Фильтр = Фильтр; 
                            ДиалогСохраненияФайла.МножественныйВыбор = Ложь; 
                            ДиалогСохраненияФайла.Заголовок = "Выберите путь для сохранения"; 
                            Если ДиалогСохраненияФайла.Выбрать() Тогда 
                                КопироватьФайл(ПолученныйФайл.ПолноеИмя,НовыйПутьКФайлу);
                            Иначе
                                ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу);
                            КонецЕсли;
     
                            //  КаталогНаДиске = Новый Файл(лИмяКаталога);
                            //Если НЕ КаталогНаДиске.Существует() Тогда
                            //  СоздатьКаталог(лИмяКаталога);
                            //КонецЕсли;
                        //  КопироватьФайл(ПолученныйФайл.ПолноеИмя,НовыйПутьКФайлу);
                        //Иначе
                        //  ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу);
                        //КонецЕсли;
                            //ПереместитьФайл(ПолученныйФайл.ПолноеИмя, НовыйПутьКФайлу);
                    КонецЕсли;
                    
                    НаборЗаписей = РегистрыСведений.УЭ_ПрикрепленныеФайлы.СоздатьНаборЗаписей(); 
                    НаборЗаписей.Отбор.Документ.Установить(Документ); 
                    //НаборЗаписей.Отбор.Представление.Установить(Представление); 
                    
                    НаборЗаписей.Прочитать();
                    КоличествоЗаписей = НаборЗаписей.Количество();
                    ТекПредставление = Представление;
                    Если КоличествоЗаписей > 0 Тогда
                        Для Инд = 1 По КоличествоЗаписей Цикл
                            МенеджерЗаписи = РегистрыСведений.УЭ_ПрикрепленныеФайлы.СоздатьМенеджерЗаписи();
                            МенеджерЗаписи.Документ = Документ;
                            МенеджерЗаписи.Представление = Представление;
                            МенеджерЗаписи.Прочитать();
                            Если МенеджерЗаписи.Выбран()Тогда
                                Представление = ТекПредставление+"_"+Строка(Инд);
                            КонецЕсли; 
                        КонецЦикла;
                    КонецЕсли;
                    НаборЗаписей.Очистить();
                    НаборЗаписей.Отбор.Документ.Установить(Документ); 
                    НаборЗаписей.Отбор.Представление.Установить(Представление); 
     
                    
                    НоваяЗапись = НаборЗаписей.Добавить(); 
                    НоваяЗапись.Документ     = Документ; 
                    НоваяЗапись.Представление   = Представление; 
                    
                    НоваяЗапись.ИмяФайла     = ИмяФайла; 
                    НоваяЗапись.Размер         = РазмерФайла; 
                    НоваяЗапись.Расширение     = Расширение;
                    НоваяЗапись.ДатаЗагрузки = ТекущаяДата();
                    
                    НаборЗаписей.Записать();
                    
                    ТекСтрока.Загрузить = Ложь;
                    
                    //привяжем файл к контрагенту
                Исключение
                    Отказ = Истина;
                    Сообщить(ОписаниеОшибки());
                КонецПопытки;
                
            Иначе
                Сообщить("Ошибка в указании файла");
            КонецЕсли;
            
            Если Отказ Тогда
                ОтменитьТранзакцию();
            Иначе
                ЗафиксироватьТранзакцию();
            КонецЕсли; 
     
        КонецЦикла;
        
        ЭтаФорма.Закрыть();
        
    КонецПроцедуры
     
    Функция ПолныйПутьХраненияДляВыгрузки(ИмяФайла, Расширение) Экспорт
        Если Справочники.УЭ_ЗапускБизнесПроцессов.ВыгрузкаЗапросовУТвУПП.Запщен
                И ТекущаяДата() >= Справочники.УЭ_ЗапускБизнесПроцессов.ВыгрузкаЗапросовУТвУПП.ДатаЗапуска
            Тогда
            результат= ?( ТипЗнч(Документ) = Тип("ДокументСсылка.ЗаказПокупателя"),
                    Строка(Справочники.ЭР_Константы.ОсновнойКаталогФайловХранениеУТ.Значение),
                    Строка(Справочники.ЭР_Константы.ОсновнойКаталогФайловХранение.Значение)) + ИмяФайла + Расширение;
        иначе
            результат = Строка( Справочники.ЭР_Константы.ОсновнойКаталогФайловХранение.Значение) + ИмяФайла + Расширение;
        КонецЕсли;
        
        возврат( результат)
    КонецФункции
     
    Процедура КоманднаяПанельДокументВыгрузить(Кнопка)
        ДействияФормыСохранитьИЗакрытьДляВыгрузки(Кнопка);   
    КонецПроцедуры

  2. #2
    Гость форума

    Регистрация
    04.03.2020
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Сохранение файлов

    Проще в синтакс-помошнике было посмотреть.
    Примерно так:
    ...
    Если ДиалогСохраненияФайла.Выб� �ать() Тогда
    КопироватьФайл(Полученный� �айл.ПолноеИмя,ДиалогСохра� �енияФайла.ПолноеИмяФайла);
    Иначе
    ...

Похожие темы

  1. сохранение одной базы
    от Эльвира280665 в разделе Общие вопросы по 1С - Бухгалтерии
    Ответов: 0
    Последнее сообщение: 11.07.2015, 13:21
  2. Сохранение истории изменения документов 1с7.7
    от MaxSaur в разделе Общие вопросы по 1С - Предприятие
    Ответов: 1
    Последнее сообщение: 14.11.2013, 11:20
  3. Редактирование и сохранение в AkelPad
    от timsonz в разделе СОФТ (SOFT)
    Ответов: 3
    Последнее сообщение: 25.09.2011, 23:05
  4. Скрыте скриншоты и сохранение на компьютере пользователя
    от goacher в разделе В помощь системному администратору
    Ответов: 4
    Последнее сообщение: 09.02.2011, 18:49

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

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