Имя: Пароль:
1C
 
Сохранить/Восстановить значение
,
0 SRM1C
 
21.04.17
10:00
Привет.
Есть ВПФ, в ней вызывается пользователю ВвестиСтроку.
После нужно, чтобы при открытие той же ВПФ было открыто ранее введенная строка, как сделать это ?
Сделать получилось, но сохранено для все ВПФ в целом, а нужно для каждого отдельного документа, с которым работает данная ВПФ сохранять значение.
К примеру в документе 1 было введено "Привет", после открытие документа 1 было "Привет"
При открытие документа 2 было введено "Пока", после открытие документа 2 "Пока"
А выводится последнее введенное значение и будет отображаться.
Куда рыть, что сделать ?
1 Asmody
 
21.04.17
10:17
(0) Можно, например, сделать внешнее key-value хранилище.
2 Живой Ископаемый
 
21.04.17
10:18
(1) Серверное, и разместить на каком-нибудь Хероку или Азуре.
3 Asmody
 
21.04.17
10:23
(2) Firebase
4 Живой Ископаемый
 
21.04.17
10:24
2(3) ну да... или Back4app
5 dezss
 
21.04.17
10:26
давайте еще веб-сервис для этого поднимем, блин..
чувак, тебе надо сохранять это значение в документе и все..

Глобальный контекст (Global context)
ВвестиСтроку (InputString)
Синтаксис:

ВвестиСтроку(<Строка>, <Подсказка>, <Длина>, <Многострочность>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Доступная в модуле переменная. В эту переменную будет помещена введенная в диалоге строка. !!!!!Начальное значение переменной будет использовано в качестве начального значения в диалоге. !!!!!
6 Asmody
 
21.04.17
10:28
(5) Это надо конфу курочить.
7 SRM1C
 
21.04.17
10:34
Если использовать сохранить значение и восстановить, тогда и возможно.
Но для всех документов последнее значение, а для каждого нужно свое
8 Живой Ископаемый
 
21.04.17
10:36
2(5) Веб-сервис не надо, надо только ХТТП-запросы.
9 Asmody
 
21.04.17
10:37
(7) Слово "key-value" на мысли не наводит?
Ну, например, что сохранять значения надо с уникальным ключом?
10 EugeniaK
 
21.04.17
10:37
(0) Используй хранилище значений и сохраняй с привязкой к документу.
11 Asmody
 
21.04.17
10:38
(10) Опять надо курочить конфигурацию
12 dezss
 
21.04.17
10:39
(1) а для этого не надо курочить конфу?

Можно в комментарий записать или еще куда-нибудь, что не используется.
13 Живой Ископаемый
 
21.04.17
10:39
2(12) нет, только ВПФ
14 mgtrwwzi
 
21.04.17
10:40
Может быть имеет смысл использовать штатный механизм хранения настроек?
15 dezss
 
21.04.17
10:47
(13) тьфу блин...ВПФ...путаюсь порой в аббревиатурах...
16 Живой Ископаемый
 
21.04.17
10:49
(15) у меня хуже, я их ненавижу и потому не использую. Поэтому когда вижу у других, вчитываюсь. или наоборот игнорю весь вопрос
17 Asmody
 
21.04.17
10:55
Если сохранять/восстанавливать вот так:

Ключ = ИмяПеременной + "_" + Строка(Ссылка.УникальныйИдентификатор());
....
СохранитьЗначение(Ключ, СохраняемоеЗначение);
....
....
СохраненноеЗначение = __.ИлиПоУмолчанию(ВосстановитьЗначение(Ключ), ЗначениеПоУмолчанию);
....
18 FIXXXL
 
21.04.17
10:55
(0) конфа какая? у документа есть механизм дополнительных реквизитов?
19 Asmody
 
21.04.17
10:56
Но для каждого пользователя будет своё значение
20 Живой Ископаемый
 
21.04.17
10:57
(18) Но тогда для каждого пользователя нужно свой реквизит
21 FIXXXL
 
21.04.17
10:58
(20) с чего?
в (0) "документе 1 было введено "Привет", после открытие документа 1 было "Привет" "

речь про документ, а не пользователя
22 SRM1C
 
21.04.17
11:01
Спросил у своих программистов, предложили вариант, который подошел, но не данные могут пропасть, т.к. не понятно где они хранятся;
УникальныйИдентификатор= СсылкаНаобъект.УникальныйИдентификатор();
Текст=ВосстановитьЗначение("Текст"+УникальныйИдентификатор);
Текст=?(ЗначениеЗаполнено(Текст), Текст, "");
Подсказка = "Введите текст"
Если ВвестиСтроку(Текст, подсказка, 0, Истина) Тогда
сохранитьЗначение(Текст+Уникальныйидентификатор, текст);
КонецЕсли;
23 SRM1C
 
21.04.17
11:01
На другом пользователе не пробовали.
24 EugeniaK
 
21.04.17
11:05
(11) Зачем курочить конфигурацию?

ХранилищеОбщихНастроек.Сохранить("МояВПФ",СсылкаСтрокой,ВведенныйТекст);

ВведенныйТекст = ХранилищеОбщихНастроек.Загрузить("МояВПФ",СсылкаСтрокой);
25 dezss
 
21.04.17
11:06
(22) Значение хранится индивидуально для каждой пары информационная база - пользователь.
26 Asmody
 
21.04.17
11:15
(24) Это не решает проблемы "свое значение для каждого документа". Ну и ХранилищеОбщихНастроек не в каждой версии платформы есть.
27 Asmody
 
21.04.17
11:16
Композицией (17) и (24) добиваемся "значение для каждого дока для всех пользователей"
28 Вафель
 
21.04.17
11:18
от слишком большого количества сохраненных значений может все колом встать
29 Живой Ископаемый
 
21.04.17
11:25
2(27) А можно на форуме прикрутить вот такую штуку:
https://www.dropbox.com/s/6wxophrtzx4eyhn/Screenshot%202017-04-21%2011.25.18.png?dl=0

Простите за оффтоп.

Ну, чтобы нумерация строк была. :)
30 Asmody
 
21.04.17
12:31
(29) Гисты вставлять не получится. Код от гитхаба не поддерживает асинхронную загрузку.
Программист всегда исправляет последнюю ошибку.