Как изменить должность в печатной форме.
Здравствуйте. В шапке макета, есть параметр ФИОДиректора, он заполняется, должность прописана текстом (не параметр), возникла необходимость менять ФИОДиректора. Подтягивается этот параметр из формы документа (Реквизит формы Руководитель)! Как прописать в модуле менеджера код, который делал бы следующее: проверял бы:
Можно и иначе, написал так как вижу это я.
ФИО меняется, был допустим петров, я меняю данные на форме на Сидорова, теперь в макете (печатной форме) выводится Сидоров, а должность остается как у директора, хотя Сидоров зам!
Можете написать как обращаться с модуля менеджера к данным формы или справочникам , и сравнивать эти значения
Если Реквизит Формы Руководитель <> значению по умолчанию Тогда
в макете параметр ДолжностьРуководителя = равно той должности которая соответствует той фамилии которая теперь вместо директора
КонецЕсли
Можно и иначе, написал так как вижу это я.
ФИО меняется, был допустим петров, я меняю данные на форме на Сидорова, теперь в макете (печатной форме) выводится Сидоров, а должность остается как у директора, хотя Сидоров зам!
Можете написать как обращаться с модуля менеджера к данным формы или справочникам , и сравнивать эти значения
По теме из базы знаний
- Продвинутая технология внешних печатных форм
- Локализация 1С приложений (адаптация продуктов под другие рынки)
- Обзор полезных методов БСП 3.1.4. Часть 2
- Конфигурация "ИнфоПро": Конструктор журналов для коммуникации в рабочих группах и автоматизации
- Сопровождение по-другому: как совершить революцию, не покалечив сотрудников, и не порваться от изменений. Взгляд с двух сторон: руководитель и эксперт
Найденные решения
(14)Все допёр, спасибо.
ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.Руководитель,ВыборкаДокументы.ТекстДата);
Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
Должность = ТребуемыеДанные.Должность;
СтруктураПараметров.Вставить("ДиректорДолжность", Должность);
(6) Невнимательно прочитал вопрос. Если должность в макете задана статично, то только поменять ее на параметр, получать должность человека и подставлять ее в этот параметр. Должность, скорее всего, хранится в какомнить периодическом регистре сведений, например Ответственные лица организаций. Все данные для получения должности есть: дата документа - дата на которую нужно получить должность, ссылка на физ. лицо, должность которого нужно получить, организация по которой нужно получить данные. Наверняка есть готовая функция, которые возвращает должность ответственного лица на заданную дату.
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Если в ПФ в поле ФИОДиректора выводится значение реквизита формы, то какой смысл сравнивать значение реквизита формы со значением по умолчанию? Если бы всегда нужно было бы выводить значение по умолчанию, то другое дело.
(4) Заполнение параметра Директор (ФИО) происходит следующим способом
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| АктСписанияМЗ.Ссылка,
| АктСписанияМЗ.Номер КАК ТекстНомер,
| АктСписанияМЗ.Дата КАК ТекстДата,
| АктСписанияМЗ.Организация,
| АктСписанияМЗ.Организация.НаименованиеПолное КАК НаименованиеОрганизации,
| АктСписанияМЗ.Организация.КодОКПО КАК КодОКПО,
| АктСписанияМЗ.Организация.ИНН КАК ИНН,
| АктСписанияМЗ.Организация.КПП КАК КПП,
| АктСписанияМЗ.ИФО,
| АктСписанияМЗ.КФО,
| АктСписанияМЗ.ПодразделениеОтправитель,
| АктСписанияМЗ.ПодразделениеОтправитель.Наименование КАК Подразделение,
| АктСписанияМЗ.ЦМООтправитель,
| АктСписанияМЗ.ЦМООтправитель.Сотрудник.Контрагент КАК ЦМО,
| АктСписанияМЗ.ЦМООтправитель.Сотрудник КАК МОЛ,
| АктСписанияМЗ.Ответственный КАК Ответственный,
| АктСписанияМЗ.ДолжностьПредседательКомиссии КАК ДолжностьПредседателяКомиссии,
| АктСписанияМЗ.ФамилияПредседательКомиссии КАК ФамилияПредседателяКомиссии,
| АктСписанияМЗ.ИмяПредседательКомиссии КАК ИмяПредседателяКомиссии,
| АктСписанияМЗ.ОтчествоПредседательКомиссии КАК ОтчествоПредседателяКомиссии,
| АктСписанияМЗ.НомерПриказа КАК ТекстНомерПриказа,
| АктСписанияМЗ.ДатаПриказа КАК ТекстДатаПриказа,
| АктСписанияМЗ.Руководитель.Контрагент КАК ДиректорСсылка,
| АктСписанияМЗ.Руководитель КАК Руководитель,
| АктСписанияМЗ.ЗаключениеКомиссии,
| АктСписанияМЗ.Материалы.(
| Ссылка,
| НомерСтроки КАК НомерСтроки,
| Номенклатура КАК НоменклатураСсылка,
| ВЫБОР
| КОГДА АктСписанияМЗ.Материалы.Номенклатура.НаименованиеПолное = """"
| ТОГДА АктСписанияМЗ.Материалы.Номенклатура.Наименование
| ИНАЧЕ АктСписанияМЗ.Материалы.Номенклатура.НаименованиеПолное
| КОНЕЦ КАК НоменклатураПредставление,
| Номенклатура.Наименование КАК НоменклатураНаименование,
| Номенклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
| КоличествоНорма КАК НормаРасхода,
| Количество,
| ПричинаСписания,
| ПРЕДСТАВЛЕНИЕ(АктСписанияМЗ.Материалы.Номенклатура.ЕдиницаИзмерения) КАК Единица,
| Номенклатура.Код КАК КодНоменклатуры,
| Номенклатура.НоменклатурныйНомер КАК НоменклатурныйНомерНоменклатуры,
| ВЫБОР
| КОГДА АктСписанияМЗ.Материалы.Номенклатура.НоменклатурныйНомер = """"
| ТОГДА АктСписанияМЗ.Материалы.Номенклатура.Код
| ИНАЧЕ АктСписанияМЗ.Материалы.Номенклатура.НоменклатурныйНомер
| КОНЕЦ КАК НоменклатурныйНомер,
| СчетУчета,
| КПС,
| КЭК,
| ДополнительнаяАналитикаСчета
| ),
| АктСписанияМЗ.СоставКомиссии.(
| Ссылка,
| НомерСтроки,
| ДолжностьЧленаКомиссии,
| ФамилияЧленаКомиссии,
| ИмяЧленаКомиссии,
| ОтчествоЧленаКомиссии
| )
|ИЗ
| Документ.АктСписанияМЗ КАК АктСписанияМЗ
|ГДЕ
| АктСписанияМЗ.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| АктСписанияМЗ.Дата,
| АктСписанияМЗ.Номер,
| НомерСтроки";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
РезультатЗапроса = Запрос.ВыполнитьПакет();
ДвиженияДокументов = РезультатЗапроса[1].Выгрузить();
ВыборкаДокументы = РезультатЗапроса[2].Выбрать();
ДанныеДиректора = Новый Структура("СсылкаНаОбъект, Период, Фамилия, Имя, Отчество",
ВыборкаДокументы.ДиректорСсылка, ВыборкаДокументы.ТекстДата);
СтруктураПараметров = Новый Структура();
СтруктураПараметров.Вставить("Директор", КорреспондентыКлиентСервер.ФИО(ДанныеДиректора, Истина));
Показать
(6) Невнимательно прочитал вопрос. Если должность в макете задана статично, то только поменять ее на параметр, получать должность человека и подставлять ее в этот параметр. Должность, скорее всего, хранится в какомнить периодическом регистре сведений, например Ответственные лица организаций. Все данные для получения должности есть: дата документа - дата на которую нужно получить должность, ссылка на физ. лицо, должность которого нужно получить, организация по которой нужно получить данные. Наверняка есть готовая функция, которые возвращает должность ответственного лица на заданную дату.
(7)Сейчас у меня вроде этого что-то:
ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.ДиректорСсылка,ВыборкаДокументы.ТекстДата);
Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
Должность = ТребуемыеДанные.Должность;
Сообщить(Должность);
(14)Все допёр, спасибо.
ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.Руководитель,ВыборкаДокументы.ТекстДата);
Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
Должность = ТребуемыеДанные.Должность;
СтруктураПараметров.Вставить("ДиректорДолжность", Должность);
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)