1с сохранитьзначение где хранится

Обновлено: 06.07.2024

Хранение данных в полях типа ХранилищеЗначения

В 1С:Предприятии 8 существует возможность хранения различных данных в полях типа ХранилищеЗначения . В этих полях могут храниться значения типа ХранилищеЗначения . Сам тип ХранилищеЗначения предназначен, прежде всего, для хранения значений различных типов в сериализованном виде, то есть в том виде, который позволяет записывать данные и потом восстанавливать их. В документации по встроенному языку в описании объектов возможность сериализации указывается отметкой "Сериализуется". Эти значения, а также значения примитивных типов, могут помещаться в хранилище значения и таким образом могут записываться в поля базы данных с типом ХранилищеЗначения . Важной особенностью хранилища значений является возможность хранения данных в сжатом виде. Это позволяет существенно сократить объем хранимой информации для больших объектов.

Таким образом, с помощью полей типа ХранилищеЗначения существует возможность хранения в базе данных существенно более широкого перечня типов данных, по сравнению с тем, который может быть в явном виде указан для полей. Однако следует учитывать, что такой способ хранения и возможности манипулирования такими данными существенно отличаются от обычного хранения данных в полях базы данных. Для таких полей система не поддерживает практически никакой функциональности, кроме собственно записи и чтения. Для таких полей не может использоваться индексирование, по ним нельзя упорядочивать данные в запросах и выборках, такие поля не могут суммироваться и т.д. Можно считать, что в этом случае механизм базы данных хранит некоторую информацию, ничего не зная о ее природе.

Соответственно поля типа ХранилищеЗначения следует использовать только в тех случаях, когда это соответствует их назначению и технологическим особенностям.

Одним из основных применений полей типа ХранилищеЗначения является хранение изображений и образов файлов. Для этого используются типа Картинка и ДвоичныеДанные . Это позволяет сохранять в базе данных фотографии сотрудников, документы созданные в различных форматах и т.д. При реализации хранения такой информации можно рекомендовать создавать структуры данных, которые обеспечат отдельное хранение этих полей от основной информации. Например, для хранения фотографий сотрудников можно реализовать отдельный справочник или регистр сведений, а не помещать поля типа ХранилищеЗначения в сами объекты, хранящие список физических лиц. Следует учитывать, что объекты (например, элементы справочника) считываются системой всегда целиком. Поэтому хранение больших объемов информации непосредственно в полях объектов может существенно замедлить работу системы.

В полях типа ХранилищеЗначения допускается, например, хранение таблиц значений и структур. При этом в таблицах значений и структурах могут храниться любые типы данных, в том числе и ссылочные типы. Заметим, что в ХранилищеЗначения коллекция может быть помещена, если в ней содержатся только сериализуемые значения. Однако следует учитывать, что этот вариант хранения данных существенно отличается, от явного хранения значений в отдельных полях и от хранения информации в табличных частях или регистрах сведений. Система не будет поддерживать для таких полей ссылочную целостность, не будет обеспечивать поиск данных в запросах и т.д. Таким образом, хранение коллекций в таких полях нельзя применять для реализации существенных частей прикладного решения отвечающих за бизнес логику. Такое хранение может допускаться только для вспомогательных данных, не имеющих существенного значения для бизнес-логики прикладного решения, например, для хранения каких-либо настроек работы пользователей.

Хотя в системе не существует явного ограничения на размер данных, хранящихся в полях типа ХранилищеЗначения , следует все-таки осмотрительно относиться к объемам хранимой информации. Следует учитывать, что помещение больших объемов в такие поля увеличивает общий объем информационной базы, и это будет негативно сказываться на работе системы при выполнении различных административных операций, таких как создание резервной копии базы данных. Например, при хранении образов файлов, можно рекомендовать хранить в таких полях данные, действительно необходимые в работе, но не использовать их для хранения больших объемов файлов, не используемых в решаемой прикладной задаче.

Есть одна база 8.2 файловая, в которой СохранитьЗначение() и ВосстановитьЗначение() работают так:
- в течение сеанса все работает нормально.
- а после перезапуска 1С Восстановить выдает одну и туже величину.

Просмотрел статьи по этому вопросу, но уверенного ответа не нашел.


Второй вопрос сродни первому. Где сохраняются положения окон? Одна база никак не хочет главное окно запускать распахнутым. Запуск через 1CStart.exe. Режим - толстый клиент. Файлы в папке пользователя (т.е.кэш) удалял.

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь


Где сохраняются Properties?
Не могу понять. Почему свойства в Properties сохраняются не в папке программы а фиг пойми где и.


Где сохраняются настройки принтера?
например 300 линий для HP Laser Jet 5

Где в XP сохраняются настройки эквалайзера?
Здравствуйте, подскажите, пожалуйста, где хранятся предзаготовки и самодельные файлы настроек.

Где сохраняются пароли интернет подключения?
Где сохраняется парол интернет подключение? Добавлено через 2 часа 21 минуту Я забыл его и хочу.

По вопросу 1 - у вас в форме установлен флаг около реквизита в "Сохраняемых значениях"? Одна и таже величина. нет ли в коде принудительной установки значения реквизита? Может он восстанавливается, а потом принудительно заменяется?
По вопросу 2 - если у вас Винда 7, то кэш там в 2 каталогах хранится - Локал и Роуминг.

По вопросу 1 - у вас в форме установлен флаг около реквизита в "Сохраняемых значениях"? Одна и таже величина..

Насчет затирания: неплохая версия. Однако нет похожего реквизита. У меня сохраняется не реквизит, а переменная. Что-то вроде:
СохранитьЗначение("ЖурналПолный"+ ИмяЗакладки);

Вот хочется для чистоты эксперимента все очистить.

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

А у вас по коду нигде совпадений с именем переменной нет? В смысле строковый идентификатор не встречается еще где-нибудь.

Для изучения вопроса написал небольшой отчет:

Код ( (Unknown Language)):
Перем ИмяФормы;

ИмяФормы = "Полный";
Кроме запуска отчетика, в 1С ничего не делал.

Результат испытания таков:
- в течение одного сеанса корректно сохраняется и восстанавливается при следующем открытии отчета.
- при следующем запуске 1С, ВосстановитьЗначение() выдает одно и то же запомненное когда-то, не в последнем сеансе.

Правда проблема стоит несколько шире. Программа не запоминает:
- размер главного окна, открывается не распахнутым, всегда одного размера
- список последних файлов в меню Файл.
- в Журналах, установка интервала с галочкой "Использовать при открытии".

Сравнивая базы (все файловые):
- на моем сервере так заклинило на всех базах, правда все они копии от одной исходной.
- не зависит от сессии (Пользователя) сервера
- не зависит от Пользователя 1С. У каждого запомнились свои установки.
- не зависит от компьютера.

Пробовал:
- очищал "c:\Documents and Settings\пользователь\Application Data\1C"
- заново прописывать базу в меню запуска.
- тестирование ИБ

Прихожу к Выводу: вся эта хрень лежит в самой базе. Пока базы была не старая, этого не наблюдалось.
Теперь я эту базу очищаю от данных и ставлю клиентам, перенося и этот "запор".
Кто ковырялся в базе, что там есть?

Есть одна внешняя обработка. Которая имеет несколько реквизитов (тип СписокЗначений) и табличную часть.
Табличная часть формируется динамически, в зависимости от количества значений в реквизитах (на подобии типового документа УстановкаЦенНоменклатуры). В ходе работы таблица заполняется.

Задача: как реализовать сохранение табличной части и значений реквизитов с возможностью продолжения работы после выключения внешней обработки (и даже 1с)?

П.С. не в txt же записывать и читать потом)

1с 8.2 - не управляемые формы

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Заголовок команды "Заполнить" во внешней обработке заполнения табличной части УФ 1C ERP 2.4
Всем доброго времени суток! Подскажите куда копать. Создала внешнюю обработку по заполнению.

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

Автозаполнение реквизитов табличной части
У меня есть справочник Вакансия. В нем реквизиты Образование,специальность,оклад,опыт.

В синтаксис помощнике написано как пользоваться

Добавлено через 1 минуту
Либо сохранять в базу

Спасибо, попробую. Если все будет ок, то хорошо.

А если не ок то буду создавать новый регистр сведений

Там проблема не с реквизитами, а с табличной частью документа. Количество колонок динамическое. Причем есть два списка от значений которых формируются колонки.
Мне важны табличные данные. Что бы засунуть мою таблицу в регистр, нужно помучится с алгоритмом, но задача решаемая Пытаюсь решить ту же проблему. Пробовал и ХранилищеНастроек и СохранитьЗначение Восстановить значение. Создал табличную часть форму из конструктора по ней создал. Создашь на этой форме строку табличной части. Сохраняешь - ошибок при сохранении нет. Но когда восстанавливаешь всегда получаешь Неопределено. решить проблему удалось только с помощью ЧтениеXML, ЗаписьXML по записи по полю создавать строку/парсить и сохранять xml-строку.

Автозаполнение реквизитов табличной части
У меня есть справочник Кинозалы. В нем реквизиты Наименование и стоимость. Есть документ Продажа.

Автозаполнение реквизитов табличной части
Создал табличную часть документа с реквизитами Наименование (СправочникСсылка.Номенклатура) и Цена.

Как обратиться к табличной части документа из процедуры "ПриЗаписи"
Здравствуйте! Создается новый документ. В его модуле, в процедуре "ПриЗаписи", необходимо.


Очистка табличной части документа "Платежное поручение входящее"
Всем доброго времени суток! Появилась необходимость в заполнении табличной части документа.

Как сохранить Значения элементов при закрытии формы и восстановить их при открытии формы?

Это можно сделать через СохранитьЗначения(), ВосстановитьЗначение():
Код 1C v 8.х

Но у этого способа, одно НО - Сохраненые значения будут доступны только на там компьютере, на котором их сохранили!

А чтобы эти значения были доступны с любого компьютера, их нужно хранить в базе, например в константах с типом Хранилище значения:
Перебирая все элементы формы, выбрать только поля ввода и записать их значения в структуру.
Потом структуры записываем в константу:
Код 1C v 8.х

Как сохранять и восстанавливать значения реквизитов на форме?

Разместил: E_Migachev  Версии: | 8.x | 8.2 УП |  Дата: 06.07.2010   Прочитано: 29276

Распечатать

Похожие FAQ

Как заполнить табличную часть формы программно?  6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 10060 (0x0000274C): Попытка установить соединение была безуспешной  18
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools  50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe  1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Посмотреть все результаты поиска похожих

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

Как обновить динамический список или реквизит на форме клиента?  19
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Как установить параметр динамического списка?  14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Список НЕ модальных методов в 1С  4
Найдено в интернете но говорят что с диска ИТС. Табличная часть

Читайте также: