Имя: Пароль:
1C
1С v8
v8: Сохренять все реквизиты обработки с формы. Кто предложит более правильный способ
0 DirecTwiX
 
17.11.12
21:44
1) Можно ли как-то перебрать все реквизиты обработки?

2) По сабжу у меня вот что получилось)

Процедура ПриОткрытии()
   Для каждого к Из ЭлементыФормы Цикл
       Попытка
           Если не ЗначениеЗаполнено(к.Данные) Тогда
               Продолжить;    
           КонецЕсли;
           к.Значение=ВосстановитьЗначение("11_2012_"+Строка(к.Имя));
       Исключение
           //ОписаниеОшибки()
       КонецПопытки;    
   КонецЦикла;
КонецПроцедуры

Процедура ПриЗакрытии()
   Для каждого к Из ЭлементыФормы Цикл
       Попытка
           Если не ЗначениеЗаполнено(к.Данные) Тогда
               Продолжить;    
           КонецЕсли;
           СохранитьЗначение("11_2012_"+Строка(к.Имя), к.Значение);
       Исключение
           //ОписаниеОшибки()
       КонецПопытки;    
   КонецЦикла;
КонецПроцедуры
1 zak555
 
17.11.12
21:48
чем тебе не нравится типовое сохранение реквизитов формы ?
2 Длинный Клиент
 
17.11.12
21:52
(0) обычно ВСЕ не надо сохранять, надо чтобы часть пустыми были и требовали ручного заполнения новыми значениями
3 Gucci76
 
17.11.12
21:57
А флажки нельзя убрать?
4 m-serg74
 
17.11.12
22:01
(0) обычно все в файл где Вам удобно... сохраняется
5 Шалун
 
17.11.12
22:03
а может лучше сохранять в список и с учетом имя юзера
6 takefive
 
17.11.12
22:03
В приведенном коде, однажды заполненное значение будет считываться всегда. Лучше сохранять в одно значение - структуру. И строк меньше будет
7 takefive
 
17.11.12
22:07
(5) оно и так у пользователя хранится
8 Нуф-Нуф
 
17.11.12
22:11
Юзай управояемые формы
9 DirecTwiX
 
17.11.12
22:22
(8) Юзаю по возможности
(1) Там нужно руками нажимать на кнопки Сохранить значения, Восстановить значения. Как-нибудь можно программно сохранить значения элементов из списка "Сохраняемые значения"?
10 Ластик
 
17.11.12
22:27
(0) через метаданные
11 zak555
 
17.11.12
22:28
(9) ты для пользователя сохраняешь ?
12 DirecTwiX
 
17.11.12
22:36
(11) Да
(10) Спасибо
13 ChAlex
 
17.11.12
23:42
(9) Как раз в УФ ничего для этого программировать не надо (во всяком случае если не требуются хитрые алгоритмы). Для формы есть свойство "АвтоматическоеСохранениеДанныхВНастройках" - ставим в значение использование и отмечаем нужные для сохранения реквизиты - и все. При закрытии все сохраняется при открытии восстанавливается. При необходимости в этот алгоритм можно вмешаться. Данный вариант самый простой.
14 zmaximka
 
18.11.12
00:46
сохренять- это конечно пять!
15 Filippov
 
18.11.12
11:11
Один мой коллега сделал похожую опечатку в заголовке супер-сверх-секретной печатной формы: "Состояние хренилища". Ошибку заметил не скоро. Пользователи, похоже, не заметили. А операторы ЭВМ, по их словам, отсмеялись давным-давно. Но никому не говорили - они не имели права видеть этот отчет с грифом СС.
16 IamAlexy
 
18.11.12
11:12
(13) не всегда удобно.

пример: на форме таблица заполняемая запросом + реквизиты для установки фильтров.
сохраненные средствами платформы реквизиты будут заполнены на клиенте при открытии формы а не на сервере при создании.
17 ChAlex
 
18.11.12
22:09
(16) - ну вы видимо не владеете УФ ибо как тогда вписать в ваше утверждение метод формы ПриЗагрузкеДанныхИзНастроекНаСервере - это по-вашему на клиенте выполняется?
18 Сияющий Асинхраль
 
18.11.12
22:49
(0) Сохренять - это в смысле похерить?
19 IamAlexy
 
18.11.12
22:58
(17) прикольно
век живи - век учись..
а я все по старинке пишу в хранилище структуры и читаю оные..
20 Конфигуратор1с
 
18.11.12
23:02
(19) и на IamAlexy бывает проруха )))
21 IamAlexy
 
18.11.12
23:04
хотя с другой стороны пример:

есть на форме ТЗ заполняемая запросом в который передаются параметры из реквизитов формы которые собственно и надо сохранять.

если мы сохраняем автоматом то у нас получение этих реквизитов случается после создания на сервере.

таким образо собственно либо мы формируем тз без реквизитов
либо кладем вызов заполнения ТЗ в процедуру призагрузкеданных...
но она НЕ срабатывает если загрузки данных нет - то есть если пустая строка.

отсюда вывод - вызывается заполнение таблицы дважды.
22 ChAlex
 
19.11.12
13:08
(21) - а это уже для хитрых вариантов сохранения и восстановления - тут нужно логику включать. Вообще-то можно и в процедуре "ПриЗагрузкеДанныхИзНастроекНаСервере" заполнять. Единственный момент - если ничего не сохранялось до открытия формы - то и процедура не выполняется, этот момент собственно и нужно учитывать. С другой стороны - скорее всего если не определялись параметры, то и возможно запрос не нужно выполнять. Но в любом случае - лучше тогда получить один серверный вызов из ПриОткрытии при первом открытии документа данного вида (потом уже будет сохраняться параметры и вызов больше не понадобится). Универсальных механизмов на все случаи жизни нет.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн