Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сохранить СписокЗначений после закрытия внешнего отчета  (Прочитано 6204 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« : 29-06-2010 07:00 » 

Имеется Поле списка.
Необходимо сохранить этот список.
При последующем открытии внешнего отчета поле списка должно быть заполнено сохраненным.
Записан
Gunslinger
Постоялец

ru
Offline Offline

« Ответ #1 : 29-06-2010 07:34 » 

Не уверен, стоит ли лезть - квалификация модераторов форума все ж повыше моей(на 2 порядка). Я поднимал похожий вопрос - решилось при помощи
ЗначениеВФайл()
ЗначениеИзФайла().
В моей теме и куски кода есть.
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 29-06-2010 07:45 » 

Буду рад любому варианту.
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 29-06-2010 08:11 » 

Спасибо получилось!
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 15-07-2010 09:46 » 

А как можно сохранить СписокЗначений не во внешний файл, а в какое-нибудь другое хранилище данных внутри Конфигурации
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 15-07-2010 10:50 » 

Разобрался!
СОхранитьЗначение(имя, значение);

Переменная = ВосстановитьЗначение(имя);
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 15-07-2010 11:56 » 

Почитай про особенности СохранитьЗначение():
http://forum.shelek.ru/index.php/topic,24127.msg233682.html#msg233682
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 16-07-2010 10:02 » 

Спасибо. Вот точно так и произошло. Программа зависла - СписокЗначений пуст.

Если использовать ЗначениеВФайл, то после переоткрытия программы и  отчета из файла считывается такое же кол-во элементов списка, что и до переоткрытия, причем все NULL (В поле списка пишет "< Пустое значение >"). В чем может быть причина?
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 18-07-2010 09:23 » 

Помести сюда свой код...
Записан
Sulik
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 18-07-2010 20:39 » 

Код:
Процедура КнопкаСформироватьНажатие(Кнопка)
// Вставить содержимое обработчика.
КонецПроцедуры

Процедура ВыборКонтрагента(Кнопка)
ФормаПодбора = Справочники.Контрагенты.ПолучитьФормуВыбора(,ЭтаФорма,"Отчета");
ФормаПодбора.МножественныйВыбор = Истина;
ФормаПодбора.ЗакрыватьПриВыборе = Ложь;
ФормаПодбора.Открыть();
КонецПроцедуры

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
МассивВыбранныхЭлементов = Новый Массив;
Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.Контрагенты") Тогда
МассивВыбранныхЭлементов.Добавить(ЗначениеВыбора);
ИначеЕсли ТипЗнч(ЗначениеВыбора) = Тип("Массив") Тогда
МассивВыбранныхЭлементов = ЗначениеВыбора;
КонецЕсли;
   
Для каждого Элемент Из МассивВыбранныхЭлементов Цикл
ВыбСписок.Добавить(Элемент);
КонецЦикла;
КонецПроцедуры

Процедура ОчиститьСписокКонтрагентов(Элемент)

ВыбСписок.Очистить();
КонецПроцедуры

Процедура ВзятьЗначенияИзФайла(Отказ, СтандартнаяОбработка)
Попытка
  ВыбСписок = ЗначениеИзФайла("1.sel");
Исключение
КонецПопытки
КонецПроцедуры

Процедура СохранитьСписок(Отказ, СтандартнаяОбработка)
ЗначениеВФайл("1.sel",Выбсписок);
КонецПроцедуры

Процедура УдалитьОдного(Кнопка)
ВыбСписок.Удалить(ЭлементыФормы.ВыбСписок.ТекущаяСтрока);
КонецПроцедуры
Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 22-07-2010 08:43 » 

На первый взгляд все правильно
1. Попробуй указать путь к файлу (может у тебя текущий путь отличается при записи и чтении?)
2. Прилепи сюда сохраненный файл.
Я надеюсь ты запись и открытие делаешь в одной и той же базе?
Можно еще попробовать через промежуточный массив сделать:
Код:
ЗначениеВФайл("1.sel",Выбсписок.Выгрузить());
ВыбСписок.Загрузить(ЗначениеИзФайла("1.sel"));
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines