Как сохранить значения поля со списком? v7.7
01.06.2010
13:56
#32
Здравствуйте...у меня та же задача - на форме заполняется подбором список контрагентов. нужно, чтобы при закрытии он сохранялся, а при открытии восстанавливался. я сохраняю значит в строку, но процедура ПриОткрытии() не работает, пишет ошибку: Попытка присвоить значение недоступной для записи переменной! Подскажите, пожалуйста, что делать - галочка о недоступности списка не стоит
01.06.2010
13:58
#33
"В процедуре ПриОткрытии() пишу Контрагенты=ВосстановитьЗначение(ЗначениеИзСтрокиВнутр("Строка"));"
01.06.2010
14:12
#34
"> В процедуре ПриОткрытии() пишу Контрагенты=ВосстановитьЗначение(ЗначениеИзСтрокиВнутр("Строка"));
Кажется тут что-то напутано, может стоит написать:
Контрагенты=ЗначениеИзСтрокиВнутр(ВосстановитьЗначение("Строка"));"
Кажется тут что-то напутано, может стоит написать:
Контрагенты=ЗначениеИзСтрокиВнутр(ВосстановитьЗначение("Строка"));"
01.06.2010
15:04
#36
"И какой же результат имеет выражение: ЗначениеИзСтрокиВнутр("Строка")?
Строка:
Сообщить(""""+ЗначениеИзСтрокиВнутр ("Строка")+"""");
выдает результат:
""""
И дальше ваше ВосстановитьЗначение ("""") интересно что вернет?"
Строка:
Сообщить(""""+ЗначениеИзСтрокиВнутр ("Строка")+"""");
выдает результат:
""""
И дальше ваше ВосстановитьЗначение ("""") интересно что вернет?"
01.06.2010
16:12
#37
У меня строка не пустая там уже есть значение, сохраненное при закрытии форма, а выше приведено восстановление значения списка из строки
01.06.2010
21:01
#38
"Процедура Сформировать()
СохранитьЗначение("Тест",СписокНужных);
КонецПроцедуры
Процедура ПриОткрытии()
тмп=ВосстановитьЗначение("Тест");
Если ТипЗначенияСтр(тмп)="СписокЗначений" Тогда
тмп.Выгрузить(СписокНужных);
КонецЕсли;
КонецПроцедуры
P.S. Кстати, это плохой метод. СохранитьЗначение() закидывает все в файл 1Cv7.CFG и он в конечном итоге раздувается до неудобоваримых размеров и поскольку он не индексированный, то любые операции с СохранитьЗначение() и ВосстановитьЗначение() становятся очень продолжительными по времени. Я в конечном итоге стал делать вспомогательные dbf-ы в каталоге пользователя. Вот представьте, что ваш список из 1000 элементов, это ж сколько времени надо, чтобы его восстановить, а если в этом же файле еще множество таких же сохраненок из разных форм? Пока система его распарсит, можно 2 раза чай попить. Реальный пример - при достижении файлом размера в 5Мб в комплексной 7.7 пользователи серьезно нервничают."
СохранитьЗначение("Тест",СписокНужных);
КонецПроцедуры
Процедура ПриОткрытии()
тмп=ВосстановитьЗначение("Тест");
Если ТипЗначенияСтр(тмп)="СписокЗначений" Тогда
тмп.Выгрузить(СписокНужных);
КонецЕсли;
КонецПроцедуры
P.S. Кстати, это плохой метод. СохранитьЗначение() закидывает все в файл 1Cv7.CFG и он в конечном итоге раздувается до неудобоваримых размеров и поскольку он не индексированный, то любые операции с СохранитьЗначение() и ВосстановитьЗначение() становятся очень продолжительными по времени. Я в конечном итоге стал делать вспомогательные dbf-ы в каталоге пользователя. Вот представьте, что ваш список из 1000 элементов, это ж сколько времени надо, чтобы его восстановить, а если в этом же файле еще множество таких же сохраненок из разных форм? Пока система его распарсит, можно 2 раза чай попить. Реальный пример - при достижении файлом размера в 5Мб в комплексной 7.7 пользователи серьезно нервничают."
Читают тему
(гостей: 1)