Имя: Пароль:
1C
1С v8
Сохранение значений реквизитов формы в УТ 11
0 vse_serjezno
 
21.05.14
14:51
Здравствуйте!

В управляемом приложении не работают методы СохранитьЗначение и ВосстановитьЗначение.
Хотя согласно этой статье они должны работать:
http://help1c.com/faq/view/612.html

Но согласно моему коду ни разу! Ни на сервере, ни на клиенте эти методы не определены вообще.

&НаКлиенте
Процедура СохранитьИзмененияВТаблице(Команда)
     СохранитьЗначения();
КонецПроцедуры

&НаСервере
Процедура СохранитьЗначения()
    СохранитьЗначение("ТаблицаНоменклатуры", ДеревоНоменклатуры);
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)

    Таблица = ВосстановитьЗначение("ТаблицаНоменклатуры");
    Если ЗначениеЗаполнено(Таблица) Тогда
        ...
    КонецЕсли;

КонецПроцедуры

Помогите, пожалуйста! В чем проблема и какой можно найти выход?
1 ДенисЧ
 
21.05.14
14:52
Доступность:

Толстый клиент.
2 vse_serjezno
 
21.05.14
14:55
(1) Вы хотите сказать, что для этих методов подходит только обычное приложение, а не управляемое?
3 vse_serjezno
 
21.05.14
14:56
Мне собственно нужно сохранять значения в реквизитах формы по нажатию кнопки на форме. По аналогии с сохранением при закрытии формы, только закрывать ее не надо.
4 fisher
 
21.05.14
14:58
А какая задача решается таким странным способом?
5 fisher
 
21.05.14
15:01
А проверь, кстати, что вызывается раньше - ПриСохраненииДанныхВНастройкахНаСервере() или ПередЗакрытием()
6 vse_serjezno
 
21.05.14
15:04
(4) В доп.обработке есть таблица, которую пользователь изменяет. И эти таблицы иногда бывают очень большими и править их несколько часов.
А 1ска имеет свойство неожиданно вылетать(перебои с сетью, неполадки на сервере, замуты самой 1ски и прочее).
И вот пользователи очень печалятся, когда они 3 часа потратили на работу с таблицей, и им неожиданно приходится начинать все заново.

Я хочу сделать им возможность периодически сохранять данные таблицы, если это возможно.
7 fisher
 
21.05.14
15:12
Проверь пока (5). Возможно, вообще красиво все получится.
Если нет - то есть два пути. Сложный но красивый и корявый но простой.
8 vse_serjezno
 
21.05.14
15:15
(7) да, я сейчас этим занимаюсь.
Сейчас обработка подумает и я отпишусь!
9 vse_serjezno
 
21.05.14
15:19
Сперва ПередЗакрытием отрабатывается : ((
10 vse_serjezno
 
21.05.14
15:22
(7) Ну вот обработка при закрытии мне все сохранила как надо!..
ну по любому можно же как то это сделать без закрытия!...
или я слишком многого хочу?..(
11 fisher
 
21.05.14
15:27
Ясно.
Короче, смысл в чем.
Реквизиты формы при закрытии штатно сохраняются в системном хранилище данных форм. То бишь, в БД.
Попробуй вручную писать данные в системное хранилище данных форм. Для этого придется раскурить СтандартноеХранилищеНастроекМенеджер (из ХранилищеНастроекДанныхФорм). Надо будет сначала через него попробовать прочитать настройки, посмотреть на формат и в таком же писать. Там есть тонкости, но все решаемо. Если по какой-то причине и это не летит, то можно переопределить стандартное хранилище данных форм на собственное и хранить настройки как душе угодно. Это из красивых решений.
Из корявых - ну, можешь прямо на клиенте сохранять и читать настройки через файлики. ЗаписьТекста() и ЧтениеТекста() на клиенте работают.