|
|
Хранилище общих настроек
ProxyInspector, Mr_Boogie, Мультук, arsik, deskut, rozer76, 2mugik, _Batoo, banco, ДемьянТ, zenik, Prog_man, Злопчинский, Timon1405, Chameleon1980, maxab72, shuhard, craxx
| ☑ |
|
0
deskut
19.04.26
✎
10:37
|
Помогите, пожалуйста, разобраться с хранилищем общих настроек.
Создал форму, на ней реквизит, пусть будет Реквизит1 (булево), поместил на форму.
Модуль формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Реквизит1 = ХранилищеОбщихНастроек.Загрузить("ПользовательскиеНастройки", "Реквизит1");
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ХранилищеОбщихНастроек.Сохранить("ПользовательскиеНастройки", "Реквизит1", Реквизит1);
КонецПроцедуры
Показать
Запускаю 1С, открываю форму, ставлю флажок Реквизит1, сохраняю. Открываю заново - флажок не стоит.
В процедуре ПриСозданииНаСервере() пробовал получать значение через Сообщить(), оно пустое.
Я неправильно записываю или что-то еще? Помогите, пожалуйста.
|
|
|
1
Chameleon1980
19.04.26
✎
12:20
|
А это форма чего?
руками написал "ПередЗаписьюНаСервере" ?
а отладка что говорит?
|
|
|
2
deskut
19.04.26
✎
13:23
|
(1) Общая форма. Чтобы на ней была кнопка записи, пришлось создавать как форму констант, но их на форму не выносить.
"ПередЗаписьюНаСервере" привязано, разумеется, к событию.
"Отладка"? Ну гляну, но я думаю, что просто что-то не то делаю.
|
|
|
3
deskut
19.04.26
✎
13:25
|
Может где-то в настройках конфигурации надо как-то это хранилище включить? Просто я с ним не работал никогда.
|
|
|
4
deskut
19.04.26
✎
13:31
|
Официальная документация, которой я пользовался: https://its.1c.ru/db/v8std/content/557/hdoc
Мои строки схожи с теми, что они дают.
А дипсик предлагает вообще со структурами работать.
|
|
|
5
Mr_Boogie
19.04.26
✎
14:27
|
(0) Попробуйте чуть по другому и запихните запись/сохранение в событие передзакрытием. Если у вас реквизит формы, то ключ обзовите как реквизит. Пример из моей какой-то обработки:
#Область СобытияФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Организация = ХранилищеОбщихНастроек.Загрузить("Организация");
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
ПередЗакрытиемНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПередЗакрытиемНаСервере()
ХранилищеОбщихНастроек.Сохранить("Организация",, Организация);
КонецПроцедуры
#КонецОбласти
|
|
|
6
deskut
19.04.26
✎
14:31
|
(5) Ваш способ сработал. Благодарю.
Однако интересно...
|
|
|
7
Chameleon1980
19.04.26
✎
14:46
|
(2) "..Общая форма. Чтобы на ней была кнопка записи, пришлось создавать как форму констант.."
извращенец? свою кнопку не судьба сделать? нужно записывать принудительно константы?
|
|
|
8
deskut
19.04.26
✎
14:50
|
(7) Быстрее и проще было сделать временно так, дабы потестить функционал хранилища общих настроек.
|
|
|
9
Chameleon1980
19.04.26
✎
15:34
|
(8) ну я и говорю...
|
|
|
10
ProxyInspector
19.04.26
✎
18:30
|
(5)Надо ИмяПользователя задавать.
Если ИмяПользователя = Неопределено, тогда это текущий пользователь.
Я обычно использую ИмяПользователя = "<все>"
|
|
|
11
deskut
19.04.26
✎
19:52
|
(10) А мне и надо было, чтобы текущий. Я делал форму личных настроек пользователя.
|
|
|
12
ProxyInspector
19.04.26
✎
21:20
|
ТекущийПользователь &НаКлиенте и &НаСервере не одно и тоже.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой