Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Godunov
3 / 3 / 6
Регистрация: 29.03.2016
Сообщений: 116
1

Сохранение файлов, после перехода 8.2 на 8.3

24.01.2017, 11:17. Просмотров 949. Ответов 4
Метки нет (Все метки)

Приветствую всех, недавно у нас обновили платформу с 8.2 на 8.3, но включили поддержку совместимости с 8.2 и возник косяк с обработкой по сохранению сертификатов (картинка.jpg).

Вот код который работал в 8.2:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
 
    Каталог = ВосстановитьЗначение("нс_СписокСертификатов_КаталогДляСохранения");
    
    Если ЗначениеЗаполнено(Каталог) Тогда
        Диалог.Каталог = Каталог;
    Иначе
        Диалог.Каталог = "w:";
    КонецЕсли;
    
    Если Диалог.Выбрать() Тогда
        
        СохранитьЗначение("нс_СписокСертификатов_КаталогДляСохранения", Диалог.Каталог);
        
        Для каждого СтрокаТабличнойЧасти Из Сертификаты Цикл
            Если СтрокаТабличнойЧасти.Пометка Тогда
                Если СтрокаТабличнойЧасти.Сертификат <> Неопределено тогда
                    СсылкаХранилище = СтрокаТабличнойЧасти.Сертификат.Изображение.Хранилище;
                    Данные = СсылкаХранилище.Получить();
                    Диалог.ПолноеИмяФайла = СтрокаТабличнойЧасти.Сертификат;
                    Диалог.Расширение = ".jpg";
                    //Диалог.Фильтр = "(*.jpg)|*.jpg";
                    ИмяФайла = Диалог.ПолноеИмяФайла + Диалог.Расширение;
                    Попытка
                        Данные.Записать(ИмяФайла);
                    Исключение              
                ****    Сообщить(ОписаниеОшибки());             
                    КонецПопытки;
                КонецЕсли;  
            КонецЕсли;
        КонецЦикла;
 
    КонецЕсли;
Но после перехода на 8.3 получаю ошибку:
{Обработка.нс_СписокСертификатов.Форма.Форма.Форма(247)}: Ошибка при вызове метода контекста (Записать): Ошибка файловой системы: : Ошибка доступа к файлу 'Отказное Крепеж1.jpg'

P.S.: папка создана для сохранения и права даны.

Можете подсказать, что необходимо исправить?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2017, 11:17
Ответы с готовыми решениями:

Потеря адресов после перехода на 2.0
После смены редакции с 1.6 на 2.0 в справочнике организации и контрагентов...

Не работает отчет после перехода с файловой базы на серверную
Добрый день. Помогите, пожалуйста, найти ошибку, бьемся уже неделю.... Была...

После перехода с 8.1 на 8.2 выдает: Ошибка при получении значения атрибута контекста (Результат)
{Отчет.РасчетныеЛисткиОрганизаций(691)}: Ошибка при получении значения атрибута...

Сохранение значения editText после перехода обратно в Activity
Есть два активити. В первом активити есть editText поле, в котором есть...

Сохранение файлов с данными после удаления
Всем привет! Я написал 2 метода в которых сохраняется и загружается текст в...

4
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
24.01.2017, 11:22 2
Godunov, где написан этот код?

Добавлено через 37 секунд
Вариант базы, файловый или Клиент-Серверный?
0
Godunov
3 / 3 / 6
Регистрация: 29.03.2016
Сообщений: 116
24.01.2017, 11:28  [ТС] 3
Dethmontt, Клиент-Серверный по ходу...
0
Миниатюры
Сохранение файлов, после перехода 8.2 на 8.3  
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
24.01.2017, 13:50 4
Godunov, показать процедуру полностью...

Добавлено через 42 секунды
Godunov, в этой папке уже есть файл "Отказное Крепеж1.jpg" ???
0
Godunov
3 / 3 / 6
Регистрация: 29.03.2016
Сообщений: 116
25.01.2017, 10:07  [ТС] 5
Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

Dethmontt, в сохраняемой папке ничего нет - пусто.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Процедура ОсновныеДействияФормыСохранить(Кнопка)
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
 
    Каталог = ВосстановитьЗначение("нс_СписокСертификатов_КаталогДляСохранения");
    
    Если ЗначениеЗаполнено(Каталог) Тогда
        Диалог.Каталог = Каталог;
    Иначе
        Диалог.Каталог = "w:";
    КонецЕсли;
    
    Если Диалог.Выбрать() Тогда
        
        СохранитьЗначение("нс_СписокСертификатов_КаталогДляСохранения", Диалог.Каталог);
        
        Для каждого СтрокаТабличнойЧасти Из Сертификаты Цикл
            Если СтрокаТабличнойЧасти.Пометка Тогда
                Если СтрокаТабличнойЧасти.Сертификат <> Неопределено тогда
                    СсылкаХранилище = СтрокаТабличнойЧасти.Сертификат.Изображение.Хранилище;
                    Данные = СсылкаХранилище.Получить();
                    Диалог.ПолноеИмяФайла = СтрокаТабличнойЧасти.Сертификат;
                    Диалог.Расширение = ".jpg";
                    //Диалог.Фильтр = "(*.jpg)|*.jpg";
                    ИмяФайла = Диалог.ПолноеИмяФайла + Диалог.Расширение;
                    Попытка
                        Данные.Записать(ИмяФайла);
                    Исключение              
                ****    Сообщить(ОписаниеОшибки());             
                    КонецПопытки;
                КонецЕсли;  
            КонецЕсли;
        КонецЦикла;
 
    КонецЕсли;
 
КонецПроцедуры
Добавлено через 20 часов 4 минуты
Отвечаю на свой вопрос и закрываю его.
Данные.Записать(Диалог.Каталог + "тут должен быть слеш" + ИмяФайла);

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Процедура ОсновныеДействияФормыСохранить(Кнопка)
    
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
 
    Каталог = ВосстановитьЗначение("нс_СписокСертификатов_КаталогДляСохранения");
    
    Если ЗначениеЗаполнено(Каталог) Тогда
        Диалог.Каталог = Каталог;
    Иначе
        Диалог.Каталог = "";
    КонецЕсли;
    
    Если Диалог.Выбрать() Тогда
        
        СохранитьЗначение("нс_СписокСертификатов_КаталогДляСохранения", Диалог.Каталог);
        
        Для каждого СтрокаТабличнойЧасти Из Сертификаты Цикл
            Если СтрокаТабличнойЧасти.Пометка Тогда
                Если СтрокаТабличнойЧасти.Сертификат <> Неопределено тогда
                    СсылкаХранилище = СтрокаТабличнойЧасти.Сертификат.Изображение.Хранилище;
                    Данные = СсылкаХранилище.Получить();
                    Диалог.ПолноеИмяФайла = СтрокаТабличнойЧасти.Сертификат;
                    Диалог.Расширение = ".jpg";
                    //Диалог.Фильтр = "(*.jpg)|*.jpg";
                    ИмяФайла = Диалог.ПолноеИмяФайла + Диалог.Расширение;
                    Попытка
                        Данные.Записать(Диалог.Каталог + "" + ИмяФайла);
                    Исключение              
                ****    Сообщить(ОписаниеОшибки());             
                    КонецПопытки;
                КонецЕсли;  
            КонецЕсли;
        КонецЦикла;
 
    КонецЕсли;
    
КонецПроцедуры
1
25.01.2017, 10:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2017, 10:07

Русские символы стали отображаться ? после после перехода на mysqli
Русские символы стали отображаться ? после после перехода на mysqli. При...

Сохранение различных файлов в теле програмы (в создаваемой нами) и извлечение их(файлов) на локальный диск
Кароч тута такие дела: есть куча разных файликов которые пользователь проги...

Не рендерится xml после перехода с AS 2.2 -> 2.3
Обновил AS с 2.2 до 2.3, старое sdk оставил, gradle обновил, все работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru