Добавление документа основание в Форму списка ТТН

1. user1934472 01.04.24 17:39 Сейчас в теме
Доброго дня.
Необходимо добавить Документ основание(чтобы можно было тянуть сделки и т.д) в форму списка Документа Транспортная накладная.
Я переопределил динамический запрос в расширении и добавил программно элемент на форму.
Но при работе со списком через несколько секунд вылетает ошибка (На скриншоте).

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


Мой код в расширении:


&НаСервере
Процедура abs_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	
	СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
	СвойстваСписка.ОсновнаяТаблица = "Документ.ТранспортнаяНакладная";
	СвойстваСписка.ДинамическоеСчитываниеДанных = Истина;
	СвойстваСписка.ТекстЗапроса  =  
	" ВЫБРАТЬ
	|	ТранспортнаяНакладная.Ссылка КАК Ссылка,
	|	ТранспортнаяНакладная.ВерсияДанных КАК ВерсияДанных,
	|	ТранспортнаяНакладная.ПометкаУдаления КАК ПометкаУдаления,
	|	ТранспортнаяНакладная.Номер КАК Номер,
	|	ТранспортнаяНакладная.Дата КАК Дата,
	|	ТранспортнаяНакладная.Проведен КАК Проведен,
	|	ТранспортнаяНакладная.АвтомобильГосударственныйНомер КАК АвтомобильГосударственныйНомер,
	|	ТранспортнаяНакладная.АвтомобильМарка КАК АвтомобильМарка,
	|	ТранспортнаяНакладная.АдресДоставки КАК АдресДоставки,
	|	ТранспортнаяНакладная.АдресДоставкиЗначенияПолей КАК АдресДоставкиЗначенияПолей,
	|	ТранспортнаяНакладная.АдресПогрузки КАК АдресПогрузки,
	|	ТранспортнаяНакладная.АдресПогрузкиЗначенияПолей КАК АдресПогрузкиЗначенияПолей,
	|	ТранспортнаяНакладная.БанковскийСчетПлательщика КАК БанковскийСчетПлательщика,
	|	ТранспортнаяНакладная.БанковскийСчетЗаказчикаПеревозки КАК БанковскийСчетЗаказчикаПеревозки,
	|	ТранспортнаяНакладная.БанковскийСчетПеревозчика КАК БанковскийСчетПеревозчика,
	|	ТранспортнаяНакладная.ВидПеревозки КАК ВидПеревозки,
	|	ТранспортнаяНакладная.Водитель КАК Водитель,
	|	ТранспортнаяНакладная.ВыводДанныхОТоварномСоставе КАК ВыводДанныхОТоварномСоставе,
	|	ТранспортнаяНакладная.ГлавныйБухгалтер КАК ГлавныйБухгалтер,
	|	ТранспортнаяНакладная.ГосударственныйНомерПрицепа КАК ГосударственныйНомерПрицепа,
	|	ТранспортнаяНакладная.Грузоотправитель КАК Грузоотправитель,
	|	ТранспортнаяНакладная.Грузополучатель КАК Грузополучатель,
	|	ТранспортнаяНакладная.ДоверенностьВыдана КАК ДоверенностьВыдана,
	|	ТранспортнаяНакладная.ДоверенностьДата КАК ДоверенностьДата,
	|	ТранспортнаяНакладная.ДоверенностьЛицо КАК ДоверенностьЛицо,
	|	ТранспортнаяНакладная.ДоверенностьНомер КАК ДоверенностьНомер,
	|	ТранспортнаяНакладная.ЗаданиеНаПеревозку КАК ЗаданиеНаПеревозку,
	|	ТранспортнаяНакладная.ЗаказчикПеревозки КАК ЗаказчикПеревозки,
	|	ТранспортнаяНакладная.ЛицензионнаяКарточкаВид КАК ЛицензионнаяКарточкаВид,
	|	ТранспортнаяНакладная.ЛицензионнаяКарточкаНомер КАК ЛицензионнаяКарточкаНомер,
	|	ТранспортнаяНакладная.ЛицензионнаяКарточкаРегистрационныйНомер КАК ЛицензионнаяКарточкаРегистрационныйНомер,
	|	ТранспортнаяНакладная.ЛицензионнаяКарточкаСерия КАК ЛицензионнаяКарточкаСерия,
	|	ТранспортнаяНакладная.МассаБрутто КАК МассаБрутто,
	|	ТранспортнаяНакладная.МассаНетто КАК МассаНетто,
	|	ТранспортнаяНакладная.Организация КАК Организация,
	|	ТранспортнаяНакладная.Отпустил КАК Отпустил,
	|	ТранспортнаяНакладная.ОтпустилДолжность КАК ОтпустилДолжность,
	|	ТранспортнаяНакладная.Перевозчик КАК Перевозчик,
	|	ТранспортнаяНакладная.Прицеп КАК Прицеп,
	|	ТранспортнаяНакладная.Руководитель КАК Руководитель,
	|	ТранспортнаяНакладная.СрокДоставки КАК СрокДоставки,
	|	ТранспортнаяНакладная.УдостоверениеНомер КАК УдостоверениеНомер,
	|	ТранспортнаяНакладная.УдостоверениеСерия КАК УдостоверениеСерия,
	|	ТранспортнаяНакладнаяДокументыОснования.ДокументОснование КАК ДокументОснование
	|ИЗ
	|	Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТранспортнаяНакладная.ДокументыОснования КАК ТранспортнаяНакладнаяДокументыОснования
	|		ПО ТранспортнаяНакладная.Ссылка = ТранспортнаяНакладнаяДокументыОснования.Ссылка
	|ГДЕ
	|	(ТранспортнаяНакладная.Ссылка В
	|				(ВЫБРАТЬ
	|					ДокументыОснования.Ссылка
	|				ИЗ
	|					Документ.ТранспортнаяНакладная.ДокументыОснования КАК ДокументыОснования
	|				ГДЕ
	|					ДокументыОснования.ДокументОснование = &ДокументОснование)
	|			ИЛИ НЕ &ДокументОснованиеЗаполнен)";
	
	ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СвойстваСписка); 
	

	Если Элементы.Найти("ДокументОснование") = Неопределено Тогда
		ЭлементФормы = Элементы.Добавить("ДокументОснование", Тип("ПолеФормы"), Элементы.Список);
		ЭлементФормы.ПутьКДанным = "Список.ДокументОснование";
		ЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
	КонецЕсли; 
	
КонецПроцедуры

Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. nomad_irk 76 02.04.24 09:36 Сейчас в теме
(1)Добавьте еще один динамический список на форму и в него выводите содержимое табличной части.
Отбор по документу устанавливайте при активизации строки списка ТН.
2. starjevschik 01.04.24 22:40 Сейчас в теме
Ну а что там будет, если в ТЧ оснований больше одного? тест ошибки немного намекает, что это и происходит...
3. user1934472 01.04.24 23:56 Сейчас в теме
(2) а как можно вывести тогда на форму ?
4. starjevschik 02.04.24 08:45 Сейчас в теме
(3) а что вывести? Что будем выводить, когда оснований несколько?
Сначала ставим задачу внятно, потом решаем. Наоборот не работает.
6. user1934472 02.04.24 10:12 Сейчас в теме
(4) Если мне нужно только по реализации выводить основание и из него сделку, сумму и др.поля, можно так сделать?

ВЫБРАТЬ
	ТранспортнаяНакладнаяДокументыОснования.ДокументОснование КАК ДокументОснование,
	ТранспортнаяНакладнаяДокументыОснования.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Основания
ИЗ
	Документ.ТранспортнаяНакладная.ДокументыОснования КАК ТранспортнаяНакладнаяДокументыОснования
ГДЕ
	ТранспортнаяНакладнаяДокументыОснования.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТранспортнаяНакладная.Ссылка КАК Ссылка,
	ВТ_Основания.ДокументОснование КАК ДокументОснование
ИЗ
	Документ.ТранспортнаяНакладная КАК ТранспортнаяНакладная
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Основания КАК ВТ_Основания
		ПО (ТранспортнаяНакладная.Ссылка = ВТ_Основания.Ссылка)
ГДЕ
	(ТранспортнаяНакладная.Ссылка В
				(ВЫБРАТЬ
					ДокументыОснования.Ссылка
				ИЗ
					Документ.ТранспортнаяНакладная.ДокументыОснования КАК ДокументыОснования
				ГДЕ
					ДокументыОснования.ДокументОснование = &ДокументОснование)
			ИЛИ НЕ &ДокументОснованиеЗаполнен)
Показать


И соответственно уже из основания на форме буду выводить все что угодно.
Оставьте свое сообщение

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