Как сохранить последнее позиционирование на ел-те формы и потом восстановить при открытии ?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А так не пробовали?
При закрытии прописать вот так:
у=ЭлементыФормы.ТЗ.ТекущаяСтрока;
СохранитьЗначение("ПредыдущееПоложениеСтроки",у);
При открытии вот так:
ВосстановитьЗначение("ПредыдущееПоложениеСтроки");
При закрытии прописать вот так:
у=ЭлементыФормы.ТЗ.ТекущаяСтрока;
СохранитьЗначение("ПредыдущееПоложениеСтроки",у);
При открытии вот так:
ВосстановитьЗначение("ПредыдущееПоложениеСтроки");
пробовал :
{Справочник.Сотрудники.Форма.ФормаСпискаПоЦФО.Форма(73)}: Ошибка при установке значения атрибута контекста (ТекущаяСтрока)
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = ВосстановитьЗначение("ТабСотрудники");
по причине:
Отсутствует ключ строки
{Справочник.Сотрудники.Форма.ФормаСпискаПоЦФО.Форма(73)}: Ошибка при установке значения атрибута контекста (ТекущаяСтрока)
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = ВосстановитьЗначение("ТабСотрудники");
по причине:
Отсутствует ключ строки
Делаю так
СохранитьЗначение("Сотр", ЭлементыФормы.ТабСотрудники.ТекущаяСтрока);
ПоследнееЗначение = ВосстановитьЗначение("Сотр");
и ПоследнееЗначение присваивается значение Неопределено .... Почему то значение не сохраняется, или сохраняется но при получении его не возвращает.
СохранитьЗначение("Сотр", ЭлементыФормы.ТабСотрудники.ТекущаяСтрока);
ПоследнееЗначение = ВосстановитьЗначение("Сотр");
и ПоследнееЗначение присваивается значение Неопределено .... Почему то значение не сохраняется, или сохраняется но при получении его не возвращает.
(5) 6есик, Скорее всего нужно сохранять не всю текущую строку, а какое-то отдельное поле, потом при открытии уже отталкиваться от сохраненного поля:
СохранитьЗначение("Сотр", ЭлементыФормы.ТабСотрудники.ТекущаяСтрока.Сотрудник);
ПоследнееЗначение = ВосстановитьЗначение("Сотр");
СохранитьЗначение("Сотр", ЭлементыФормы.ТабСотрудники.ТекущаяСтрока.Сотрудник);
ПоследнееЗначение = ВосстановитьЗначение("Сотр");
(9) Sanechichek, приложите модуль, как у вас работает? Или это "банальное зарабатывание $m" :) Вопрос: Интересно, как Вы позиционируетесь на ячейке?Строке? А если в этом списке ее- нет?Например она отсутствует, потому что, не попала в отбор или была удалена (например ссылка на удаленный в базе объект)?
У меня данные табличного поля не справочник а ТаблицаЗначений - вот поэтому и не сохраняется текущая строка. Да, я могу сохранить ссылку на сотрудника из текущей строки, но потом как я её найду в табличном поле ???
Теоретически я понимаю что бы потом спозиционировать мне нужно сделать :
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = (и здесь в моем табличном поле искать строку по сотруднику)
Но как в табличном поле найти строку по известной ссылке Сотрудник незнаю ...
Теоретически я понимаю что бы потом спозиционировать мне нужно сделать :
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = (и здесь в моем табличном поле искать строку по сотруднику)
Но как в табличном поле найти строку по известной ссылке Сотрудник незнаю ...
(13)
//ИмяКолонки - имя колонки ТЗ имеющая тип твоей ссылки
СтруктураОтбора = Новый Структура();
СтруктураОтбора.Вставить("ИмяКолонки",Ссылка);
МассивСтрок = ТаблицаЗначений.НайтиСтроки(СтруктураОтбора);
Если МассивСтрок.Количество() > 0 Тогда
ИскомаяСтрока = МассивСтрок[0];
ТаблицаЗначений.ТекущаяСтрока = ИскомаяСтрока;
КонецЕсли;
6есик пишет:
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = (и здесь в моем табличном поле искать строку по сотруднику)
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = (и здесь в моем табличном поле искать строку по сотруднику)
Попробуй использовать функции ЗначениеВФайл(<ИмяФайла>, <ЭлементыФормы.ТабСотрудники.ТекущаяСтрока>) и ЗначениеИзФайла(<ИмяФайла>)
поигравшись именем можно разгрничить или наоборот унифицировать между пользователями.
Всем спасибо за помощь, все теперь работает - получилась такая конструкция
Сохраняем так :
Восстанавливаем так:
Сохраняем так :
СохранитьЗначение("ТабСотрудники", ЭлементыФормы.ТабСотрудники.ТекущаяСтрока.Сотрудник);
Восстанавливаем так:
ПоследнееЗначение = ВосстановитьЗначение("ТабСотрудники");
Если ПоследнееЗначение <> Неопределено Тогда
ЭлементыФормы.ТабСотрудники.ТекущаяКолонка = ЭлементыФормы.ТабСотрудники.Колонки.Сотрудник;
ЭлементыФормы.ТабСотрудники.ТекущаяСтрока = ТабСотрудники.Найти(ПоследнееЗначение,"Сотрудник");
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот