8.х Прикрепить файл! Проблема!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем r18romik, 10 апр 2008.

  1. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Подскажи пожалуйста кто знает...
    У меня есть документ (Заявка)!
    В форме этого документа я создал кпонку(ПрикрепитьФайл)
    При её нажатии происходит открытие Диалога с выбором и просмотром выбираемого файла.это всё гут:)
    Выбранный фалй сохраняется в отдельную папку!
    Проблема в том что выбранный файл схраняется под определённым название и когда прикрепляешь следующий файл он заменяет старый..Как сделать так чтобы чтобы последующий файл сохранялся в отдельный файл и с другим названием! (Например +1)
    Прилагаю код кнопки ПрикрептьФайл

    Код:
    Если ЭтоНовый() Тогда
    Предупреждение("Необходимо записать элемент номенклатуры!");
    Возврат;
    Если Не ЭтоНовый() Тогда
    Предупреждение("Вы хотите прикрепить файл к заявке?");
    КонецЕсли;
    КонецЕсли;
    
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.Заголовок = "Выберите файл!!!";
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
    ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрИзображений();
    
    Если ДиалогОткрытияФайла.Выбрать() Тогда
    ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
    ВыбранноеИзображение.ФильтрИменФайлов();
    [b]ВыбранноеИзображение.Записать("C:\1c_base\v8\test\1\0.jpeg");[/b]
    Предупреждение("Файл успешно прикреплён!!! ");
    
    Иначе
    Предупреждение("Ошибка при прикреплении файла!!!" + ДиалогОткрытияФайла.ПолноеИмяФайла);
    Возврат;
    КонецЕсли;
    
  2. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Не могу сказать, что большой спец.
    Но разве нельзя вместо сроки

    Код:
    ВыбранноеИзображение.Записать("C:\1c_base\v8\test\1\0.jpeg");
    
    написать что-то вида

    Код:
    ВыбранноеИзображение.Записать("C:\1c_base\v8\test\1\"+Строка+".jpeg");
    
    А в Строка можно вырезать кусочек старого названия файла.
  3. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
  4. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    А еще можно проверить наличие такого файла и в цикле найти номер, который можно дописать к названию.

    Например, сначала сохранять в ***1.jpg и т.д. А потом, когда надо снова сохранить, сделать в папке поиск в цикле до последнего номера =) Добавить еще один и записать.
  5. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Понял,но не совсем знаю как это прописать правильно!
    Сможешь показать напримере?
  6. Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Не знаю, может и не лучший вариант, но можно фомировать свои файлы по типу Префикс+номер,
    потом сделать их массив и получить оттуда все что надо.
    Вот это может натолкнет на мысль

    Код:
    ИмяФайлаНовое = "//Servru01/personal/Ekaterina/ExchData/OR"+Строка(Номер)+".xml";
    ИмяФайлаБезРасширения="OR"+Строка(Номер);
    //Имя файла состоит из префикса OR и номера выгружаемого документа
    МассивФ = Новый Массив;
    МассивФ = НайтиФайлы("\\Servru01\personal\Ekaterina\ExchData", "OR*.xml");
    КолЭл=МассивФ.Количество();
    
    //Формируем признак Существования Файла текущего Документа	
    СчЭлМассива=0;
    ПризнакСуществованияФайла=Ложь;
    Пока НЕ ПризнакСуществованияФайла И СчЭлМассива<КолЭл Цикл
    Если МассивФ[СчЭлМассива].ИмяБезРасширения=ИмяФайлаБезРасширения Тогда
    ПризнакСуществованияФайла=Истина;
    Попытка
    УдалитьФайлы(ИмяФайлаНовое);
    Исключение
    Возврат;
    КонецПопытки;
    КонецЕсли;
    СчЭлМассива=СчЭлМассива+1;
    КонецЦикла;
    
    //Если файл существовал, мы его удалили и теперь создаем новый	
    СозданиеЗаписьФайла(ИмяФайлаНовое);
    
  7. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Блин ни как не получается по задуманому сделать!!! :unsure:
  8. TopicStarter Overlay
    r18romik
    Offline

    r18romik Опытный в 1С

    Регистрация:
    19 фев 2008
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    А ещё подскажите кто знает???
    Как сохранить ссылку файла который я скопировал себе в папку,а при нажатии кнопки на форме(Открыть) Этот фалй открывался из моей папки!!!
    Заранее спасибо:)
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    [warn=!]Один вопрос - одна тема[/warn]

Поделиться этой страницей