Помогите разобраться , пожалйста.
Помогите, пожалуйста, разобраться, начинающему. Имеется такое задание:
Цели и задачи:
Изменение печатной формы УПД (Универсальный передаточный документ). Печать документа производится из документов «Расходная накладная», «Счет-фактура выданный». Необходимо в печатной форме заполнить поле должность.
Решение:
Справочник «Физические лица». Добавляем новое свойство «Должность». В модуле печати УПД нужно получить это свойство и вывести на печатную форму. Данный механизм должен работать в обоих документах («Расходная накладная» и «Счет-фактура выданный»).
Т.е нужно чтобы вместо ответственных лиц организации было любое произвольное лицо и его должность . Запрос делаю к регистру свойств объектов, но не знаю как сделать правильно условие.
Цели и задачи:
Изменение печатной формы УПД (Универсальный передаточный документ). Печать документа производится из документов «Расходная накладная», «Счет-фактура выданный». Необходимо в печатной форме заполнить поле должность.
Решение:
Справочник «Физические лица». Добавляем новое свойство «Должность». В модуле печати УПД нужно получить это свойство и вывести на печатную форму. Данный механизм должен работать в обоих документах («Расходная накладная» и «Счет-фактура выданный»).
Т.е нужно чтобы вместо ответственных лиц организации было любое произвольное лицо и его должность . Запрос делаю к регистру свойств объектов, но не знаю как сделать правильно условие.
Процедура СформироватьФИОКладовщикаДляПечатиУниверсальногоПередаточногоДокумента(ДанныеДляПечати) Экспорт
// Если в данных печати уже заполнены ФИО и должность кладовщика - ничего формировать не нужно
Если ДанныеДляПечати.Свойство("ФИОКладовщика") И ЗначениеЗаполнено(ДанныеДляПечати.ФИОКладовщика) Тогда
Возврат;
КонецЕсли;
Если НЕ ДанныеДляПечати.Свойство("КладовщикДляУПД") ИЛИ НЕ ДанныеДляПечати.Свойство("ДатаДокументаДляУПД")
ИЛИ НЕ ДанныеДляПечати.Свойство("ЗаКладовщикаПоПриказуДляУПД") ИЛИ НЕ ДанныеДляПечати.Свойство("Организация") Тогда
ДанныеДляПечати.Вставить("ФИОКладовщика", "");
ДанныеДляПечати.Вставить("ДолжностьКладовщика", "");
Возврат;
КонецЕсли;
/
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Значение.Ссылка,
| ЗначенияСвойствОбъектов.Значение.Наименование,
| ЗначенияСвойствОбъектов.Значение.Представление,
| ЗначенияСвойствОбъектов.Свойство.Представление,
| ЗначенияСвойствОбъектов.Свойство.ТипЗначения,
| ЗначенияСвойствОбъектов.Свойство.Наименование,
| ЗначенияСвойствОбъектов.Объект.Ссылка,
| ЗначенияСвойствОбъектов.Объект.Организация.Ссылка,
| ЗначенияСвойствОбъектов.Объект.Ответственный.Ссылка,
| ЗначенияСвойствОбъектов.Объект.ОтпускПроизвел.Ссылка,
| ЗначенияСвойствОбъектов.Объект.ОтпускПроизвел.Наименование,
| ЗначенияСвойствОбъектов.Объект.ОтпускПроизвел.Представление
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект.ОтпускПроизвел.Ссылка = &ТекущийДокумент";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Должность = ВыборкаДетальныеЗаписи.Наименование;
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Если ЗначениеЗаполнено(ДанныеДляПечати.КладовщикДляУПД) Тогда
ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(ДанныеДляПечати.КладовщикДляУПД, ДанныеДляПечати.ДатаДокументаДляУПД);
ФамилияИмяОтчествоКладовщика = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество;
ФИОКладовщика = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоКладовщика);
ФИОКладовщика = ФИОКладовщика + ?(ЗначениеЗаполнено(ДанныеДляПечати.ЗаКладовщикаПоПриказуДляУПД), " " + ДанныеДляПечати.ЗаКладовщикаПоПриказуДляУПД, "");
//ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.ДолжностьОтветственногоЛица(ДанныеДляПечати.КладовщикДляУПД, ДанныеДляПечати.ДатаДокументаДляУПД, ДанныеДляПечати.Организация);
//ДолжностьКладовщика = ПодразделениеДолжностьФизЛица.Должность;
ДолжностьКладовщика = Должность;
Иначе
ФИОКладовщика = "";
//ДолжностьКладовщика = "";
ДолжностьКладовщика = Должность;
КонецЕсли;
ДанныеДляПечати.Вставить("ФИОКладовщика", ФИОКладовщика);
ДанныеДляПечати.Вставить("ДолжностьКладовщика", ДолжностьКладовщика);
КонецПроцедуры // СформироватьФИОКладовщикаДляПечатиУнив
ПоказатьНайденные решения
Вариант вставить в текст запроса примерно такое (если это доп.свойство накладной):
И далее получать обычной выборкой в запросе.
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК КладовщикДляУПД
| ПО РеализацияТоваровУслуг.Ссылка = КладовщикДляУПД.Объект
| И ((ВЫРАЗИТЬ(КладовщикДляУПД.Свойство.Наименование КАК СТРОКА(15))) = ""КладовщикДляУПД"")
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ДолжностьКладовщикаДляУПД
| ПО РеализацияТоваровУслуг.Ссылка = ДолжностьКладовщикаДляУПД.Объект
| И ((ВЫРАЗИТЬ(ТТНДата.Свойство.Наименование КАК СТРОКА(25))) = ""ДолжностьКладовщикаДляУПД"")
И далее получать обычной выборкой в запросе.
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Вариант вставить в текст запроса примерно такое (если это доп.свойство накладной):
И далее получать обычной выборкой в запросе.
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК КладовщикДляУПД
| ПО РеализацияТоваровУслуг.Ссылка = КладовщикДляУПД.Объект
| И ((ВЫРАЗИТЬ(КладовщикДляУПД.Свойство.Наименование КАК СТРОКА(15))) = ""КладовщикДляУПД"")
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ДолжностьКладовщикаДляУПД
| ПО РеализацияТоваровУслуг.Ссылка = ДолжностьКладовщикаДляУПД.Объект
| И ((ВЫРАЗИТЬ(ТТНДата.Свойство.Наименование КАК СТРОКА(25))) = ""ДолжностьКладовщикаДляУПД"")
И далее получать обычной выборкой в запросе.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)