Имя: Пароль:
1C
1С v8
ЗУП 3.1.4.169, получить список начислений сотрудника на дату
0 novichok79
 
31.01.18
16:47
Доброго времени суток коллеги. Поставил недавно ЗУП 3.1.4.169. Нужно получить оклад сотрудника и выбрать принятых за период сотрудников. Принятых за период можно определить раздербанив отчет по списку работников, а вот оклад? Печать приказа о приеме на работу?
Как вы справлялись со схожими задачами? Таким же образом или есть способ попроще. Заранее благодарю за помощь.
1 dimaldinho
 
31.01.18
16:50
Отчет Штатные сотрудники. Типовой с отборами.
2 novichok79
 
31.01.18
17:47
(1) да прибудет с вами сила конфигуратора, там и оклад достаётся?
3 novichok79
 
31.01.18
17:50
Ещё не дома, не могу посмотреть.
4 Amra
 
31.01.18
17:50
(2) Сформируй отчет, о мой юный падаван, и лицезришь силу!
5 novichok79
 
31.01.18
17:52
(4) ахаха, но учитель, удалённого доступа у шайтан машине у меня сейчас нет, как доберусь обязательно посмотрю на сей шедевр кодостроения
6 Alexandr_U1982
 
31.01.18
18:05
(2) Падаван, программный интерфейс используй. Только с ним светлую сторону познать сможешь ты.
Написание запросов к регистрам в ЗУП 3.1 к темной стороне тебя приведет.
7 Alexandr_U1982
 
31.01.18
18:13
+(6)
ЗУП 3.1 Получить кадровые данные сотрудника запросом
ЗУП 3.1 как получить программно подразделение сотрудника на дату и способ учета в БУ
Да прибудет с тобой сила!

Общий модуль КадровыйУчет
Функция КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт
Функция СотрудникиОрганизации(ТолькоРазрешенные, Параметры) Экспорт
Функция ЗапросВТКадровыеДанныеСотрудников(ТолькоРазрешенные, ОписательВременнойТаблицыОтборов, КадровыеДанные, ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина, ИсточникиДанных = Неопределено, ИмяВТКадровыеДанныеСотрудников = "ВТКадровыеДанныеСотрудников", ТаблицаОтборовСодержитПолеФизическоеЛицо = Ложь, УничтожитьВспомогательныеТаблицы = Истина) Экспорт
Функция ЗапросВТПлановыеНачисленияСотрудников(ТолькоРазрешенные, ИмяВТПлановыеНачисленияСотрудников, ИмяВременнойТаблицыОтборовСотрудников, Знач ПоляОтбораСотрудников = "Сотрудник,Период", ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт
Функция ЗапросВТСотрудникиОрганизации(ТолькоРазрешенные, ИмяВТСотрудникиОрганизации, Параметры, МенеджерВременныхТаблиц = Неопределено) Экспорт
Функция ЗапросВТТарифныеСтавкиСотрудников(ТолькоРазрешенные, ИмяВТТарифныеСтавкиСотрудников, ИмяВременнойТаблицыОтборовСотрудников, ПоляОтбораСотрудников, ПоляОтбораПериодическихДанных) Экспорт
В комментариях к функциям истину найдешь ты...
8 SleepyHead
 
гуру
31.01.18
19:00
(7) Как kumena' корежит, представляю по всех подробностях я.
9 novichok79
 
31.01.18
19:04
(5) (6) как много букв падавану непонятных. мудрость и знания ощущаю я в твоих словах, джедай. низко кланяюсь тебе я. не одна запутанная конфигурация не уйдет от ярости твоего светового меча.
10 Мимохожий Однако
 
31.01.18
19:06
ОФФ: К вечеру крышки сдвигаются...
11 Fram
 
31.01.18
19:28
(9) у тебя какая то смесь джедая, старорусского сказочника и восточного мудреца получается.
вот у (6), (7) прям как йода ))
12 novichok79
 
31.01.18
19:35
(11) к сожалению, не фанат звездовойн ))) а в (6), (7) просто просвечивает чистый интеллект
13 Filippov
 
31.01.18
21:28
(2) (7) ПрЕбудет :) http://ru.starwars.wikia.com/wiki/ДапребудетстобойСила
14 Filippov
 
31.01.18
21:33
15 novichok79
 
01.02.18
10:54
собсна, список физических лиц получается следующим образом. теперь осталось вытащить оклад... есть подозрения что можно через КадровыеДанные.


    //shoa 01.02.2018 -->
    ПараметрыПолученияСотрудников = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
    
    ПараметрыПолученияСотрудников.Организация = Объект.Организация;
    ПараметрыПолученияСотрудников.ОкончаниеПериода = КонецДня(Объект.ДатаФормированияФайлов);
    ПараметрыПолученияСотрудников.ПодработкиРаботниковПоТрудовымДоговорам = ПолучитьФункциональнуюОпцию("ИспользоватьПодработки");

    Если (ПривилегированныйРежим()
        Или ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ПериодыДействияДоговоровГражданскоПравовогоХарактера)) Тогда

        ПараметрыПолученияСотрудников.РаботникиПоДоговорамГПХ = ВключатьДоговорыГПХ;

    КонецЕсли;

    ПараметрыПолученияСотрудников.КадровыеДанные = "ДатаПриема, Состояние";

    Сотрудники = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолученияСотрудников);

    Запрос = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    
    Запрос.МенеджерВременныхТаблиц = МВТ;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
    |    Сотрудники.ДатаПриема КАК ДатаПриема,
    |    Сотрудники.Состояние КАК Состояние
    |ПОМЕСТИТЬ ВТСотрудники
    |ИЗ
    |    &Сотрудники КАК Сотрудники
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
    |ИЗ
    |    ВТСотрудники КАК Сотрудники
    |ГДЕ
    |    (&Режим = 0
    |                И (Сотрудники.ДатаПриема МЕЖДУ &ДатаНачала И &ДатаОкончания)
    |            ИЛИ &Режим = 1
    |                И Сотрудники.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Увольнение))
    |
    |СГРУППИРОВАТЬ ПО
    |    Сотрудники.ФизическоеЛицо
    |
    |УПОРЯДОЧИТЬ ПО
    |    ФизическоеЛицо
    |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("Сотрудники", Сотрудники);
    Запрос.УстановитьПараметр("Режим", Режим);
    Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНач_Принятые));
    Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаКон_Принятые));
    
    Результат = Запрос.Выполнить();
    МВТ.Закрыть();
    
    ВременнаяТаблица = Результат.Выгрузить();
    МассивФизическихЛицДляЗаполнения = ВременнаяТаблица.ВыгрузитьКолонку("ФизическоеЛицо");
16 novichok79
 
01.02.18
11:55
(15) как я и думал - "ТарифнаяСтавка" есть размер оклада. по крайней мере так он выводится в Приказе о приеме на работу (Т1)
17 Alexandr_U1982
 
01.02.18
12:08
(15) Все у вас хорошо написано.
Еще могу посоветовать вместо "КадровыйУчет.СотрудникиОрганизации" использовать "КадровыйУчет.СоздатьВТСотрудникиОрганизации".
Эта функция делает все тоже самое, что и КадровыйУчет.СотрудникиОрганизации, но результат возвращает в виде временной таблицы в менеджере временных таблиц.

(16) Как я понял, "ТарифнаяСтавка":
- это оклад, для тех, кто работает на окладе;
- это размер часовой тарифной ставки, для тех, кто работает на часовой тарифной ставке;
- это размер дневной тарифной ставки, для тех, кто работает на дневной тарифной ставке.
18 novichok79
 
01.02.18
13:26
(17) я взял эти данные из Т1, есть еще плановый оклад по штатному расписанию, но мне кажется правильнее все-таки, брать данные из Т1.
ЗУП 2.5 был гораздо понятнее.
19 novichok79
 
01.02.18
14:02
(17) и да, судя по текстам модулей - тарифнаяставка чаще всего используется - есть еще совокупнаятарифнаяставка, на деле она у меня отличается от тарифнойставки.
в общем, КадровыйУчет.СоздатьВТСотрудникиОрганизации - зачетная тема. переделал на нее. спасибо за помощь.
20 Alexandr_U1982
 
01.02.18
14:51
Совокупная тарифная ставка может включать в себя дополнительные начисления, помимо оклада. Такие как Доплата за ночные часы, Доплата за вечерние часы, различные надбавки/доплаты и др.
Состав показателей, которые входят в совокупную тарифную ставку выполняется на панели настройки расчета зарплаты (Настройка - Расчет зарплаты - Секция "Показатели, определяющие состав совокупной тарифной ставки")
21 galush
 
09.02.18
09:32
Кто нибудь может показать код с применением
Функция ЗапросВТТарифныеСтавкиСотрудников(ТолькоРазрешенные, ИмяВТТарифныеСтавкиСотрудников, ИмяВременнойТаблицыОтборовСотрудников, ПоляОтбораСотрудников, ПоляОтбораПериодическихДанных) Экспорт?
Необходимо получить тарифную ставку сотрудника на определенную дату.
22 novichok79
 
09.02.18
09:50
(21) чем не устраивает СоздатьВТКадровыеДанныеСотрудников? именно она используется в конфигурации, а ЗапросВТТарифныеСтавкиСотрудников - внутренняя.
23 galush
 
09.02.18
09:57
(22) Често говоря, не могу разобраться с новшествами зуп 3, после 2.5. Увидел в этой теме что то связаное с тарифной ставкой и спросил.
24 hhhh
 
09.02.18
10:01
зачем разбираться в ЗУП 3.1.4.169? когда уже ЗУП 3.1.5.
25 KnightAlone
 
09.02.18
10:56
(24) можно подумать там все с ног на голову поставили и список начислений сотрудников стал получаться как-то иначе?
26 galush
 
09.02.18
11:30
Спасибо! Вроде разобрался.

ТолькоРазрешенные   = Истина;
ДатаСрезаИнформации = ТекущаяДата();
КадровыеДанные      = "ТарифнаяСтавка";

МассивСотрудников = Новый Массив;
МассивСотрудников.Добавить(Сотрудник);

КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(
      ТолькоРазрешенные, МассивСотрудников, КадровыеДанные, ДатаСрезаИнформации);

Для Каждого Строка Из КадровыеДанныеСотрудников Цикл
      Сотрудник                        = Строка.Сотрудник;
      ТарифнаяСтавка                   = Строка.ТарифнаяСтавка;
КонецЦикла;
27 novichok79
 
09.02.18
13:26
(24) кривая обработка обмена для Промсвязьбанка, дописанная для ЗУП 3.1.4.169 с учетом вызовов типовых функций работает и на ЗУП 3.1.5, так что уйх бы с ним. не думаю, что так сильно поменялись вызовы именно кадровых процедур.
28 galush
 
09.02.18
13:59
Извиняюсь что пишу в этой теме, но подскажите ещё ответ на такой вопрос. где подсмотреть список кадровых данных для параметра КадровыеДанные?
29 novichok79
 
09.02.18
14:13
(28) в комментариях к типовым процедурам в общих модулях КадровыйУчет*
30 KnightAlone
 
09.02.18
16:41
(28) сам вечно забываю точное место, поэтому оставлю это здесь КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников
комментарий над процедурой