Сохранить созданные реквизиты

Сохранить значения программно добавленного реквизита

Я
   myr4ik07

18.07.17 — 11:27

Упр. формы. ТЧ. Программно добавленный реквизит + программно выведен на форму, значение введенные в программно добавленный реквизит не сохраняется, как сохранять значения?

   1dvd

1 — 18.07.17 — 11:28

(0) куда надо сохранить?

   butterbean

2 — 18.07.17 — 11:29

сохраняй программно, потом программно восстанавливай

   Мыш

3 — 18.07.17 — 11:30

(0) А у объекта есть такой реквизит? Или это только реквизит формы?

   h-sp

4 — 18.07.17 — 11:34

(0) в свойствах формы поставь галку «сохранять значения» или что-то похожее

   1dvd

5 — 18.07.17 — 11:35

надеюсь, «07» в его нике — это не год рождения…

   myr4ik07

6 — 18.07.17 — 11:38

(3) при создании на сервере процедуре постоянно создается программно реквизит табличной части и элемент формы связанный с реквизитом

   myr4ik07

7 — 18.07.17 — 11:38

(5) надеюсь ты не дибил

   myr4ik07

8 — 18.07.17 — 11:39

(5) свои никчемыне мысли оставляем в своей никчемной башке

   Paracoccidioidomicos

9 — 18.07.17 — 11:40

сколько ошибок ;[

   1dvd

10 — 18.07.17 — 11:40

(8) спокойно, не нервничай.

На вопросы когда отвечать начнёшь?

   Имитация работы

11 — 18.07.17 — 11:41

(7) О, Володимерыч! Державность по прежнему так и прет! Как там тебе на запрещенном софте работается?

   Мыш

12 — 18.07.17 — 11:41

(6) У самого объекта есть такой реквизит? Не у формы.

   myr4ik07

13 — 18.07.17 — 11:42

(1) на сколько я понимаю, так как постоянно создается программно реквизит то он не сохраняется так как обычный реквзит?!

   h-sp

14 — 18.07.17 — 11:42

(5) это количество банов

   myr4ik07

15 — 18.07.17 — 11:42

(12) у объекта, да, есть, только он программно каждый раз создается при СозданииНаСервере()

   myr4ik07

16 — 18.07.17 — 11:43

(11) он не запрещенный, оторвись от НТВ

   1dvd

17 — 18.07.17 — 11:44

Что за объект? Внешняя обработка? Справочник? Документ? Где собираешься хранить это значение?

   myr4ik07

18 — 18.07.17 — 11:44

(10) сохранять можно в реквизите формы, да, я имею ввиду кроме какого то регистра

   myr4ik07

19 — 18.07.17 — 11:45

(17) Документ. Табличная часть, Вот добавляю колонку к ТЧ программно, что бы чувак ввел данные и они сохранились, а потом без требла мог эти данные при открытии чувак увидеть

   1dvd

20 — 18.07.17 — 11:46

(19) ну, так, добавь реквизит в табличную часть. Зачем ты всё это делаешь программно?

   myr4ik07

21 — 18.07.17 — 11:47

(20) обновлять эту заразу еще прийдеться, не хочу мучаться

   Рэйв

22 — 18.07.17 — 11:47

(0)Элементы формы не сохраняются при ее закрытии.

   catena

23 — 18.07.17 — 11:48

(21)Программно создаешь реквизит объекта из 1с? У вас какая-то альтернативная 1с.

   myr4ik07

24 — 18.07.17 — 11:48

(22) т.е., данные есть в этом реквизите? Их вытянуть просто надо?

   1dvd

25 — 18.07.17 — 11:48

(21) форма не существует, пока её не открыли. Данные надо где-то хранить. Если не хочется изменять структуру документа, то создай новый регистр сведений

   myr4ik07

26 — 18.07.17 — 11:49

(23) да шо це таке, возьми почитай правила типовой доработки, вашими же красавцами эти правила написаны, вот и придерживаюсь

   h-sp

27 — 18.07.17 — 11:49

(21) наоборот же, если добавить реквизит в документ, то с обновлением никаких проблем, а если вот такой дебилизм с программным добавлением — это тебе обеспечен геморрой с обновлениями на долгие годы.

   Рэйв

28 — 18.07.17 — 11:50

(24) ты создаешь просто визаулизированное поле для ввода временной инфы. Инфа живет пока живет форма.в базе храниться могут только реквизиты объекта, которые прописаны в конфигураторе

   myr4ik07

29 — 18.07.17 — 11:50

(25) о регистре, понимаю, знаю, думал может я что то упустил и не правильно создаю реквизит программно

   catena

30 — 18.07.17 — 11:50

(26)И про создание реквизитов объектов? Расскажи мне, как ты в своей голове представляешь хранение данный в физически отсутствующем в базе поле?

   myr4ik07

31 — 18.07.17 — 11:51

(28) ясно, спасибо, вопрос снят

   Имитация работы

32 — 18.07.17 — 11:51

(26) Те ж говорят — не для вас софт. Симметричные санкции и все такое.

   myr4ik07

33 — 18.07.17 — 11:51

(30) вот коришь (28) подсказал, раньше не очень доганял, теперь дошло, вопрос снят

   МимохожийОднако

34 — 18.07.17 — 11:52

(20) ОФФ: Этим вопросом ты его убил.

  

myr4ik07

35 — 18.07.17 — 11:52

(32) хватит тут выхлоп свой пускать не по делу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 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);
Настройки.Вставить("Склад", Объект.Склад);
Настройки.Вставить("Организация", Объект.Организация);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие FAQ

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

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

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

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

В этой статье разберем, как работать с сохранением данных на форме в 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 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии