• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

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

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Так Где-же Сохраняются Значения?

  • Автор темы Дайнеко
  • Дата начала
Д

Дайнеко

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

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


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

Darlock

Приветствую

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

Дайнеко

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

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

Darlock

Описание:

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

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

Дайнеко

Для изучения вопроса написал небольшой отчет:
Код:
Перем ИмяФормы;

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ЭтотОбъект.Журнал = ВосстановитьЗначение(ИмяФормы+"Страница");
КонецПроцедуры

Процедура КнопкаСформироватьНажатие(Кнопка)
СохранитьЗначение(ИмяФормы+"Страница",	ЭтотОбъект.Журнал);
КонецПроцедуры

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

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

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

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

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

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

Darlock

У меня была похожая проблема... Вы терминально работаете? или это на локальной машине?

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

Дайнеко

У меня была похожая проблема... Вы терминально работаете? или это на локальной машине?
Проблема одинакова, что в терминале, что в консоли.
Зависимость от профиля, наводит на мысль, что данные среды хранятся в Реестре.
Однако не нашел в нем ни одной похожей ветки.
 
D

Darlock

Не совсем в реестре.
"Выяснилось, что это проблема на стороне сервера, он создавал временный профиль при каждом соединении с сервером в пределах 1 суток. Через 24 часа, профиль уничтожался и создавался заново. "

с мисты:
В каталоге %userprofile%\Application Data\1C\1Cv82.
Но там не только эти значения, там настройки видимости колонок в списках и т.п.

инфостарт:
Сохраненные значения хранятся в Таблице Files в одном из файлов с расширением *.pfl
у меня например в файле 071523a4-516f-4fce-ba4b-0d11ab7a1893.pfl
в виде пары
{"параметр1",
{"S","{""#"",ab7b8a1a-3904-40cf-af23-cec618093ad6,7:00000000000000000000000000000000}"},""},
1 строчка - имя сохраненного значения
2 строчка - само значение

работа с ними напрямую сопряжена с определенным риском
 
Д

Дайнеко

Смотрел свои. Пока только увидел:
- история Фай/Открыть
- история поиска
- точки останова

а программно сохраняемых не нашел
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!