Как определить текущую активную строку и передать ее значение в параметры произвольного запроса

1. arsen_botashev 15.02.19 15:50 Сейчас в теме
Здравствуйте, вопрос в следующем, есть форма, на ней ТЧ "Причины" и в нем реквизит "Риск".
Есть две вкладки: 1)ТЧ Причины и 2)Список(ДинамическийСписок)
в Списке Стоит произвольный запрос, надо в параметры этого запроса передать данные из текущей активной строки ТЧ "Причины" реквизита "Риск"
Допустим в тч есть несколько строк, как определить текущую активную строку и передать ее значение в параметр запроса?

То есть у меня заполнен реквизит "Риск" в ТЧ "Причины"

Риск
Строка1
Строка2
Строка3
Если допустим сейчас активна строка2. то надо ее значение передать в параметр запроса, чтобы на 2 вкладке Список(ДинамическийСписок) появились данные на основе эого значения.
ВЫБРАТЬ
	Инцидент.Ссылка,
	Инцидент.ВерсияДанных,
	Инцидент.ПометкаУдаления,
	Инцидент.Номер,
	Инцидент.Дата,
	Инцидент.Завершен,
	Инцидент.ВедущаяЗадача,
	Инцидент.Стартован,
	Инцидент.Автор,
	Инцидент.Услуга,
	Инцидент.ОписаниеИцидента,
	Инцидент.МестоВозникновения,
	Инцидент.Приоритет,
	Инцидент.Повторяемость,
	Инцидент.ОтветственныйЗаПриемку,
	Инцидент.НеобходимоРасследование,
	Инцидент.СтатусИнцидента,
	Инцидент.ДатаЗавершения,
	Инцидент.ФактическаяДатаИнцидента,
	Инцидент.ДиректорЦОАвтора,
	Инцидент.ПретензияОтКлиента,
	Инцидент.КраткоеОписание,
	Инцидент.КонтрольГенеральногоДиректора,
	Инцидент.КонтрольОУК,
	Инцидент.ОтветственныеЗаКупирование.(
		Ссылка,
		НомерСтроки,
		Пользователь
	),
	Инцидент.Вложения.(
		Ссылка,
		НомерСтроки,
		СсылкаНаВложение,
		ТипВложения
	),
	Инцидент.КорректирующиеМероприятия.(
		Ссылка,
		НомерСтроки,
		Описание,
		Ответственный,
		Срок
	),
	Инцидент.Предшественники.(
		Ссылка,
		НомерСтроки,
		Предшественник
	),
	Инцидент.Представление
ИЗ
	БизнесПроцесс.Инцидент КАК Инцидент
ГДЕ
	Инцидент.Услуга.Ссылка = &Риск
Показать



Далее пишу так, выходит ошибка что поле объекта риск не обнаружено
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.Параметры.УстановитьЗначениеПараметра("Риск", Объект.Причины.Риск);
КонецПроцедуры


и еще что надо написать в процедуре "ПриСменеСтраницы"
Чтобы при смене страницы данные на второй вкладке появлялись?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. SPID 15.02.19 15:58 Сейчас в теме
Список.Параметры.УстановитьЗначениеПараметра("Риск", Объект.Причины.Риск);


необходимо заменить на
Список.Параметры.УстановитьЗначениеПараметра("Риск", Элементы.Причины.ТекущиеДанные.Риск);
3. arsen_botashev 15.02.19 16:06 Сейчас в теме
(2)
Причины.ТекущиеДанные.Риск


Я так делал, пишет текущие данные недоступны на сервере
4. SPID 15.02.19 16:12 Сейчас в теме
(3) Делайте на клиенте.
Или заменить на поиск по идентификатору, что то типа

ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
Если Не ДанныеСтроки = Неопределено Тогда
     Список.Параметры.УстановитьЗначениеПараметра("Риск", ДанныеСтроки.Риск);
Иначе
      ???
КонецЕсли;
5. arsen_botashev 15.02.19 16:19 Сейчас в теме
(4)Попробую, а что написать в процедуре ПриСменеСтраницы, чтоб я допустим получил активную строку, получил ее данные, передал их в качестве параметра, и чтобы при переключении на другую страницу, там все заполнялось
6. SPID 15.02.19 16:27 Сейчас в теме
После установки параметра выше указанным способом для клиента необходимо добавить
Элементы.Список.Обновить();


И подумайте в сторону отборов, а не параметра в запросе...
7. arsen_botashev 15.02.19 16:39 Сейчас в теме
(6)Выше указанный способ вызывает ошибку, несоответствие типов параметр "1",
8. SPID 15.02.19 16:41 Сейчас в теме
(7)
на какой строке, выложите полностью код обработчика который получился.
9. arsen_botashev 15.02.19 16:44 Сейчас в теме
(8)

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
	Если Не ДанныеСтроки = Неопределено Тогда
		Список.Параметры.УстановитьЗначениеПараметра("Риск", ДанныеСтроки.Риск);
	//Иначе
	//	???
	КонецЕсли
КонецПроцедуры
Показать

Событие стоит при создании на сервере, я открываю форму, заполняю Реквизит "Риск", И на основании него должны появится данные на второй Странице(Вкладке)

{БизнесПроцесс.СнижениеРисков.Форма.ФормаБизнесПроцесса.Форма(18)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
	ДанныеСтроки = Объект.Причины.НайтиПоИдентификатору(Элементы.Причины.ТекущаяСтрока);
по причине:
Несоответствие типов (параметр номер '1')
Несоответствие типов (параметр номер '1')

10. lefthander 15.02.19 16:48 Сейчас в теме
(9)
Элементы.Причины.ТекущаяСтрока

Вот этого еще нет. Так как форма не создана, то и обращаться к ее элементам рано
ЗЫ все таки подумайте об использовании отборов.
12. arsen_botashev 15.02.19 16:55 Сейчас в теме
(10)Поставил событие при смене страницы
вот так:

&НаКлиенте
Процедура Группа2ПриСменеСтраницы(Элемент, ТекущаяСтраница)
	ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока.Риск );
		Список.Параметры.УстановитьЗначениеПараметра("Риск", ЗначениеОтбора);
	Элементы.Список.Обновить();
КонецПроцедуры

Пишет:
{БизнесПроцесс.СнижениеРисков.Форма.ФормаБизнесПроцесса.Форма(73)}: Значение не является значением объектного типа (Риск)
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока.Риск );
13. lefthander 15.02.19 16:59 Сейчас в теме
(12)Наверно потому что Риск это название поля, а не объект
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущаяСтрока );
Как то так должно быть
14. arsen_botashev 15.02.19 17:00 Сейчас в теме
(13)но ведь у меня в строке не только одна колонка, мне надо взять оттуда именно колонку Риск?
11. SPID 15.02.19 16:48 Сейчас в теме
(9) Проверьте вначале значение Элементы.Причины.ТекущаяСтрока скорее всего не активна при открытии строка и значение возвращает неопределенно.Добавьте условие на значение неопределенно и что в этом случае необходимо сделать, какой параметр установить.
Или при открытии устанавливайте фокус на первую строку (если она есть) и далее уже по текущему алгоритму.
15. Release 15.02.19 17:05 Сейчас в теме
ЗначениеОтбора = Новый Структура("Риск", Элементы.Причины.ТекущиеДанные.Риск );
16. arsen_botashev 15.02.19 17:24 Сейчас в теме
(15)Пишет ошибка сравнения нельзя сравнивать поля неограниченной длины и поля несовместимых типов
17. zarankony 304 15.02.19 18:07 Сейчас в теме
вешайте на событие ПриАктивизацииСтроки, проверяйте ТекущиеДанные на заполненность и используйте
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(список,"Риск",ТекущиеДанные.Риск);
18. arsen_botashev 15.02.19 18:13 Сейчас в теме
19. zarankony 304 18.02.19 09:17 Сейчас в теме
(18) События в свойствах элемента(списка целиком, а не отдельной ячейки).
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)