Последнее событие в списке контрагентов.

1. user618695_ka 18.01.17 12:37 Сейчас в теме
Есть справочник контрагентов и есть его форма списка.
У контрагентов есть "События" (документы).

Задача: вывести последнее событие в форме списка.

Последнее событие нигде не храниться.
Если его получать из контрагента и записывать в новый реквизит, встает вопрос об обновлении этой инфы при открытии формы списка..

Этот кусок кода найдет последнее событие у контрагента, но куда его вставить?
	Запрос.Текст = "
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	СобытиеУчастники.Ссылка КАК Событие,
	|	СобытиеУчастники.Ссылка.НачалоСобытия КАК Дата
	|ИЗ
	|	Документ.Событие.Участники КАК СобытиеУчастники
	|ГДЕ
	|	СобытиеУчастники.Контакт = &Контрагент
	|	И СобытиеУчастники.Ссылка.ПометкаУдаления = ЛОЖЬ
	|
	|УПОРЯДОЧИТЬ ПО
	|	СобытиеУчастники.Ссылка.НачалоСобытия УБЫВ";
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Дата = Выборка.Дата;
		НавСсылка = ПолучитьНавигационнуюСсылку(Выборка.Событие);
	Иначе
		Дата = '00010101';
		НавСсылка = "";
	КонецЕсли;
Показать
+
По теме из базы знаний
Найденные решения
2. Alexey_ 26 18.01.17 12:46 Сейчас в теме
(1)если ОФ: в процедуру ПриПолученииДанных(), если УФ: модифицировать запрос дин списка
user618695_ka; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alexey_ 26 18.01.17 12:46 Сейчас в теме
(1)если ОФ: в процедуру ПриПолученииДанных(), если УФ: модифицировать запрос дин списка
user618695_ka; +1
3. user618695_ka 18.01.17 13:39 Сейчас в теме
(2) ох, этого я и боялся..
УФ.

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


С этим:
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	СобытиеУчастники.Ссылка КАК Событие,
	|	СобытиеУчастники.Ссылка.НачалоСобытия КАК Дата
	|ИЗ
	|	Документ.Событие.Участники КАК СобытиеУчастники
	|ГДЕ
	|	СобытиеУчастники.Контакт = &Контрагент
	|	И СобытиеУчастники.Ссылка.ПометкаУдаления = ЛОЖЬ
	|
	|УПОРЯДОЧИТЬ ПО
	|	СобытиеУчастники.Ссылка.НачалоСобытия УБЫВ"
Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот