1с управляемое приложение не сохраняются настройки формы
Сохранение параметров настроек пользователя между сеансами
1С:Предприятие поддерживает сохранение различных настроек пользователя между сеансами запуска 1С:Предприятия. К таким настройкам относятся, например, размеры и положение окон, настройки колонок табличных полей, настройки отчетов и т.д. Разработчик конфигурации также может выполнять сохранение средствами встроенного языка значений, являющихся, по своей сути, параметрами настройки пользователя.
Следует отметить, что к параметрам настройки пользователя относятся значения не являющиеся существенными для логики работы системы. Они предназначены для повышения удобства работы пользователей, но не для обеспечения решения самих задач прикладного решения. Соответственно эти значения не хранятся непосредственно в информационной базе. Они не сохраняются при создании резервной копии.
Параметры настройки сохраняются 1С:Предприятием по-разному в зависимости от назначения параметра. Например, параметры, связанные с экранными характеристиками компьютера, хранятся так, чтобы действовать только в пределах данного компьютера, а параметры связанные только с данными и не имеющими отношение к компьютеру хранятся таким образом, чтобы быть доступными при запуске пользователем системы с любого компьютера. Параметры, связанные с конфигурированием сохраняются независимо от информационной базы, так как считается, что разработчик может работать с несколькими информационными базами и несколькими конфигурациями. Параметры работы пользователя в режиме 1С:Предприятия сохраняются для конкретной информационной базы и конкретного пользователя.
Далее описывается расположение файлов, в которых сохраняются различные параметры настройки. Эта информация приводится только в качестве описания работы системы. Не следует осуществлять доступ к данным файлам какими-либо средствами. Механизм сохранения параметров настройки поддерживается системой автоматически и не управляется разработчиком или администратором.
Параметры работы пользователей, сохраняемые между сеансами, хранятся в следующих разрезах:
В этой статье разберем, как работать с сохранением данных на форме в 1С 8.3.
Сохраняемые данные формы 1С
У любой управляемой формы можно настроить сохранение данных реквизитов формы. Это значит, что форма сохранит данные введенные в поля, которые соответствуют реквизитам, при закрытии формы, а при последующем открытии формы информация в этих полях восстановятся автоматически.
Например, у меня на форме обработки имеются поля, данные в которых сохраняются при закрытии формы и восстанавливаются при последующем открытии.
Это поля Контрагент и Цена.
Для того, чтобы на управляемой форме данные из соответствующих реквизитов сохранялись, необходимо выполнить следующие действия.
Первое. У свойства формы «Автоматическое сохранение данных в настройках» установить значение «Использовать».
Второе. После того, как будет установлено значение в свойство, которое упоминали выше, у реквизитов формы появится колонка «Сохранение». Именно в этой колонке и нужно поставить флажки рядом с теми реквизитами, значения которых мы хотим сохранять при закрытии формы.
После этих действий, данные у отмеченных реквизитов будут сохраняться.
Хранилище настроек в 1С
Вышеприведенный способ позволяет сохранять последние данные, с которыми работали на форме. Но, могут возникнуть ситуации, когда нужно будет сохранять какую-то произвольную комбинацию значений реквизитов, а потом восстановить её. Если рассматривать ситуацию выше, то это может быть комбинация контрагента и цены: для одного контрагента одна цена, для другого другая и т.д.
Для того, чтобы такая возможность имелась, необходимо в свойстве «Хранилище данных настроек» управляемой формы установить значение «Использовать список».
А потом, у нужных реквизитов формы следует установить флаг у свойства «Сохраняемые данные».
После таких изменений, у формы в группе Ещё появятся команды «Сохранить параметры» и «Восстановить параметры».
Теперь мы можем сохранить любую комбинацию реквизитов Контрагент – Цена.
И можем восстановить нужную комбинацию в любой момент работы с формой, а не только при открытии.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
У управляемой формы реквизиты заведенные как реквизиты формы, при закрытии и открытии ее заново могут сохраняться и восстанавливаться, достаточно только поставить напротив галочку сохранять и в свойствах формы выбрать "АвтоматическоеСохранениеДанныхВНастройках" - Использовать.
Подробнее в этой статье Как сохранять и восстанавливать значения реквизитов на форме? и там же пример для обычных форм.
А что же делать с реквизитами, которые выступают в роли реквизитов объектов ?
у них такой настройки нет нет - напишем:
Открыв обработку и заполним поля закрываем ее, при следующем открытии все поля заполнены из сохраненных настроек:
Похожие FAQ
Как заполнить табличную часть формы программно? 6Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Посмотреть все результаты поиска похожих
Еще в этой же категории
Как обновить динамический список или реквизит на форме клиента? 19Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Как установить параметр динамического списка? 14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Список НЕ модальных методов в 1С 4
Найдено в интернете но говорят что с диска ИТС. Табличная часть
Хотел написать много красивых и умных слов, но вместо этого решил перейти сразу к делу. По пунктам и коротко:
1. Причина данного баяна: необходимость запомнить между вызовами обработки значения реквизитов объекта, а также дать пользователю возможность управлять составом запоминаемых реквизитов. Стандартные механизмы управляемых форм требуют во-первых дополнительного кода для редактирования состава, а во-вторых не сохраняют объекты сложных типов ако таблицы и деревья значений. Точнее сохраняют, но не во всех вариантах клиентов.
2. Подход к реализации: Сохранение всех данных в реквизите управляемой формы типа "Список значений". Это удобно тем, что во-первых используется стандартное хранилище и стандартный механизм сохранения, а во-вторых из-за того, что процедуры обработки сохранения и восстановления настроек серверные и мы минимизируем клиентское взаимодействие со сложными типами данных, поддерживаемых не всеми клиентами, и легко добиваемся мультиклиентности.
3. Реализация: Реализация способа сохранения состоит из сохраняемого реквизита управляемой формы типа СписокЗначений с именем "СохраняемыеСвойстваОбъекта" и двух процедур: 1) для Сохранения/Восстановления значений и 2) редактирования списка сохраняемых реквизитов. Указанные процедуры вызываются из обработок стандартных событий формы "ПриСохраненииДанныхВНастройкахНаСервере" и "ПриЗагрузкеДанныхИзНастроекНаСервере" (для Сохранения/Восстановления) и произвольнымобразом для регулирования списка настроек (я добавил команду для командной панели формы).
4. Конкретно инструкция:
а) Создаем для управляемой формы реквизит типа СписокЗначений с названием (в моем примере): "СохраняемыеСвойстваОбъекта".
б) Создаем кнопку с процедурой или команду для вызова процедуры "РедактироватьСписокСохраняемыхРеквизитов". В примере это команда формы "РедактироватьСохраняемыеРеквизиты". Размещаем кнопочку для вызова на форме или (как в примере) вызов команды из меню.
в) Инициируем стандартные обработчики событий формы "ПриСохраненииДанныхВНастройкахНаСервере" и "ПриЗагрузкеДанныхИзНастроекНаСервере"
г) После всего вышеизложенного в модуль формы добавляем 2 процедуры: "РедактироватьСписокСохраняемыхРеквизитов" и "ОбработатьСохраняемыеРеквизитыОбъекта" и настраиваем вызов процедуры " ОбработатьСохраняемыеРеквизитыОбъекта" из стандартных обработчиков, а процедуры "РедактироватьСписокСохраняемыхРеквизитов" из специальной команды/процедуры связанной с элементом управления или пунктом меню формы. В качестве аргумента СохраняемыйСписокРеквизитФормы передается название списка значений с сохраняемыми настройками (в примере это "СохраняемыеСвойстваОбъекта", в общем случае - как назовете реквизит формы, так и передаете при вызове)
д) собственно пример текста модуля с командами и процедурами:
Ну вот собственно и почти все. Осталось сказать несколько слов о некрасивой Попытке и о тестировании метода. Не случайно в текст метода была введена Попытка и не случайно стоит коммент о том, что она нужна только для web клиентов. По ходу тестов под разными клиентами я убедился в полной работоспособности метода для управляемых форм на толстых и тонкуих клиентах, а вот с web пришлось попотеть. Дело в том, что процедура перебирает все элементы формы для поиска данных, но шутка в том, что web клиент не отрисовывает все элементы формы с полным набором свойств в том числе и со свойством Имя. Такая вот фитча (или баг:) у меня наблюдалась в IE. Побеждать то, что обусловлено скорее даже не платформой, а способностями браузеров я не стал, хотя теоретически можно было бы разложить форму на винтики в серверной процедуре и передать web клиенту списком только нужные реквизиты. Это, конечно, избавило бы код от Попытки , но, думаю, не добавило бы в итоге ни простоты ни красоты. Так что я смирился, а Вы как хотите - используйте, дописывайте, переписывайте, критикуйте, ругайте, предлагайте что-то лучшее и т.д. В комментах. )
Читайте также: