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

не запоминает информацию при закрытии формы !

Я
   Dorian

13.12.07 — 12:27

на форма обработки поле ввода многострочной строки и кнопка «закрыть»

пользователь вводит текст, закрывает обработку.

При закрытии тект из поля ввода возвращается в форму, из которой эта обработка была окрыта.

НО!

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

как этот момент отловить, не подскажете?

Спасибо.

  

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

   Ork

1 — 13.12.07 — 12:28

ПриЗакрытии()

   nop

2 — 13.12.07 — 12:29

Код ПриОткрытии() ПриЗакрытии() в студию

   ZOMI

3 — 13.12.07 — 12:31

ПриЗакрытии()

   Dorian

4 — 13.12.07 — 12:32

//Комментарий — реквизит формы. поле ввода типа «Строка» (многостроч.).

Процедура ПриЗакрытии()  

Форма.Параметр.Установить(«КомментарийДок»,Комментарий);

КонецПроцедуры//ПриЗакрытии()

   Dorian

5 — 13.12.07 — 12:34

так вот, если идет ввод строки а потом нажата кнопка X при этом не нажимаем Enter после ввода строки и не убираем фокус ввода из поля ввода, тогда в ПриЗакрытии зачение Коментарий равно «».

   DF_Slayer

6 — 13.12.07 — 12:34

(4) И че в отладчике?

   Dorian

7 — 13.12.07 — 12:37

в отладчике

Комментарий = «»

   DF_Slayer

8 — 13.12.07 — 12:48

Значит где-то ранее становится Коменнтарий = «»

   Ёпрст2

9 — 13.12.07 — 12:52

(5) Так и должно быть, ввод же еще не завершен …

   Dorian

10 — 13.12.07 — 12:58

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

в этом как раз и вопрос, как обработать этот момент?

   DF_Slayer

11 — 13.12.07 — 13:01

Что я делаю не так? Ввожу текст и сразу на крестик — п ПриЗакрытии() значение заполнено, все в порядке.

   Ёпрст2

12 — 13.12.07 — 13:01

(10) Никак … так во всех формах, попробуй числовой/текстовый реквизит диалога запонить и сменить заккладку к примеру, не нажимая ентер … нет подтверждения ввода — нет и заполненного реквизита …

   ZOMI

13 — 13.12.07 — 13:10

(12) Да ну ?

(11)а в формуле реквизита ничего не висит???

   Ёпрст2

14 — 13.12.07 — 13:11

(13) Железобетонно ..

   Ёпрст2

15 — 13.12.07 — 13:12

+14 более того, если это реквизит документа/справочника, то значение будет старым соответственно …

   ZOMI

16 — 13.12.07 — 13:14

(14) тип ТиС(Реализация)   ввожу комментарий — без интера сменяю закладку — закрываюсь —в отладчике — значение введенное есть !

   DF_Slayer

17 — 13.12.07 — 13:15

(15) Так ведь про обработку речь…

   ZOMI

18 — 13.12.07 — 13:16

(17) форма она и в обработке форма

   ZOMI

19 — 13.12.07 — 13:18

(11) без ентера и фокус остался —  у меня тоже всё в поряде

   DF_Slayer

20 — 13.12.07 — 13:19

(18) Я про то что реквизит дока/спр не запишется, а останется прежним, а в обработке это не грозит.

   FreeFin

21 — 13.12.07 — 13:20

(19) Со всем уважением…но Ёпрст чегототут прогнал))). Сохраняет оно. и строку и число и выбранную сцылку и при тыке на закладку и на смену поля ввода без ентера.

   Ёпрст2

22 — 13.12.07 — 13:22

Ну тупые …©Задорнов

Не надо жать Enter … и значение реквизита не сохранится … нигде!

   Ёпрст2

23 — 13.12.07 — 13:29

+22 Да, забыл самое главное — при открытии модальной формы, как у автора :)))

   FreeFin

24 — 13.12.07 — 13:30

(22) …(тихонечко так), а я энтер и не жму, а оно серавно чего-то сохраняется?

тайна какая-то…

   FreeFin

25 — 13.12.07 — 13:31

(23) Тьфу на тебя ))) модально )))

тады да.

   Dorian

26 — 13.12.07 — 13:43

Один момент забыл уточнить обработка вызыватся модально

http://ifolder.ru/4542060 — тут две обработки. кладете их в Extforms и пускаете Обработка Index. вводите в поле текст и жми те X ПриЗакрытии вам сообщится что вы введете :)

   Dorian

27 — 13.12.07 — 13:45

+ 25 «да» оно конечно «да», но делать то что?

   Ёпрст2

28 — 13.12.07 — 13:48

(27) Проверку в ПриЗакрытии и СтатусВозврата(0) , если ентер не нажали … и большую кнопку ОК на всю форму прилепи :))

   Dorian

29 — 13.12.07 — 13:50

+28 тогда обнуляет поле ввода

   ildus

30 — 13.12.07 — 14:03

(0) выруби крестик

   ildus

31 — 13.12.07 — 14:04

а вообще-то в 1С вроде есть функция ВвестиЗначение()

   Dorian

32 — 13.12.07 — 14:09

+30 с удовольствие а как?

   Dorian

33 — 13.12.07 — 14:11

+31 функция есть, только как я с ее помощью введу многострочную строку?

   ildus

34 — 13.12.07 — 14:12

(32) программно:
[1C]
Процедура ПриЗакрытии()
   Если НажатаКНЗаркыть<>1 тогда
       СтатусВозврата(0);
   Иначе
       Форма.Параметр.Установить(«КомментарийДок»,Комментарий);
   КонецЕсли
КонецПроцедуры;

Процедура ПоКнопкеЗакрыть()
   НажатаКнЗакрыть = 1;
   Форма.Закрыть();
КонецПроцедуры

   Ёпрст2

35 — 13.12.07 — 14:13

(34) Не спасёт, реквизит обнулится …

   Torquader

36 — 13.12.07 — 14:18

Что-то где-то говорилось про использование функции Шаблон и получения значения непосредственно введённого в поле.

Также можно сделать на форме другой реквизит, который можно активизировать из процедуры при закрытии, тогда активный элемент изменится, и значение введётся.

   Dorian

37 — 13.12.07 — 14:21

+36 при смене фокуса реквизит обнуляется

   ildus

38 — 13.12.07 — 14:22

Форма.ОбработкаОжидания() ?

   Ёпрст2

39 — 13.12.07 — 14:22

(36) Значение обнулится при программном активизировании другово реквизита в приЗакрытии …

   Downkey

40 — 13.12.07 — 14:26

(37) а нельзя ли при смене фокуса имитировать нажатие ИНтера??

  

Dorian

41 — 13.12.07 — 14:41

+ 40 интересно как?

1 / 4 / 1

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

Сообщений: 385

1

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

13.08.2017, 15:51. Показов 12706. Ответов 4


Здравствуйте. Такое дело. На форме разместил реквизит: «Операция» со ссылкой на перечисления. В пользовательском режиме заполняю этот реквизит, а после проводки данных нет в документе. Почему такое происходит?



0



Эксперт 1С

3051 / 1998 / 524

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

Сообщений: 6,964

13.08.2017, 16:01

2

xxx_73, сделайте Операцию реквизитом документа, а не формы документы.



0



1 / 4 / 1

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

Сообщений: 385

13.08.2017, 16:22

 [ТС]

3

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

xxx_73, сделайте Операцию реквизитом документа, а не формы документы.

Так у меня и так реквизит «операция» есть. Просто тогда ее на форме нет.

Миниатюры

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



0



Эксперт 1С

3051 / 1998 / 524

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

Сообщений: 6,964

13.08.2017, 16:28

4

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

Решение

xxx_73, так зачем вы ещё и реквизит формы создали? Вынесите реквизит объекта на форму. Путь к данным должен быть не ‘Операция’, а ‘Объект.Операция’



0



1 / 4 / 1

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

Сообщений: 385

13.08.2017, 17:02

 [ТС]

5

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

xxx_73, так зачем вы ещё и реквизит формы создали? Вынесите реквизит объекта на форму. Путь к данным должен быть не ‘Операция’, а ‘Объект.Операция’

Вот блин, я же думал, что с объекта выношу, а на самом то деле.. Ну, новичок, что скажешь то.. Тыкаюсь уже третий день, а решили мою глупую ошибку за 3 сек. Спасибо что хоть есть вы, знающие люди и наши учителя=)



0



 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С 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие FAQ

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

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

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

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

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

А в базу-то твой сотрудник записывается? Чем докажешь?

Если это реквизит формы, а не объекта, он и не должен сохраняться

так это понятно. Реквизит на форме это реквизит документа. Сори не правильно написала

После записи, если запросом обратиться, реквизит заполнен?

Как вариант неподходящий тип значения в СЗ

В свойствах реквизита точно указан «элемент справочника»? А что помещается в твоем СЗ? не текст-ли?

так списки выбора и не сохраняются

есть другой вариант такого исполнения? или надо отдельно куда то записывать.

делай таб часть и туда записывай своих сотрудников

ТЫ чего-то путаешься в показаниях «Список появляется все нормально, могу выбрать он отображается в реквизите, но после проведения и записи, при повторном открытии документа, реквизит Сотрудник пусто» Это может быть если путь данных реквизита не Объект.Сотрудник. Если в СЗ для выбора значения не подходящего типа для поля объекта Сотрудник.

Реквизит на форме ссылается на реквизит документа?  Как вариант еще возможно что где-то очищается он. Пробегись отладчиком в ПередЗаписью, передЗаписьюНаСервере и в обработке проведения и посмотри, где этот реквизит перестает быть заполненным

Ты в список складываешь наименования, а надо .Ссылка. Поэтому и не летает твое ераплан.

кажется я не понимаю как туда ссылку записать :/

не юзай список выбора, сделай через ВыбратьИзСписка

ну и как он потом ссылки в список выбора элементу управления засунет?

он же уже запихнул Элементы.Сотрудник.СписокВыбора.ЗагрузитьЗначения(СЗ);

и там таки ссылки можно прописать!?

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

возможно, давно не работаю с ОФ

в УФ юзаются ДанныеВыбора, а не СписокВыбора

Ничто не мешает сделать так:

уточню у «Элементы.Сотрудник.СписокВыбора.ЗагрузитьЗначения» тип значения ожидается массив

У нее по женской логике:-) СЗ = Новый Массив;

при чем здесь женская логика?)

Ну в переменную СЗ (я так понимаю, это типа список значений) пихать массив, а не список значений)))

Тэги: 1С 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделить с друзьями:
  • 2348 ифнс россии по северскому району краснодарского края реквизиты
  • 2460 ифнс россии по железнодорожному району г красноярска реквизиты
  • 2465 ифнс россии по советскому району г красноярска реквизиты октмо
  • Черногорский городской суд республики хакасия реквизиты госпошлины
  • 250 тысяч на развитие малого бизнеса 2021 условия самарская область