Помогите разобраться , пожалйста.

1. user1053113 15.11.18 15:00 Сейчас в теме
Помогите, пожалуйста, разобраться, начинающему. Имеется такое задание:
Цели и задачи:
Изменение печатной формы УПД (Универсальный передаточный документ). Печать документа производится из документов «Расходная накладная», «Счет-фактура выданный». Необходимо в печатной форме заполнить поле должность.
Решение:
Справочник «Физические лица». Добавляем новое свойство «Должность». В модуле печати УПД нужно получить это свойство и вывести на печатную форму. Данный механизм должен работать в обоих документах («Расходная накладная» и «Счет-фактура выданный»).
Т.е нужно чтобы вместо ответственных лиц организации было любое произвольное лицо и его должность . Запрос делаю к регистру свойств объектов, но не знаю как сделать правильно условие.

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

	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Должность = ВыборкаДетальныеЗаписи.Наименование;
	КонецЦикла;
	
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА



	Если ЗначениеЗаполнено(ДанныеДляПечати.КладовщикДляУПД) Тогда
		ФамилияИмяОтчествоФизЛица  	  = ФормированиеПечатныхФорм.ФамилияИмяОтчество(ДанныеДляПечати.КладовщикДляУПД, ДанныеДляПечати.ДатаДокументаДляУПД);
		ФамилияИмяОтчествоКладовщика  = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество;
		ФИОКладовщика         		  = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоКладовщика);
		ФИОКладовщика = ФИОКладовщика  + ?(ЗначениеЗаполнено(ДанныеДляПечати.ЗаКладовщикаПоПриказуДляУПД), " " + ДанныеДляПечати.ЗаКладовщикаПоПриказуДляУПД, "");
		
		//ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.ДолжностьОтветственногоЛица(ДанныеДляПечати.КладовщикДляУПД, ДанныеДляПечати.ДатаДокументаДляУПД, ДанныеДляПечати.Организация);
		//ДолжностьКладовщика       	  = ПодразделениеДолжностьФизЛица.Должность;
		 ДолжностьКладовщика = Должность;
	Иначе
		ФИОКладовщика		          = "";
		//ДолжностьКладовщика 		  = "";
		 ДолжностьКладовщика = Должность;
	КонецЕсли;
	
	ДанныеДляПечати.Вставить("ФИОКладовщика", 		ФИОКладовщика);
	ДанныеДляПечати.Вставить("ДолжностьКладовщика", ДолжностьКладовщика);
	
КонецПроцедуры // СформироватьФИОКладовщикаДляПечатиУнив
Показать
+
Найденные решения
2. acanta 15.11.18 15:12 Сейчас в теме
Вариант вставить в текст запроса примерно такое (если это доп.свойство накладной):

	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК КладовщикДляУПД
	|		ПО РеализацияТоваровУслуг.Ссылка = КладовщикДляУПД.Объект
	|			И ((ВЫРАЗИТЬ(КладовщикДляУПД.Свойство.Наименование КАК СТРОКА(15))) = ""КладовщикДляУПД"")
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ДолжностьКладовщикаДляУПД
	|		ПО РеализацияТоваровУслуг.Ссылка = ДолжностьКладовщикаДляУПД.Объект
	|			И ((ВЫРАЗИТЬ(ТТНДата.Свойство.Наименование КАК СТРОКА(25))) = ""ДолжностьКладовщикаДляУПД"")


И далее получать обычной выборкой в запросе.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acanta 15.11.18 15:12 Сейчас в теме
Вариант вставить в текст запроса примерно такое (если это доп.свойство накладной):

	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК КладовщикДляУПД
	|		ПО РеализацияТоваровУслуг.Ссылка = КладовщикДляУПД.Объект
	|			И ((ВЫРАЗИТЬ(КладовщикДляУПД.Свойство.Наименование КАК СТРОКА(15))) = ""КладовщикДляУПД"")
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ДолжностьКладовщикаДляУПД
	|		ПО РеализацияТоваровУслуг.Ссылка = ДолжностьКладовщикаДляУПД.Объект
	|			И ((ВЫРАЗИТЬ(ТТНДата.Свойство.Наименование КАК СТРОКА(25))) = ""ДолжностьКладовщикаДляУПД"")


И далее получать обычной выборкой в запросе.
+
3. user1053113 15.11.18 15:34 Сейчас в теме
как то сложно получается, сейчас в консоли запросов буду пробовать
+
4. user1053113 19.11.18 17:01 Сейчас в теме
(2)Это почти решение )) Должность не дополнительное свойство накладной, а свойство Физического лица
+
Внимание! Тема сдана в архив

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