Как оптимизировать сохранение данных на серверной форме?
☑
0
pro3ri
22.01.16
✎
13:36
Добрый день!
Есть обработка
&НаСервере
Процедура ПоискНаСервере()
Список = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска);
Список.ПерваяЧасть();
ВсегоНайдено = Список.ПолноеКоличество();
Если Список.СлишкомМногоРезультатов() Тогда
Сообщить("СлишкомМногоРезультатов! Усеки!");
Возврат;
КонецЕсли;
Для каждого Найдено Из Список Цикл
Строка = Результат.Добавить();
Строка.Значение = Строка(Найдено.Значение);
Строка.Объект = Найдено.Значение;
КонецЦикла;
Адрес = ПоместитьВоВременноеХранилище(Список,УникальныйИдентификатор);
ТекущийИнтервал = Строка(Список.НачальнаяПозиция()) +" - " + Строка(Список.НачальнаяПозиция()+список.Количество());
КонецПроцедуры
&НаКлиенте
Процедура Поиск(Команда)
ПоискНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВпередНаСервере()
Список = ПолучитьИзВременногоХранилища(Адрес);
Попытка
Список.СледующаяЧасть();
Исключение
Сообщить("Больше нет элементов!");
Возврат;
КонецПопытки;
Результат.Очистить();
Для каждого Найдено Из Список Цикл
Строка = Результат.Добавить();
Строка.Значение = Строка(Найдено.Значение);
Строка.Объект = Найдено.Значение;
КонецЦикла;
Адрес = ПоместитьВоВременноеХранилище(Список,УникальныйИдентификатор);
ТекущийИнтервал = Строка(Список.НачальнаяПозиция()) +" - " + Строка(Список.НачальнаяПозиция()+список.Количество());
КонецПроцедуры
&НаКлиенте
Процедура Вперед(Команда)
ВпередНаСервере();
КонецПроцедуры
&НаСервере
Процедура НазадНаСервере()
Список = ПолучитьИзВременногоХранилища(Адрес);
Попытка
Список.ПредыдущаяЧасть();
Исключение
Сообщить("Это начало!");
Возврат;
КонецПопытки;
Результат.Очистить();
Для каждого Найдено Из Список Цикл
Строка = Результат.Добавить();
Строка.Значение = Строка(Найдено.Значение);
Строка.Объект = Найдено.Значение;
КонецЦикла;
Адрес = ПоместитьВоВременноеХранилище(Список,УникальныйИдентификатор);
ТекущийИнтервал = Строка(Список.НачальнаяПозиция()) +" - " + Строка(Список.НачальнаяПозиция()+список.Количество());
КонецПроцедуры
&НаКлиенте
Процедура Назад(Команда)
НазадНаСервере();
КонецПроцедуры
ПоместитьВоВременноеХранилище - это подходящее решение? Как бы сделали Вы?
1
Волшебник
модератор
22.01.16
✎
13:38
Не слишком ли сильно ты работаешь? Надо же и отдыхать
2
vicof
22.01.16
✎
13:43
(0) Шта?
3
pro3ri
22.01.16
✎
14:04
(2) Есть разные методы сохранения переменной формы, созданной на сервере.
Список = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска); реализовал с помощью ПоместитьВоВременноеХранилище, но хотелось бы узнать как делают профи...
4
vicof
22.01.16
✎
14:18
(3) Поздравляю, ты профи
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший