Не сохраняются реквизиты управляемой формы 1с

Не сохраняются данные реквизита формы

Я
   kible

22.06.12 — 08:36

День добрый! Такая проблема. При создании на сервере заполняю список значений реквизита формы. В свойствах реквизита установил флаг «Сохраняемые данные», но при повторном открытии документа список заполняется заново. Где еще галочку поставить?

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   Если СписокМест.Количество() = 0 Тогда

       Для а=1 По 52 Цикл

           СписокМест.Добавить(а);

       КонецЦикла;

   КонецЕсли;

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

  

Партнерская программа EFSOL Oblako

   Рэйв

1 — 22.06.12 — 08:37

Ты его хоть засохраняй, спм же новым списком при создании забиваешь

   Рэйв

2 — 22.06.12 — 08:37

*сам

   butterbean

3 — 22.06.12 — 08:39

ПриСозданииНаСервере — это раньше чем настройки восстанавляваются

   kible

4 — 22.06.12 — 08:39

(1) А почему проверка на количество элементов в списке не работает?

   andrewks

5 — 22.06.12 — 08:39

(1) Если СписокМест.Количество() = 0 Тогда

   kible

6 — 22.06.12 — 08:41

(3) Перенес в ПриОткрытии, та же проблема.

   Рэйв

7 — 22.06.12 — 08:47

(4)(5)Сохраненные значения скорее всего пытаются восстановиться уже после создания.

   Рэйв

8 — 22.06.12 — 08:48

(6)Форма еще не открыта. Так что и позже ПриОткрытии() тоже:-)

   butterbean

9 — 22.06.12 — 08:52

там у самой формы вроде надо еще АвтоматическоеСохранениеДанныхВНастройках установить

   kible

10 — 22.06.12 — 08:53

(9) Стоит «Использовать».

   Рэйв

11 — 22.06.12 — 08:54

(9)Да все равно оно восстанавливается только для немодифицированных реквизитов.

А он его модифицирует до восстановления

   butterbean

12 — 22.06.12 — 08:54

(11) он же в ПриОТкрытии перенес, а это после восстановления

   Рэйв

13 — 22.06.12 — 08:55

Попробуй уж тогла в ОбновлениеОтображения()

   kible

14 — 22.06.12 — 08:55

(8) Вообще по описанию этой настройки при заполнении списка должен устанавливаться флаг модифицированности у формы, но этого не происходит.

   Рэйв

15 — 22.06.12 — 08:55

(12)Это до. ПРИ а не ПОСЛЕ. Форма не открыта еще

   Рэйв

16 — 22.06.12 — 08:56

(14)Кажись он устанавливается только при интереактивном изменении

   Рэйв

17 — 22.06.12 — 08:57

когда форма уже на экране

   andrewks

18 — 22.06.12 — 08:57

(11) «А он его модифицирует до восстановления» где?

(14) ты у реквизита формы флажок «Сохранение» поставил?

   Рэйв

19 — 22.06.12 — 08:58

(17)ПриСозданииНаСервере имхо

   Рэйв

20 — 22.06.12 — 08:58

(19)->(18)

   kible

21 — 22.06.12 — 08:58

(13) Чета не вижу такой процедуры.

   Рэйв

22 — 22.06.12 — 08:59

(21)У тебя ж УФ…  Не помню есть лит она так.

   Рэйв

23 — 22.06.12 — 08:59

*там

   butterbean

24 — 22.06.12 — 08:59

(21) а если убрать вообще твое заполение — список из настроек восстанавливается??

   andrewks

25 — 22.06.12 — 09:01

(19) не городи чушь

   kible

26 — 22.06.12 — 09:01

(18) Спасибо. Оказалось что этот флажок тоже нужно поставить. Ну и перенести заполнение списка в процедуру «При открытии».

   andrewks

27 — 22.06.12 — 09:01

(21) ответь на вопрос №2 из (18)

   Рэйв

28 — 22.06.12 — 09:02

(25)Почему? При создании настройки еще явно не восстанавливаются. Явно позже

   andrewks

29 — 22.06.12 — 09:02

(26) заполнение списка нужно  перенести в ПриЗагрузкеДанныхИзНастроекНаСервере

   andrewks

30 — 22.06.12 — 09:02

(28) и что?

   butterbean

31 — 22.06.12 — 09:03

(26) ты же в (0) писал, что реквизит поставил

   andrewks

32 — 22.06.12 — 09:04

(31) «Сохраняемые данные» != «Сохранение»

   butterbean

33 — 22.06.12 — 09:08

(32) че-то у меня в 8.2.13 такого нет :-(

   andrewks

34 — 22.06.12 — 09:09

(33) смотри тщательнее О_О

   andrewks

35 — 22.06.12 — 09:11

для тех, кто в танке: «Сохраняемые данные» означает то, что при изменении этого реквизита будет взводится флажок модифицированности формы. этот флажок не имеет никакого отношения к сохранению настроек (респект 1Су, они смогли очень хорошо запутать и, видимо, специально разместили флажки в разных местах)

  

butterbean

36 — 22.06.12 — 09:16

(35) все, спасибо вспомнил!! это типа вместо ИзменяетДанные в обычных формах… да название они придумали очень странное

В этой статье разберем, как работать с сохранением данных на форме в 1С 8.3.

Сохраняемые данные формы 1С

У любой управляемой формы можно настроить сохранение данных реквизитов формы. Это значит, что форма сохранит данные введенные в поля, которые соответствуют реквизитам, при закрытии формы, а при последующем открытии формы информация в этих полях восстановятся автоматически.

Например, у меня на форме обработки имеются поля, данные в которых сохраняются при закрытии формы и восстанавливаются при последующем открытии.

Форма обработки 1С

Это поля Контрагент и Цена.

Для того, чтобы на управляемой форме данные из соответствующих реквизитов сохранялись, необходимо выполнить следующие действия.

Первое. У свойства формы  «Автоматическое сохранение данных в настройках» установить значение «Использовать».

 Свойство управляемой формы 1С Автоматическое сохранение данных в настройках

Второе. После того, как будет установлено значение в свойство, которое упоминали выше, у реквизитов формы появится колонка «Сохранение». Именно в этой колонке и нужно поставить флажки рядом с теми реквизитами, значения которых мы хотим сохранять при закрытии формы.

Свойство Сохранить реквизитов управляемой формы 1С

После этих действий, данные у отмеченных реквизитов будут сохраняться.

Хранилище настроек в 1С

Вышеприведенный способ позволяет сохранять последние данные, с которыми работали на форме. Но, могут возникнуть ситуации, когда нужно будет сохранять какую-то произвольную комбинацию значений реквизитов, а потом восстановить её. Если рассматривать ситуацию выше, то это может быть комбинация контрагента и цены: для одного контрагента одна цена, для другого другая и т.д.

Для того, чтобы такая возможность имелась, необходимо в свойстве «Хранилище данных настроек» управляемой формы установить значение «Использовать список».

Свойство управляемой формы Хранилище данных настроек

А потом, у нужных реквизитов формы следует установить флаг у свойства «Сохраняемые данные».

Свойство Сохраняемые данные реквизита управляемой формы

После таких изменений, у формы в группе Ещё появятся команды «Сохранить параметры» и «Восстановить параметры».

Команды управляемой формы Сохранить параметры и Восстановить параметры

Теперь мы можем сохранить любую комбинацию реквизитов Контрагент – Цена.

Команда управляемой формы Сохранить параметры
Команда управляемой формы Сохранить параметры

И можем восстановить нужную комбинацию в любой момент работы с формой, а не только при открытии.

Команда управляемой формы Восстановить параметры
Команда управляемой формы Восстановить параметры

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

0 / 0 / 0

Регистрация: 06.07.2016

Сообщений: 5

1

Не сохраняются реквизиты справочника УФ

02.08.2017, 09:49. Показов 2743. Ответов 2


Добрый день! На ровном месте запутался.
В справочнике «Контрагенты» добавил реквизит «видКонтрагента». Сделал форму для группы. При редактировании существующих групп почему-то этот реквизит не сохраняется. Не могу понять почему.
Реквизит же явл. частью Объекта, т.е. должен автоматически в базу сохраняться при изменении.



0



122 / 66 / 26

Регистрация: 08.03.2016

Сообщений: 173

03.08.2017, 00:19

2

Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

У вас случайно не установлено свойство Использование реквизита ВидКонтрагента в значение «Для элемента»?
А формой группы вы хотели обойти это ограничение?

Добавлено через 21 минуту
В общем, лечите не симптомы, а причину, свойство Использование установите в значение «Для группы и элемента». Форму группы можно удалить.



1



0 / 0 / 0

Регистрация: 06.07.2016

Сообщений: 5

03.08.2017, 05:23

 [ТС]

3

Цитата
Сообщение от alex1248
Посмотреть сообщение

У вас случайно не установлено свойство Использование реквизита ВидКонтрагента в значение «Для элемента»?

Точно, именно так и стояло.
Спасибо.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

03.08.2017, 05:23

3

 0 

   

Распечатать

1С 8.3 : Реквизит ~ Как сохранять и восстанавливать значения Объектов и Реквизитов на форме УП?

У управляемой формы реквизиты заведенные как реквизиты формы, при закрытии и открытии ее заново могут сохраняться и восстанавливаться, достаточно только поставить напротив галочку сохранять и в свойствах формы выбрать «АвтоматическоеСохранениеДанныхВНастройках» — Использовать.

 

Подробнее в этой статье Как сохранять и восстанавливать значения реквизитов на форме? и там же пример для обычных форм.


А что же делать с реквизитами, которые выступают в роли реквизитов объектов ?

у них такой настройки нет ) нет — напишем:

Код 1C v 8.3

 &НаСервере
Процедура ВосстановитьНастройки()
КлючОбъекта = "ЗагрузкаИЗPDF_All4CF.ru";
КлючНастроек = "ЗагрузкаИЗPDF_All4CF.ru";
ОписаниеНастроек = "ЗагрузкаИЗPDF_All4CF.ru";
ИмяПользователя = "";

ЗначениеНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);

Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда
Объект.Склад = ЗначениеНастроек.Получить("Склад");
Объект.Организация = ЗначениеНастроек.Получить("Организация");
Объект.ПутьКPDF2TXT = ЗначениеНастроек.Получить("ПутьКPDF2TXT");
Объект.ПутьКPDF = ЗначениеНастроек.Получить("ПутьКPDF");
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
ВосстановитьНастройки();
КонецПроцедуры

&НаСервере
Процедура СохранитьНастройки()  
КлючОбъекта = "ЗагрузкаИЗPDF_All4CF.ru";
КлючНастроек = "ЗагрузкаИЗPDF_All4CF.ru";
ОписаниеНастроек = "ЗагрузкаИЗPDF_All4CF.ru";
ИмяПользователя = "";

Настройки = Новый Соответствие;
Настройки.Вставить("ПутьКPDF2TXT", Объект.ПутьКPDF2TXT);
Настройки.Вставить("ПутьКPDF", Объект.ПутьКPDF);
Настройки.Вставить("Склад", Объект.Склад);
Настройки.Вставить("Организация", Объект.Организация);

ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);
КонецПроцедуры  

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
 СохранитьНастройки();
КонецПроцедуры

Открыв обработку и заполним поля закрываем ее, при следующем открытии все поля заполнены из сохраненных настроек:

Для сохранения значений реквизитов управляемой формы в 1С нужно включить свойство управляемой формы СохранениеДанныхВНастройках. После этого в окне реквизитов формы появится дополнительная колонка Сохранять данные в настройках. В этой колонке нужно поставить флаг у тех реквизитов, значения которых нужно сохранять.

Сохранение значений реквизитов управляемых форм

После этого на форме появятся стандартные кнопки Сохранить параметры и  Восстановить параметры (возможно, они будут скрыты под кнопкой Еще).

Однако, автоматическое сохранение значений доступно только для реквизитов формы. Для табличных частей флаг Сохранять данные в настройках не предусмотрен. Однако, табличные части можно преобразовать, например, в массивы и уже их сохранить в настройках формы.

Рассмотрим эту процедуру на примере формы с двумя табличными частями: ТипыЦен и ГруппыНоменклатуры. В каждой табличной части по одной колонке.

Для сохранения значений табличной части управляемой формы нам потребуется создать процедуру для события формы ПриСохраненииДанныхВНастройкахНаСервере. Как следует из названия, это событие возникает при сохранении значений реквизитов формы. И тут то мы и сможем добавить к реквизитам нашу табличную часть, предварительно преобразованную в массив.

Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)

//Создаем массивы из табличных частей
МассивГрупп=новый массив;
Для каждого Строка из Объект.Группы Цикл
МассивГрупп.Добавить(Строка.Группа);
КонецЦикла;

МассивЦен=новый массив;
Для каждого Строка из Объект.ТипыЦен Цикл
МассивЦен.Добавить(Строка.ТипЦены);
КонецЦикла;

//Добавляем полученные массивы в сохраняемые настройки с соответствующими именами
Настройки.Вставить(«Группа», МассивГрупп);
Настройки.Вставить(«ТипыЦен», МассивЦен);

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

Теперь осталось восстановить табличные части из массивов при загрузке настроек управляемой формы. Для этого нам потребуется процедура для события ПриЗагрузкеДанныхИзНастроекНаСервере.

Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)

//Очищаем табличные части, чтобы избежать дублей
Объект.Группы.Очистить();
Объект.ТипыЦен.Очистить();

//Получаем массивы из настроек по тому имени, по которому сохраняли и заносим в табличные части
Для каждого Строка из Настройки.Получить(«Группа») Цикл
НС=Объект.Группы.Добавить();
НС.Группа=Строка;
КонецЦикла;

Для каждого Строка из Настройки.Получить(«ТипыЦен») Цикл
НС=Объект.ТипыЦен.Добавить();
НС.ТипЦены=Строка;
КонецЦикла;

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

На чтение 3 мин. Просмотров 223 Опубликовано 15.12.2019

Для сохранения значений реквизитов управляемой формы в 1С нужно включить свойство управляемой формы СохранениеДанныхВНастройках. После этого в окне реквизитов формы появится дополнительная колонка Сохранять данные в настройках. В этой колонке нужно поставить флаг у тех реквизитов, значения которых нужно сохранять.

После этого на форме появятся стандартные кнопки Сохранить параметры и Восстановить параметры (возможно, они будут скрыты под кнопкой Еще).

Однако, автоматическое сохранение значений доступно только для реквизитов формы. Для табличных частей флаг Сохранять данные в настройках не предусмотрен. Однако, табличные части можно преобразовать, например, в массивы и уже их сохранить в настройках формы.

Рассмотрим эту процедуру на примере формы с двумя табличными частями: ТипыЦен и ГруппыНоменклатуры. В каждой табличной части по одной колонке.

Для сохранения значений табличной части управляемой формы нам потребуется создать процедуру для события формы ПриСохраненииДанныхВНастройкахНаСервере. Как следует из названия, это событие возникает при сохранении значений реквизитов формы. И тут то мы и сможем добавить к реквизитам нашу табличную часть, предварительно преобразованную в массив.

Процедура ПриСохраненииДанныхВНастройкахНаСервере ( Настройки )

//Создаем массивы из табличных частей
МассивГрупп = новый массив ;
Для каждого Строка из Объект . Группы Цикл
МассивГрупп . Добавить ( Строка . Группа ) ;
КонецЦикла ;

МассивЦен = новый массив ;
Для каждого Строка из Объект . ТипыЦен Цикл
МассивЦен . Добавить ( Строка . ТипЦены ) ;
КонецЦикла ;

//Добавляем полученные массивы в сохраняемые настройки с соответствующими именами
Настройки . Вставить ( «Группа» , МассивГрупп ) ;
Настройки . Вставить ( «ТипыЦен» , МассивЦен ) ;

Теперь осталось восстановить табличные части из массивов при загрузке настроек управляемой формы. Для этого нам потребуется процедура для события ПриЗагрузкеДанныхИзНастроекНаСервере.

Процедура ПриЗагрузкеДанныхИзНастроекНаСервере ( Настройки )

//Очищаем табличные части, чтобы избежать дублей
Объект . Группы . Очистить ( ) ;
Объект . ТипыЦен . Очистить ( ) ;

//Получаем массивы из настроек по тому имени, по которому сохраняли и заносим в табличные части
Для каждого Строка из Настройки . Получить ( «Группа» ) Цикл
НС = Объект . Группы . Добавить ( ) ;
НС . Группа = Строка ;
КонецЦикла ;

Для каждого Строка из Настройки . Получить ( «ТипыЦен» ) Цикл
НС = Объект . ТипыЦен . Добавить ( ) ;
НС . ТипЦены = Строка ;
КонецЦикла ;

Как сохранять и восстанавливать значения Объектов и Реквизитов на форме УП?

У управляемой формы реквизиты заведенные как реквизиты формы, при закрытии и открытии ее заново могут сохраняться и восстанавливаться, достаточно только поставить напротив галочку сохранять и в свойствах формы выбрать «АвтоматическоеСохранениеДанныхВНастройках» — Использовать.

Подробнее в этой статье Как сохранять и восстанавливать значения реквизитов на форме? и там же пример для обычных форм.

А что же делать с реквизитами, которые выступают в роли реквизитов объектов ?

у них такой настройки нет нет — напишем:

Открыв обработку и заполним поля закрываем ее, при следующем открытии все поля заполнены из сохраненных настроек:

Похожие FAQ

Еще в этой же категории

Как настроить отбор строк? 2
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство: в обычном приложении параметр для ОтборСтрок — Отбор. в управляемом Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Для того чтобы значения реквизитов управляемой формы, не связанные с данными хранящимися в базе, сохранялись после закрытия формы и восстанавливались при следующем ее открытии необходимо сделать следующее:

  • В свойствах формы на закладке Использование параметр АвтоматическоеСохранениеДанныхВНастройках установить в значение Использовать;
  • После этого в списке реквизитов формы появится колонка Сохранение, поставьте флажки в этой колонке напротив тех реквизитов, которые должны сохраняться.

Подскажите, как сохранить значение реквизита формы на Управляемой  форме?

Сохранить в реквизите объекта.

а через реквизит формы никак?

У реквизита есть свойство СохраняемыеДанные

да, галочку поставила, но все равно не сохраняется

Так это не та галочка потому что

Ну, может, не идёт у тебя нормально работа с реквизитами формы. Работай с реквизитами объекта.

Поставь у формы АвтоматическоеСохранениеДанныхВНастройках = Использовать, тогда в редакторе формы появится столбик «Сохранять»

*в редакторе формы в таблице реквизитов

Программно с этим свойством работа выглядит не так просто. Но у тебя-то реквизиты на форме интерктивно уже добавлены, полагаю

надо же научиться и с реквизитами формы работать)

да реквизиты добавлены, у формы ставила АвтоматическоеСохранениеДанныхВНастройках = Использовать, посетила этот реквизит Сохранить, но тогда у меня почему то сохраняется одно значение реквизита у всех форм…почему непонятно.

Так и должно. 1 форма — 1 значение

но в другом документе у этого же реквизита тоже самое значение

Идентификаторы у форм одинаковые?

Ну, как ты вызываешь форму? Кодом?

на ЭТОЙ ЖЕ форме, потому и одинаковые. Тебе нужен реквизит объекта

это основная форма документа

Ты хочешь, чтобы у разных документов были разные сохранённые реквизиты формы?

разные значения одного реквизита

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:
  • Не устраивает управляющая компания что делать
  • Неболит на ленинском проспекте 66 часы работы
  • Невская оптика кронштадт флотская часы работы
  • Невский барахолка в новосибирске время работы
  • Недопустимые бизнес модели фейсбук что делать