Имя: Пароль:
1C
1С v8
УФ Как программно установить "Сохранение" у реквизита формы?
,
0 Rounder
 
15.10.12
19:22
УФ
Как программно установить "Сохранение" у реквизита формы?
1 News
 
15.10.12
19:36
У формы стоит Автоматическое сохранение?
2 Rounder
 
15.10.12
19:41
Да
3 Rounder
 
15.10.12
19:42
Нужно именно программно создать реквизит формы и установить у него "Сохранение" в Истина.
4 Rounder
 
15.10.12
21:11
Актуально
5 SerMaxim
 
15.10.12
21:18
Новый РеквизитФормы()
6 Rounder
 
15.10.12
21:21
(5) Как создать реквизит программно я знаю. Как у него программно установить "Сохранение" - не знаю.
7 mxs089
 
16.10.12
02:43
Определи один реквизит произвольного типа, который будет хранить значения создаваемых реквизитов. Пиши в него структуру с новыми реквизитами перед сохранением, и восстанавливай после восстановления.
8 zladenuw
 
16.10.12
02:47
то кодом использовать типовое нельзя ?
9 zladenuw
 
16.10.12
02:49
хм. в типовой такое.
// Процедура сохраняет настройки формы.
//
// Параметры:
//  СохраненнаяНастройка       - СправочникСсылка.СохраненныеНастройки - сохраняемая настройка.
//  СохраняемыеНастройки - параметры настройки формы.
//
Процедура СохранитьНастройкуОбъекта(СохраненнаяНастройка, СохраняемыеНастройки) Экспорт

   ОбъектСохраненнаяНастройка = СохраненнаяНастройка.ПолучитьОбъект();
   
   Если СохраненнаяНастройка.Предопределенный тогда
       СохраняемыеНастройки.Вставить("Изменялась", истина);
   КонецЕсли;
   
   ОбъектСохраненнаяНастройка.ХранилищеНастроек = Новый ХранилищеЗначения(СохраняемыеНастройки);
   
   Попытка
       ОбъектСохраненнаяНастройка.Записать();
   Исключение
       ОбщегоНазначения.СообщитьОбОшибке(НСтр("ru='Настройка формы не записана:';uk='Настройка форми не записана:'") + Символы.ПС + "- " + ОписаниеОшибки());
   КонецПопытки;
   
КонецПроцедуры
10 5 Элемент
 
16.10.12
09:25
(3) программно создал, программно и сохраняй
11 Rounder
 
16.10.12
09:45
(7) Вопрос, поднятый в теме и возник то из-за желания обойтись без интерактивного создания реквизитов формы.

(10) Не все так просто. Нужна обработка, не требующая никаких (кроме программных) изменений форм. В т.ч. и интерактивного добавления реквизитов. Создания хранилищ и т.п.

Посему реализуется сохранение через стандартные механизмы. А именно через ПриСохраненииДанныхВНастройкахНаСервере(Настройки), где я к уже сохраняемым настройкам добавляю свои.
Восстанавливаю их по похожей схеме. Проблема в том, что эта процедура вызывается лишь при условии, что хотя бы одна из сохраняемых (штатно) настроек изменила свое состояние относительно начального во время сеанса работы с формой. Т.е. мне полюбому нужен реквизит формы с признаком "Сохранение", который можно "передернуть" в сеансе работы с формой. Вот и вопрос - как у реквизита формы программно установить "Сохранение".
Может есть более "красивые" методы - буду рад подсказке.
12 Rounder
 
16.10.12
09:51
(9) Сейчас посмотрю
13 Rounder
 
16.10.12
10:07
(9) Не подойдет - хранение настроек в справочнике, а не в системных таблицах.
14 Aprobator
 
16.10.12
10:25
Сохранение программно нарисованного реквизита формы средствами платформы? Как такое в голову только приходит.
15 Aprobator
 
16.10.12
10:26
можно подумать этот реквизит формы при следующем ее открытии у нее останется.
16 Rounder
 
16.10.12
10:35
А мне не нужно чтобы он оставался.
17 Rounder
 
16.10.12
10:37
Создали реквизит, загрузили в него данные, отработали с формой, сохранили данные реквизита, закрыли форму.
18 Rounder
 
16.10.12
13:27
Значит нельзя - жаль.
19 Aprobator
 
16.10.12
13:28
все зависит от самой задачи. РС с ресурсом тип ХранилищеЗначений ну и соответствующие измерения, для отлова принадлежности. Но, имхо, дурь это.
20 Rounder
 
16.10.12
13:34
Задача - универсальная история отборов, не требующая создания новых объектов конфигурации или новых реквизитов объектов или форм в конфигурации.
21 Aprobator
 
16.10.12
13:36
типовое сохранение настроек отчетов и объектов не катит?
22 Aprobator
 
16.10.12
13:36
или в УФ такого нет
23 Aprobator
 
16.10.12
13:36
тоже сделано через РС.
24 Rounder
 
16.10.12
13:39
В УФ есть то что описано в (9). Но там настройки сохраняются в справочнике. А это отдельный объект. Далее уже на универсальность не претендуем...
25 Aprobator
 
16.10.12
13:41
(24) ну и? В хранилище можно запихать что хочешь и достать что хочешь, что еще надо?
26 Rounder
 
16.10.12
13:43
(25) Надо не задумываться, есть ли созданное хранилище в той конфигурации куда добавляется обработка и т.д.
Т.е. использовать штатный механизм (и хранилище) 1С, который они используют для хранения по умолчанию.
27 Aprobator
 
16.10.12
13:45
угу - еще бы от версии платформы отвязаться.
28 Rounder
 
19.10.12
16:25
В общем ларчик просто открывался.
Программно "Сохранение" я так и не нашел как выставить. Однако проблема, описанная в (11). Не знаю как сразу не заметил свойства формы СохраняемыеВНастройкахДанныеМодифицированы. Оно все и решило. Взводишь его программно - и сохраняй что хочешь в системных таблицах.
29 Aprobator
 
22.10.12
10:15
(28) хм прикольно, надо будет глянуть при случае, может тоже пригодится где.