ТиС 7.7 Проставить в печатной форме значение из справочника
06.05.2011
11:01
#1
"Здравствуйте уважаемые!
У меня такой вопрос:
После создания справочника из двух колонок - Сотрудник - Должность.
Что нужно дополнительно сделать, чтобы можно было проставить в печатную форму должность сотрудника, который её печатает?
Может что-либо прописывается дополнительно в глобальном модуле?
в модуле есть нечто похожее:
печОтпускРазрешил=глИнициалы(глПользователь.Сотрудник);
ОткрытьФормуМодально("Отчет.ВыборПодписейПоДоверенности"+"#",);
Если ПустоеЗначение(глПоДоверДир)=0 Тогда
печПоДоверДир=глИнициалы(глПоДоверДир.Сотрудник);
печПоДоверДир1=глПоДоверДир.Наименование;
Иначе
печПоДоверДир=глИнициалы(ПечФирма.Руководитель);
печПоДоверДир1=" ФИО ";
КонецЕсли;
Если ПустоеЗначение(глПоДоверБух)=0 Тогда
печПоДоверБух=глИнициалы(глПоДоверБух.Сотрудник);
печПоДоверБух1=глПоДоверБух.Наименование;
Иначе
печПоДоверБух=глИнициалы(ПечФирма.ГлБухгалтер);
печПоДоверБух1=" ФИО ";
КонецЕсли;
Мне практически нужно сделать тоже самое, но вместо № доверенности прописать должность...."
У меня такой вопрос:
После создания справочника из двух колонок - Сотрудник - Должность.
Что нужно дополнительно сделать, чтобы можно было проставить в печатную форму должность сотрудника, который её печатает?
Может что-либо прописывается дополнительно в глобальном модуле?
в модуле есть нечто похожее:
печОтпускРазрешил=глИнициалы(глПользователь.Сотрудник);
ОткрытьФормуМодально("Отчет.ВыборПодписейПоДоверенности"+"#",);
Если ПустоеЗначение(глПоДоверДир)=0 Тогда
печПоДоверДир=глИнициалы(глПоДоверДир.Сотрудник);
печПоДоверДир1=глПоДоверДир.Наименование;
Иначе
печПоДоверДир=глИнициалы(ПечФирма.Руководитель);
печПоДоверДир1=" ФИО ";
КонецЕсли;
Если ПустоеЗначение(глПоДоверБух)=0 Тогда
печПоДоверБух=глИнициалы(глПоДоверБух.Сотрудник);
печПоДоверБух1=глПоДоверБух.Наименование;
Иначе
печПоДоверБух=глИнициалы(ПечФирма.ГлБухгалтер);
печПоДоверБух1=" ФИО ";
КонецЕсли;
Мне практически нужно сделать тоже самое, но вместо № доверенности прописать должность...."
06.05.2011
14:24
#2
"наверное что то типа такого:
печОтпускРазрешилДолжность=СокрЛП(глПользователь.Сотрудник.Должность.Наименование);
печПоДоверДирДолжность=СокрЛП(глПоДоверДир.Сотрудник.Должность.Наименование);
печПоДоверБухДолжность=СокрЛП(глПоДоверБух.Сотрудник.Должность.Наименование);
а, еще забыл...
если Должность - периодический реквизит, то так:
печОтпускРазрешилДолжность=СокрЛП(глПользователь.Сотрудник.Должность.Получить(НужнаяДата).Наименование);
где НужнаяДата, например ДатаДок"
печОтпускРазрешилДолжность=СокрЛП(глПользователь.Сотрудник.Должность.Наименование);
печПоДоверДирДолжность=СокрЛП(глПоДоверДир.Сотрудник.Должность.Наименование);
печПоДоверБухДолжность=СокрЛП(глПоДоверБух.Сотрудник.Должность.Наименование);
а, еще забыл...
если Должность - периодический реквизит, то так:
печОтпускРазрешилДолжность=СокрЛП(глПользователь.Сотрудник.Должность.Получить(НужнаяДата).Наименование);
где НужнаяДата, например ДатаДок"
10.05.2011
08:29
#3
не, так не подходит - пишет:
печПоДоверДирДолжность<>>
Переменная не определена (печПоДоверДирДолжность)
Есть наверно какое-то простое решение, чтобы в форму подставить значение из справочника?
;
Может чтото вроде:
Запрос.Должность.Должность напротив строки с Гл.Пользователь
печПоДоверДирДолжность<>>
Переменная не определена (печПоДоверДирДолжность)
Есть наверно какое-то простое решение, чтобы в форму подставить значение из справочника?
;
Может чтото вроде:
Запрос.Должность.Должность напротив строки с Гл.Пользователь
10.05.2011
09:06
#4
"В глобальном модуле есть ещё такие строки:
// иниц подписей по сотруднику
СпрДовереностейСотрудникам=СоздатьОбъект("Справочник.ДоверенностьНаПодпись");
Если СпрДовереностейСотрудникам.НайтиПоРеквизиту("Сотрудник", глПользователь.Сотрудник, 1)=1 тогда
глПоДоверДир=СпрДовереностейСотрудникам.ТекущийЭлемент();
глПоДоверБух=СпрДовереностейСотрудникам.ТекущийЭлемент();
КонецЕсли;"
// иниц подписей по сотруднику
СпрДовереностейСотрудникам=СоздатьОбъект("Справочник.ДоверенностьНаПодпись");
Если СпрДовереностейСотрудникам.НайтиПоРеквизиту("Сотрудник", глПользователь.Сотрудник, 1)=1 тогда
глПоДоверДир=СпрДовереностейСотрудникам.ТекущийЭлемент();
глПоДоверБух=СпрДовереностейСотрудникам.ТекущийЭлемент();
КонецЕсли;"
10.05.2011
15:44
#5
Вы привели пример, я его дополнил нужными строками, которые нужно обдумать и понять как устроено переопределение механизма подписей документов в вашей конфигурации.
Что вы сделали не так?
Вы просто в форму написали "печПоДоверДирДолжность" и все. Само собой, ничего работать не будет. Ведь значение этой переменной где то вычислять нужно. Нужно найти где это происходит для вашей ситуации и добавить указанные мной строки туда.
> Может чтото вроде:
> Запрос.Должность.Должность напротив строки с Гл.Пользователь
Да, можно просто написать "глПользователь.Сотрудник.Должность" и все, но судя по тому что я вижу, в конфигурации сделан механизм выбора подписывающего лица, а таким решением вы будете просто выводить должность активного пользователя в любой ситуации.
Что вы сделали не так?
Вы просто в форму написали "печПоДоверДирДолжность" и все. Само собой, ничего работать не будет. Ведь значение этой переменной где то вычислять нужно. Нужно найти где это происходит для вашей ситуации и добавить указанные мной строки туда.
> Может чтото вроде:
> Запрос.Должность.Должность напротив строки с Гл.Пользователь
Да, можно просто написать "глПользователь.Сотрудник.Должность" и все, но судя по тому что я вижу, в конфигурации сделан механизм выбора подписывающего лица, а таким решением вы будете просто выводить должность активного пользователя в любой ситуации.
Читают тему
(гостей: 1)