Имя: Пароль:
1C
1С v8
8.2 Восстановить сохраненное значение реквизита обработки
0 lena8push
 
06.03.13
21:24
Здравствуйте.
УТ11. Обработка. Реквизит обработки. Выведен на форму. В свойствах формы стоит АвтоматическоеСохранениеДанныхВНастройках = Использовать.
Если открыть обработку, установить в форме значение этого реквизита, закрыть обработку, и заново открыть - все окей, реквизит восстанавливает заданное значение.
Вопрос:
как восстановить значение этого реквизита В КОДЕ, без интерактивного открытия формы?
1 Живой Ископаемый
 
06.03.13
21:36
Через ЗначениеВФайл ЗначениеИзФайла.
самое ужасное в этом. что нельзя определить программно для каких Элементов выставленно

стоп... это УФ?
2 lena8push
 
06.03.13
21:37
Да, управляемые формы. УТ11 же)
3 lena8push
 
06.03.13
21:39
Значение в файл и из файла совсем не то. Обработка встроенная. Я вызываю ее метод регламентным заданием. При вызове из кода ее реквизиты не заполнены (хотя когда я открываю ее интерактивно, реквизиты подставляются). Значит, они хранятся где-то в хранилищах  настроек.
4 lena8push
 
06.03.13
21:52
Похоже, никто не в курсе...
5 mistеr
 
06.03.13
22:14
(3) >При вызове из кода ее реквизиты не заполнены
Правильно, тебе нужно их заполнить. Сохраняй отдельно через СохранитьЗначение() и восстанавливай перед запуском.
6 lena8push
 
06.03.13
22:30
Не вижу метода СохранитьЗначение()..
Можете, пожалуйста, более развернуто пояснить?
7 lena8push
 
06.03.13
22:34
В общем, я вижу такой выход:
При закрытии обработки сохранять выставленные значения в справочнике "Варианты отчетов".
При программном обращении, восстанавливать настройки оттуда
8 mistеr
 
06.03.13
22:42
(7) Правильно поняла. Можно в справочнике, можно в хранилище настроек. СохранитьЗначение это глобальный метод, СП подскажет.
9 lena8push
 
06.03.13
22:46
(8) Я первым делом полезла в СП.
Метода СохранитьЗначение нет. О_о
Есть Только СохранитьЗначения Описание:
Тип: Картинка.
Сохранить набор сохраняемых формой значений.
То есть явно не то.
Собственно, мне-то и хотелось обойтись без использования справочника для сохранения настроек.
10 mikecool
 
06.03.13
22:48
заведи реквизиты обработки а не формы
11 mikecool
 
06.03.13
22:48
+ 10 иначе что будешь восстанавливать, если формы нет?
12 lena8push
 
06.03.13
22:52
(10) Это и есть реквизиты формы, читай (1):
Реквизит обработки. Выведен на форму
13 lena8push
 
06.03.13
22:54
Вопрос только кажется простым, на деле оптимальное решение найти трудно.
Я не могу. Вижу только дурацкое сохранение настроек в справочник!
14 Конфигуратор1с
 
06.03.13
23:24
(13) и чем оно дурацкое?
15 lena8push
 
06.03.13
23:34
Короче, через справочник все номально работает.
Если кому-то пригодится:

Процедура ВосстановитьНастройкиОбработки()
   Запрос = Новый Запрос;
   
   Запрос.Текст = "ВЫБРАТЬ
   |    ВариантыОтчетов.ХранилищеЗначений,
   |    ВариантыОтчетов.КлючВарианта,
   |    ВариантыОтчетов.Ссылка
   |ИЗ
   |    Справочник.ВариантыОтчетов КАК ВариантыОтчетов
   |ГДЕ
   |    ВариантыОтчетов.КлючОбъекта = ""Обработка.обр_СнятиеРезервов.Форма.Форма""
   |    И ВариантыОтчетов.ТипВариантаОтчета = ЗНАЧЕНИЕ(Перечисление.ТипыВариантовОтчетов.Предопределенный)";
   
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   
   Пока Выборка.Следующий() Цикл
       Если Выборка.КлючВарианта = "Обработка.обр_СнятиеРезервов.Форма.Форма.СрокСнятияРезерва" Тогда
           СрокСнятияРезерва = Выборка.ХранилищеЗначений.Получить();    
       КонецЕсли;
       Если Выборка.КлючВарианта = "Обработка.обр_СнятиеРезервов.Форма.Форма.СтатусДокумента" Тогда
           СтатусДокумента = Выборка.ХранилищеЗначений.Получить();    
       КонецЕсли;    
   КонецЦикла;
КонецПроцедуры
16 lena8push
 
06.03.13
23:35
(14) Конфигуратор, ну как мнимум тем, что эти настройки мона удалять, открыв справочник.
17 mistеr
 
07.03.13
00:45
(16) С сохранением реквизитов в форме та же фигня. Юзер открыл форму, поигрался, регламентное задание сломалось.
18 Конфигуратор1с
 
07.03.13
01:00
(17)+100
(16)сохранение настроек в форме еще хуже, так как их гарантировать вообще не реально. Более того, настройки в отчете привязывать к регламентному заданию как то совсем грустно. Проще сделать регистр сведений и сохранять туда параметры
19 8vC1
 
07.03.13
01:04
http://infostart.ru/public/165442/
Вот, может поможет.
20 lena8push
 
07.03.13
01:06
(18) Плодить регистры сведений - не менее нелицеприятно же.
А от того, что настроек не будет, я защитилась просто: если после восстановления настроек реквизиты не заполнены, заполняем  значениями "по умолчанию", обговоренными с заказчиком.

Но должен быть способ, ДОЛЖЕН БЫТЬ, восстанавливать настройки из хранилища. При открытии формы реквизиты заполняются же! Мне уже просто безумно любопытно, КАК это сделать.
21 lena8push
 
07.03.13
01:09
(19) Спасибо огромное!!!
Таки да, это именно то, что мне было нужно!
22 8vC1
 
07.03.13
01:11
(21) Не забудь, плюсануть автора, я плюсанул :-)
23 Конфигуратор1с
 
07.03.13
01:28
(20) Да как раз регистр в данном контексте подходит лучше, чем сохранение формы, ибо позволяет при необходимости менять корректно их, чего не скажешь с хранилищем.  
"А от того, что настроек не будет, я защитилась просто: если после восстановления настроек реквизиты не заполнены, заполняем  значениями "по умолчанию", обговоренными с заказчиком." а если они заполнены , но не корректно?