Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 837
от 12.09.2008, 21:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 367, Экспертов: 42
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 143282: В конфигурации 1С 7.7 Зарплата и кадры получил данные из документа ПриказПоОтпуску. ДокОтпуск = СоздатьОбъект("Документ.ПриказПоОтпуску"); ДокОтпуск.Выбрать("Журнал.КадровыеПриказы"); Сотрудник=ДокОтпуск.Сотрудник; Дал...

Вопрос № 143.282
В конфигурации 1С 7.7 Зарплата и кадры получил данные из документа ПриказПоОтпуску.
ДокОтпуск = СоздатьОбъект("Документ.ПриказПоОтпуску");
ДокОтпуск.Выбрать("Журнал.КадровыеПриказы");
Сотрудник=ДокОтпуск.Сотрудник;
Далее нужно получить должность и подразделение Сотрудника.
Пробовал получить из Справоник.Сотрудники, в одной конфигурации ЗиК сработало, в другой ЗиК нет.
Переменная Должность имеет тип Справочник.Должности.
Переменная Подразделение соотвтетственно Справочник.Подразделения.
Подскажите как правильно получить Должность и Подразделение сотрудника имея ФИО полученные из документа ПриказПоОтпуску.

Заранее благодарен за ответ.
Отправлен: 07.09.2008, 17:41
Вопрос задал: Kriman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Gl0betrotter
Здравствуйте, Kriman!

Процедура НаКнопку()
ДокПриказПоОтпуску = СоздатьОбъект("Документ.ПриказПоОтпуску");
ДокПриказПоОтпуску.Выбрать("Журнал.КадровыеПриказы"); //выбираем нужный нам приказ
НомерДок=ДокПриказПоОтпуску.НомерДок;
Сотрудник=ДокПриказПоОтпуску.Сотрудник;
ДатаДок=ДокПриказПоОтпуску.ДатаДок;
КоличествоДнейОтпуска=ДокПриказПоОтпуску.КоличествоДнейОтпуска;
Начало=ДокПриказПоОтпуску.Начало;
Окончание=ДокПриказПоОтпуску.Окончание;
НачалоПериода=ДокПриказПоОтпуску.НачалоПериода;
ОкончаниеПериода=ДокПриказПоОтпуску.ОкончаниеПериода;
//Должность имеет тип Справочник.Должности
//Подразделение соотвтетственно Справочник.Подразделения
СпрСотрудники=СоздатьОбъект("Справочник.Сотрудники");

СпрСотрудники.НайтиЭлемент(Сотрудник); //Просто производим позиционирование на конкретном элементе справочника
СотрДолжность=СпрСотрудники.Должность.Получить(ДатаДок); //Определяемся с должностью на дату до кумента
СотрПодразделение=СпрСотрудники.Подразделение.Получить(ДатаДок); //Определяемся с подразделением на дату документа
КонецПроцедуры

Вариант 2:

Процедура НаКнопку()
ДокПриказПоОтпуску = СоздатьОбъект("Документ.ПриказПоОтпуску");
ДокПриказПоОтпуску.Выбрать("Журнал.КадровыеПриказы"); //выбираем нужный нам приказ
НомерДок=ДокПриказПоОтпуску.НомерДок;
Сотрудник=ДокПриказПоОтпуску.Сотрудник;
ДатаДок=ДокПриказПоОтпуску.ДатаДок;
КоличествоДнейОтпуска=ДокПриказПоОтпуску.КоличествоДнейОтпуска;
Начало=ДокПриказПоОтпуску.Начало;
Окончание=ДокПриказПоОтпуску.Окончание;
НачалоПериода=ДокПриказПоОтпуску.НачалоПериода;
ОкончаниеПериода=ДокПриказПоОтпуску.ОкончаниеПериода;

СотрДолжность=Сотрудник.Должность.Получить(ДатаДок); //Определяемся с должностью на дату документа, незачем идти в справочник, если можем получить значение реквизита у объекта сразу
СотрПодразделение=Сотрудник.Подразделение.Получить(ДатаД ок); //Определяемся с подразделением на дату документа, незачем идти в справочник, если можем получить значение реквизита у объекта сразу
КонецПроцедуры

Второй вариант тоже работоспособен (мало того, он еще и практичнее) - не смотря на то, что в документе "ПриказПоОтпуску" нет должности и подразделения, мы их берем непосредственно через реквизиты Сотрудника - смотрите, что я написал Сотрудник.Должность.Получить(ДатаДок) и Сотрудник.Подразделение.Получить(ДатаДок)

Удачи!

PS Ответ перенесен из мини-форума вопроса для отправки в рассылку.
Ответ отправил: Gl0betrotter (статус: Специалист)
Ответ отправлен: 11.09.2008, 15:00


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.3 RC 2 от 09.09.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное