Как изменить должность в печатной форме.

1. VID1234 108 16.06.21 13:04 Сейчас в теме
Здравствуйте. В шапке макета, есть параметр ФИОДиректора, он заполняется, должность прописана текстом (не параметр), возникла необходимость менять ФИОДиректора. Подтягивается этот параметр из формы документа (Реквизит формы Руководитель)! Как прописать в модуле менеджера код, который делал бы следующее: проверял бы:
Если Реквизит Формы  Руководитель <> значению по умолчанию Тогда 
в макете параметр ДолжностьРуководителя = равно той должности которая соответствует той фамилии которая теперь вместо директора
КонецЕсли

Можно и иначе, написал так как вижу это я.
ФИО меняется, был допустим петров, я меняю данные на форме на Сидорова, теперь в макете (печатной форме) выводится Сидоров, а должность остается как у директора, хотя Сидоров зам!
Можете написать как обращаться с модуля менеджера к данным формы или справочникам , и сравнивать эти значения
По теме из базы знаний
Найденные решения
15. VID1234 108 16.06.21 13:58 Сейчас в теме
(14)Все допёр, спасибо.
 ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.Руководитель,ВыборкаДокументы.ТекстДата);
    Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
	Должность = ТребуемыеДанные.Должность;
	СтруктураПараметров.Вставить("ДиректорДолжность", 		Должность);
kasper076; +1 Ответить
7. kasper076 101 16.06.21 13:37 Сейчас в теме
(6) Невнимательно прочитал вопрос. Если должность в макете задана статично, то только поменять ее на параметр, получать должность человека и подставлять ее в этот параметр. Должность, скорее всего, хранится в какомнить периодическом регистре сведений, например Ответственные лица организаций. Все данные для получения должности есть: дата документа - дата на которую нужно получить должность, ссылка на физ. лицо, должность которого нужно получить, организация по которой нужно получить данные. Наверняка есть готовая функция, которые возвращает должность ответственного лица на заданную дату.
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. kasper076 101 16.06.21 13:10 Сейчас в теме
Если в ПФ в поле ФИОДиректора выводится значение реквизита формы, то какой смысл сравнивать значение реквизита формы со значением по умолчанию? Если бы всегда нужно было бы выводить значение по умолчанию, то другое дело.
3. VID1234 108 16.06.21 13:16 Сейчас в теме
(2)может и не нужно, а как сделать, чтобы должность присваивалась автоматически в зависимости от ФИОДиректора или от Реквизита формы (Руководитель), я прошу помощи помочь.
4. kasper076 101 16.06.21 13:18 Сейчас в теме
(3) Судя по описанному алгоритму в ПФ выводится та должность, которая указана форме документа. Это так?
5. VID1234 108 16.06.21 13:20 Сейчас в теме
(4)нет должность там просто написано тип строка! я создал параметр на том же месте и теперь нужно его заполнить, а как не могу догадаться. На файле уже параметр, а было проста написано текстом Директор
Прикрепленные файлы:
6. VID1234 108 16.06.21 13:27 Сейчас в теме
(4) Заполнение параметра Директор (ФИО) происходит следующим способом
|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	АктСписанияМЗ.Ссылка,
	|	АктСписанияМЗ.Номер КАК ТекстНомер,
	|	АктСписанияМЗ.Дата КАК ТекстДата,
	|	АктСписанияМЗ.Организация,
	|	АктСписанияМЗ.Организация.НаименованиеПолное КАК НаименованиеОрганизации,
	|	АктСписанияМЗ.Организация.КодОКПО КАК КодОКПО,
	|	АктСписанияМЗ.Организация.ИНН КАК ИНН,
	|	АктСписанияМЗ.Организация.КПП КАК КПП,
	|	АктСписанияМЗ.ИФО,
	|	АктСписанияМЗ.КФО,
	|	АктСписанияМЗ.ПодразделениеОтправитель,
	|	АктСписанияМЗ.ПодразделениеОтправитель.Наименование КАК Подразделение,
	|	АктСписанияМЗ.ЦМООтправитель,
	|	АктСписанияМЗ.ЦМООтправитель.Сотрудник.Контрагент КАК ЦМО,
	|	АктСписанияМЗ.ЦМООтправитель.Сотрудник КАК МОЛ,
	|   АктСписанияМЗ.Ответственный КАК Ответственный,
	|	АктСписанияМЗ.ДолжностьПредседательКомиссии КАК ДолжностьПредседателяКомиссии,
	|	АктСписанияМЗ.ФамилияПредседательКомиссии КАК ФамилияПредседателяКомиссии,
	|	АктСписанияМЗ.ИмяПредседательКомиссии КАК ИмяПредседателяКомиссии,
	|	АктСписанияМЗ.ОтчествоПредседательКомиссии КАК ОтчествоПредседателяКомиссии,
	|	АктСписанияМЗ.НомерПриказа КАК ТекстНомерПриказа,
	|	АктСписанияМЗ.ДатаПриказа КАК ТекстДатаПриказа,
	|	АктСписанияМЗ.Руководитель.Контрагент КАК ДиректорСсылка,
	|	АктСписанияМЗ.Руководитель КАК Руководитель,
	|	АктСписанияМЗ.ЗаключениеКомиссии,
	|	АктСписанияМЗ.Материалы.(
	|		Ссылка,
	|		НомерСтроки КАК НомерСтроки,
	|		Номенклатура КАК НоменклатураСсылка,
	|		ВЫБОР
	|			КОГДА АктСписанияМЗ.Материалы.Номенклатура.НаименованиеПолное = """"
	|				ТОГДА АктСписанияМЗ.Материалы.Номенклатура.Наименование
	|			ИНАЧЕ АктСписанияМЗ.Материалы.Номенклатура.НаименованиеПолное
	|		КОНЕЦ КАК НоменклатураПредставление,
	|		Номенклатура.Наименование КАК НоменклатураНаименование,
	|		Номенклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
	|		КоличествоНорма КАК НормаРасхода,
	|		Количество,
	|		ПричинаСписания,
	|		ПРЕДСТАВЛЕНИЕ(АктСписанияМЗ.Материалы.Номенклатура.ЕдиницаИзмерения) КАК Единица,
	|		Номенклатура.Код КАК КодНоменклатуры,
	|		Номенклатура.НоменклатурныйНомер КАК НоменклатурныйНомерНоменклатуры,
	|		ВЫБОР
	|			КОГДА АктСписанияМЗ.Материалы.Номенклатура.НоменклатурныйНомер = """"
	|				ТОГДА АктСписанияМЗ.Материалы.Номенклатура.Код
	|			ИНАЧЕ АктСписанияМЗ.Материалы.Номенклатура.НоменклатурныйНомер
	|		КОНЕЦ КАК НоменклатурныйНомер,
	|		СчетУчета,
	|		КПС,
	|		КЭК,
	|		ДополнительнаяАналитикаСчета
	|	),
	|	АктСписанияМЗ.СоставКомиссии.(
	|		Ссылка,
	|		НомерСтроки,
	|		ДолжностьЧленаКомиссии,
	|		ФамилияЧленаКомиссии,
	|		ИмяЧленаКомиссии,
	|		ОтчествоЧленаКомиссии
	|	)
	|ИЗ
	|	Документ.АктСписанияМЗ КАК АктСписанияМЗ
	|ГДЕ
	|	АктСписанияМЗ.Ссылка В(&МассивОбъектов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	АктСписанияМЗ.Дата,
	|	АктСписанияМЗ.Номер,
	|	НомерСтроки";
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	РезультатЗапроса = Запрос.ВыполнитьПакет();
	
	ДвиженияДокументов = РезультатЗапроса[1].Выгрузить();
	ВыборкаДокументы = РезультатЗапроса[2].Выбрать();
ДанныеДиректора = Новый Структура("СсылкаНаОбъект, Период, Фамилия, Имя, Отчество",
			ВыборкаДокументы.ДиректорСсылка, ВыборкаДокументы.ТекстДата);

СтруктураПараметров = Новый Структура(); 
											
СтруктураПараметров.Вставить("Директор", 		КорреспондентыКлиентСервер.ФИО(ДанныеДиректора, Истина));
Показать
7. kasper076 101 16.06.21 13:37 Сейчас в теме
(6) Невнимательно прочитал вопрос. Если должность в макете задана статично, то только поменять ее на параметр, получать должность человека и подставлять ее в этот параметр. Должность, скорее всего, хранится в какомнить периодическом регистре сведений, например Ответственные лица организаций. Все данные для получения должности есть: дата документа - дата на которую нужно получить должность, ссылка на физ. лицо, должность которого нужно получить, организация по которой нужно получить данные. Наверняка есть готовая функция, которые возвращает должность ответственного лица на заданную дату.
8. VID1234 108 16.06.21 13:44 Сейчас в теме
(7)Есть, но это лицо не входит в группу ответственные лица, поэтому она не подходит. Параметр я установил
10. kasper076 101 16.06.21 13:48 Сейчас в теме
(8) Так нужно внести его в РС и заполнить должность и все остальное. Если нет данных по должности ФЛ, то собственно и должность нельзя узнать.
9. VID1234 108 16.06.21 13:47 Сейчас в теме
(7)Сейчас у меня вроде этого что-то:

 ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.ДиректорСсылка,ВыборкаДокументы.ТекстДата);
    Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
	Должность = ТребуемыеДанные.Должность;
	Сообщить(Должность);
11. kasper076 101 16.06.21 13:49 Сейчас в теме
(9) Так алгоритм-то готов. Нужно только данные сотрудника заполнить.
12. VID1234 108 16.06.21 13:50 Сейчас в теме
(11)Данные в справочнике сотрудники заполнены
13. kasper076 101 16.06.21 13:53 Сейчас в теме
Нет конфы этой под рукой. Что делает процедура Справочники.Сотрудники.ПолучитьДанныеСотрудника()?
14. kasper076 101 16.06.21 13:56 Сейчас в теме
(9) В результате должность не заполнена?
15. VID1234 108 16.06.21 13:58 Сейчас в теме
(14)Все допёр, спасибо.
 ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.Руководитель,ВыборкаДокументы.ТекстДата);
    Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
	Должность = ТребуемыеДанные.Должность;
	СтруктураПараметров.Вставить("ДиректорДолжность", 		Должность);
kasper076; +1 Ответить
16. meriferi 17.06.21 11:23 Сейчас в теме
Напишите лучше внешнюю печ. форму
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

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

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

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

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