Имя: Пароль:
1C
 
Помещение структуры в хранилище значений и извлечение её оттуда
🠗 (Волшебник 06.12.2017 10:39)
,
0 falselight
 
06.12.17
10:38
Вопрос в том как поместить структуру в хранилище. И как её потом
извлечь от туда.

    //
    Настройки = Новый Структура();
    Настройки.Вставить("Путь",                Объект.Путь);
    Настройки.Вставить("Порт",                Объект.Порт);
    Настройки.Вставить("Пользователь",        Объект.Пользователь);
    Настройки.Вставить("Пароль",              Объект.Пароль);
    Настройки.Вставить("ПассивноеСоединение", Объект.ПассивноеСоединение);
    Настройки.Вставить("ИмяФайла",            Объект.ИмяФайла);
    Настройки.Вставить("ВидДК",               Объект.ВидДК);
    Хранилище = Новый ХранилищеЗначения(Настройки, Новый СжатиеДанных(9));
    //
1 Lexey_
 
06.12.17
10:39
(0) ну вот так как ты написал
2 falselight
 
06.12.17
10:40
(0) Это помещение структуры в хранилище значений. А как её потом извлекать от туда????

    //
    Настройки = Хранилище.Получить();
    Если Настройки = Неопределено Тогда
        Сообщить("Ошибка получения значения из хранилища");
    Иначе
        Объект.Путь                = Настройки.Путь;
        Объект.Порт                = Настройки.Порт;
        Объект.Пользователь        = Настройки.Пользователь;
        Объект.Пароль              = Настройки.Пароль;
        Объект.ПассивноеСоединение = Настройки.ПассивноеСоединение;
        Объект.ИмяФайла            = Настройки.ИмяФайла;
        Объект.ВидДК               = Настройки.ВидДК;
    КонецЕсли;
    //
3 falselight
 
06.12.17
10:41
Как в (2)

Настройки = Хранилище.Получить();

понимать что это будет именно та структура?????
4 Lexey_
 
06.12.17
10:41
(3) то, что положил, то и извлечешь
5 falselight
 
06.12.17
10:45
Один момент. Есть константа, она имеет тип хранилище значений. Как в (0) поместить эту структуру в константу имеющую тип хранилище значений?

А как потом как в (2) извлечь из ней????
6 Lexey_
 
06.12.17
10:46
(5) так же как и в обычную, она ничем не отличается
7 falselight
 
06.12.17
10:51
(6) Вопрос в том как эту структуру обновить в константе и извлечь из неё?

(2) А если в хранилище много чего хранится? От куда узнать что от туда извлекается именно эта структура?
8 Lexey_
 
06.12.17
10:55
(7) еще раз: то, что ты до этого туда положил, то и получишь
9 falselight
 
06.12.17
10:55
Так устанавливать?
    //
    Настройки = Новый Структура();
    Настройки.Вставить("Путь",                Объект.Путь);
    Настройки.Вставить("Порт",                Объект.Порт);
    Настройки.Вставить("Пользователь",        Объект.Пользователь);
    Настройки.Вставить("Пароль",              Объект.Пароль);
    Настройки.Вставить("ПассивноеСоединение", Объект.ПассивноеСоединение);
    Настройки.Вставить("ИмяФайла",            Объект.ИмяФайла);
    Настройки.Вставить("ВидДК",               Объект.ВидДК);
    ХранилищеВКонстанту = Новый ХранилищеЗначения(Настройки, Новый СжатиеДанных(9));
    //
    Константы.ПП_ПараметрыПодключенияКFTP.Установить(ХранилищеВКонстанту);
    //
10 Lexey_
 
06.12.17
10:56
(9) да
11 falselight
 
06.12.17
10:58
Так получать?
    //
    ХранилищеИзКонстанты = Константы.ПП_ПараметрыПодключенияКFTP.Получить();
    // читаем значение
    ХранилищеИзКонстанты.Прочитать();    
    Если НастройкиХранилищеИзКонстанты = Неопределено Тогда
        Сообщить("Ошибка получения значения из хранилища");
    Иначе
        Объект.Путь                = ХранилищеИзКонстанты.Путь;
        Объект.Порт                = ХранилищеИзКонстанты.Порт;
        Объект.Пользователь        = ХранилищеИзКонстанты.Пользователь;
        Объект.Пароль              = ХранилищеИзКонстанты.Пароль;
        Объект.ПассивноеСоединение = ХранилищеИзКонстанты.ПассивноеСоединение;
        Объект.ИмяФайла            = ХранилищеИзКонстанты.ИмяФайла;
        Объект.ВидДК               = ХранилищеИзКонстанты.ВидДК;
    КонецЕсли;
    //
12 Lexey_
 
06.12.17
11:01
(11) зачем ты тему создал?
13 falselight
 
06.12.17
11:06
Ошибка выходит

{Обработка.ПП_ВыгрузкаИнформацииПоДисконтнымКартам.Форма.Форма.Форма(79,30)}: Тип не определен (ХранилищеЗначения)
    ХранилищеВКонстанту = Новый <<?>>ХранилищеЗначения(Настройки, Новый СжатиеДанных(9)); (Проверка: Тонкий клиент)
14 falselight
 
06.12.17
11:06
(11) Для понимания вопроса что в (0)
15 falselight
 
06.12.17
11:08
(13) Это на сервере наверное нужно делать.
16 Lexey_
 
06.12.17
11:11
(15) посмотри в СП