11.09.2008, 15:00
общий
это ответ
Здравствуйте, Kriman!
Процедура НаКнопку()
ДокПриказПоОтпуску = СоздатьОбъект("Документ.ПриказПоОтпуску");
ДокПриказПоОтпуску.Выбрать("Журнал.КадровыеПриказы"); //выбираем нужный нам приказ
НомерДок=ДокПриказПоОтпуску.НомерДок;
Сотрудник=ДокПриказПоОтпуску.Сотрудник;
ДатаДок=ДокПриказПоОтпуску.ДатаДок;
КоличествоДнейОтпуска=ДокПриказПоОтпуску.КоличествоДнейОтпуска;
Начало=ДокПриказПоОтпуску.Начало;
Окончание=ДокПриказПоОтпуску.Окончание;
НачалоПериода=ДокПриказПоОтпуску.НачалоПериода;
ОкончаниеПериода=ДокПриказПоОтпуску.ОкончаниеПериода;
//Должность имеет тип Справочник.Должности
//Подразделение соотвтетственно Справочник.Подразделения
СпрСотрудники=СоздатьОбъект("Справочник.Сотрудники");
СпрСотрудники.НайтиЭлемент(Сотрудник); //Просто производим позиционирование на конкретном элементе справочника
СотрДолжность=СпрСотрудники.Должность.Получить(ДатаДок); //Определяемся с должностью на дату документа
СотрПодразделение=СпрСотрудники.Подразделение.Получить(ДатаДок); //Определяемся с подразделением на дату документа
КонецПроцедуры
Вариант 2:
Процедура НаКнопку()
ДокПриказПоОтпуску = СоздатьОбъект("Документ.ПриказПоОтпуску");
ДокПриказПоОтпуску.Выбрать("Журнал.КадровыеПриказы"); //выбираем нужный нам приказ
НомерДок=ДокПриказПоОтпуску.НомерДок;
Сотрудник=ДокПриказПоОтпуску.Сотрудник;
ДатаДок=ДокПриказПоОтпуску.ДатаДок;
КоличествоДнейОтпуска=ДокПриказПоОтпуску.КоличествоДнейОтпуска;
Начало=ДокПриказПоОтпуску.Начало;
Окончание=ДокПриказПоОтпуску.Окончание;
НачалоПериода=ДокПриказПоОтпуску.НачалоПериода;
ОкончаниеПериода=ДокПриказПоОтпуску.ОкончаниеПериода;
СотрДолжность=Сотрудник.Должность.Получить(ДатаДок); //Определяемся с должностью на дату документа, незачем идти в справочник, если можем получить значение реквизита у объекта сразу
СотрПодразделение=Сотрудник.Подразделение.Получить(ДатаДок); //Определяемся с подразделением на дату документа, незачем идти в справочник, если можем получить значение реквизита у объекта сразу
КонецПроцедуры
Второй вариант тоже работоспособен (мало того, он еще и практичнее) - не смотря на то, что в документе "ПриказПоОтпуску" нет должности и подразделения, мы их берем непосредственно через реквизиты Сотрудника - смотрите, что я написал Сотрудник.Должность.Получить(ДатаДок) и Сотрудник.Подразделение.Получить(ДатаДок)
Удачи!
PS Ответ перенесен из мини-форума вопроса для отправки в рассылку.