Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 апр 2024, 00:01

Сохранение настроек СпискаЗначений

Автор Аня Гельштейн, 14 авг 2018, 12:14

0 Пользователей и 1 гость просматривают эту тему.

Аня Гельштейн

Есть список значений(ВыбТовары) в отчете, который заполняется, чтобы сделать прайс. Проблема в том, чтоб при следующем открытии хочется , чтоб то , что мы выбрали восстанавливалось
рис.1(пример заполнения)<img src="https://image.ibb.co/bQVuvp/Screenshot_1.png" alt="Screenshot 1" border="0" />

Делаю процедуру ПриОткрытии() и ПриЗакрытии(). Вроде бы всё работает. Закрыл - записалось. Открыл-восстановилось. Но, если закрыть и открыть еще раз , то показывает вместо текста цифры
рис.2(после второго открытия)<img src="https://image.ibb.co/kr1Rap/Screenshot_1_2.png" alt="Screenshot_1_2" border="0">

Сами процедуры:

Процедура ПриЗакрытии()
ВыбТовары1 = СоздатьОбъект("СписокЗначений");
Для к=1 По ВыбТовары.РазмерСписка() Цикл
ВыбТовары1.ДобавитьЗначение(ВыбТовары.ПолучитьЗначение(к));
КонецЦикла;
// Преобразуем элементы списка в строку
СписокТоваров = ВыбТовары1.ВСтрокуСРазделителями();
СохранитьЗначение("СписокТоваров",СписокТоваров);
КонецПроцедуры


Процедура ПриОткрытии()

//Восстановим строку с разделителями
СписокТоваров = ВосстановитьЗначение("СписокТоваров");
ВыбТовары1 = СоздатьОбъект("СписокЗначений");

// Проверяем сохранился ли список с предыдущего раза
Если ПустоеЗначение(СписокТоваров) = 0 Тогда
// Восстанавливаем из строки элементы списка
ВыбТовары1.ИзСтрокиСРазделителями(СписокТоваров);
// Проходим каждый элемент реквизита СписокДокументов и выставляем пометки
Для к=1 По ВыбТовары1.РазмерСписка() Цикл
ВыбТовары.ДобавитьЗначение(к,ВыбТовары1.ПолучитьЗначение(к));
КонецЦикла;

КонецЕсли;
КонецПроцедуры



Аня Гельштейн


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск