Как определить текущую активную строку и передать ее значение в параметры произвольного запроса
Здравствуйте, вопрос в следующем, есть форма, на ней ТЧ "Причины" и в нем реквизит "Риск".
Есть две вкладки: 1)ТЧ Причины и 2)Список(ДинамическийСписок)
в Списке Стоит произвольный запрос, надо в параметры этого запроса передать данные из текущей активной строки ТЧ "Причины" реквизита "Риск"
Допустим в тч есть несколько строк, как определить текущую активную строку и передать ее значение в параметр запроса?
То есть у меня заполнен реквизит "Риск" в ТЧ "Причины"
Риск
Строка1
Строка2
Строка3
Если допустим сейчас активна строка2. то надо ее значение передать в параметр запроса, чтобы на 2 вкладке Список(ДинамическийСписок) появились данные на основе эого значения.
Далее пишу так, выходит ошибка что поле объекта риск не обнаружено
и еще что надо написать в процедуре "ПриСменеСтраницы"
Чтобы при смене страницы данные на второй вкладке появлялись?
Есть две вкладки: 1)ТЧ Причины и 2)Список(ДинамическийСписок)
в Списке Стоит произвольный запрос, надо в параметры этого запроса передать данные из текущей активной строки ТЧ "Причины" реквизита "Риск"
Допустим в тч есть несколько строк, как определить текущую активную строку и передать ее значение в параметр запроса?
То есть у меня заполнен реквизит "Риск" в ТЧ "Причины"
Риск
Строка1
Строка2
Строка3
Если допустим сейчас активна строка2. то надо ее значение передать в параметр запроса, чтобы на 2 вкладке Список(ДинамическийСписок) появились данные на основе эого значения.
ВЫБРАТЬ
Инцидент.Ссылка,
Инцидент.ВерсияДанных,
Инцидент.ПометкаУдаления,
Инцидент.Номер,
Инцидент.Дата,
Инцидент.Завершен,
Инцидент.ВедущаяЗадача,
Инцидент.Стартован,
Инцидент.Автор,
Инцидент.Услуга,
Инцидент.ОписаниеИцидента,
Инцидент.МестоВозникновения,
Инцидент.Приоритет,
Инцидент.Повторяемость,
Инцидент.ОтветственныйЗаПриемку,
Инцидент.НеобходимоРасследование,
Инцидент.СтатусИнцидента,
Инцидент.ДатаЗавершения,
Инцидент.ФактическаяДатаИнцидента,
Инцидент.ДиректорЦОАвтора,
Инцидент.ПретензияОтКлиента,
Инцидент.КраткоеОписание,
Инцидент.КонтрольГенеральногоДиректора,
Инцидент.КонтрольОУК,
Инцидент.ОтветственныеЗаКупирование.(
Ссылка,
НомерСтроки,
Пользователь
),
Инцидент.Вложения.(
Ссылка,
НомерСтроки,
СсылкаНаВложение,
ТипВложения
),
Инцидент.КорректирующиеМероприятия.(
Ссылка,
НомерСтроки,
Описание,
Ответственный,
Срок
),
Инцидент.Предшественники.(
Ссылка,
НомерСтроки,
Предшественник
),
Инцидент.Представление
ИЗ
БизнесПроцесс.Инцидент КАК Инцидент
ГДЕ
Инцидент.Услуга.Ссылка = &Риск
ПоказатьДалее пишу так, выходит ошибка что поле объекта риск не обнаружено
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.Параметры.УстановитьЗначениеПараметра("Риск", Объект.Причины.Риск);
КонецПроцедуры
и еще что надо написать в процедуре "ПриСменеСтраницы"
Чтобы при смене страницы данные на второй вкладке появлялись?
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(3) Делайте на клиенте.
Или заменить на поиск по идентификатору, что то типа
Или заменить на поиск по идентификатору, что то типа
ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
Если Не ДанныеСтроки = Неопределено Тогда
Список.Параметры.УстановитьЗначениеПараметра("Риск", ДанныеСтроки.Риск);
Иначе
???
КонецЕсли;
(8)
Событие стоит при создании на сервере, я открываю форму, заполняю Реквизит "Риск", И на основании него должны появится данные на второй Странице(Вкладке)
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
Если Не ДанныеСтроки = Неопределено Тогда
Список.Параметры.УстановитьЗначениеПараметра("Риск", ДанныеСтроки.Риск);
//Иначе
// ???
КонецЕсли
КонецПроцедуры
ПоказатьСобытие стоит при создании на сервере, я открываю форму, заполняю Реквизит "Риск", И на основании него должны появится данные на второй Странице(Вкладке)
{БизнесПроцесс.СнижениеРисков.Форма.ФормаБизнесПроцесса.Форма(18)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
по причине:
Несоответствие типов (параметр номер '1')
Несоответствие типов (параметр номер '1')
(10)Поставил событие при смене страницы
вот так:
Пишет:
{БизнесПроцесс.СнижениеРисков.Форма.ФормаБизнесПроцесса.Форма(73)}: Значение не является значением объектного типа (Риск)
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока.Риск );
вот так:
&НаКлиенте
Процедура Группа2ПриСменеСтраницы(Элемент, ТекущаяСтраница)
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока.Риск );
Список.Параметры.УстановитьЗначениеПараметра("Риск", ЗначениеОтбора);
Элементы.Список.Обновить();
КонецПроцедуры
Пишет:
{БизнесПроцесс.СнижениеРисков.Форма.ФормаБизнесПроцесса.Форма(73)}: Значение не является значением объектного типа (Риск)
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока.Риск );
(9) Проверьте вначале значение Элементы.Причины.ТекущаяСтрока скорее всего не активна при открытии строка и значение возвращает неопределенно.Добавьте условие на значение неопределенно и что в этом случае необходимо сделать, какой параметр установить.
Или при открытии устанавливайте фокус на первую строку (если она есть) и далее уже по текущему алгоритму.
Или при открытии устанавливайте фокус на первую строку (если она есть) и далее уже по текущему алгоритму.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)