|
запрос в 1с ЗУП | ☑ | ||
---|---|---|---|---|
0
Slaifer
26.07.22
✎
11:00
|
Извиняюсь за спам и создание второй темы. Т.З. вывести список: сотрудник, дата увольнения, организация, снилс, вид занятости(только основное место работы). У кого место работы совмещенное или внутреннее совместительство и тд, то их не надо выводить.
1)Список без поля вид занятости я могу вывести таким кодом: ВЫБРАТЬ ТекущиеКадровыеДанныеСотрудников.ГоловнаяОрганизация.НаименованиеСокращенное КАК Организация, ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК ФИО, ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения, ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо.СтраховойНомерПФР КАК СНИЛС ИЗ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников 2) подсказали написать такой код: ВЫБРАТЬ ТекущиеКадровыеДанныеСотрудников.ГоловнаяОрганизация.НаименованиеСокращенное КАК Организация, ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК ФИО, ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения, ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо.СтраховойНомерПФР КАК СНИЛС ИЗ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников ГДЕ ТекущиеКадровыеДанныеСотрудников.ТекущийВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы) ////////////////// Почему то выводит не весь список сотрудников, а только часть, хотя у нас есть уволенный сотрудник например Вася, который уволился совсем недавно, а его нет в списке. А если ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы) заменить на ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ПустаяСсылка) тогда выведет всех сотрудников и даже Васю, правда поле ВидЗанятости будет пустым Если открыть Васю в справочнике сотрудников, то у Васи будет Вид занятости = Основное место работы |
|||
1
Amra
26.07.22
✎
11:15
|
Не тот РС используешь. Используй КадроваяИсторияСотрудников, срез последних на нужную дату. А вообще есть уже готовые функции для получения нужных данных
|
|||
2
Slaifer
26.07.22
✎
11:18
|
КадроваяИсторияСотрудников в это регистре нет даты увольнения
|
|||
3
СеменовСемен
26.07.22
✎
11:20
|
Там же в зупе апи есть по получению данных из регистров
Нужно использовать его |
|||
4
Amra
26.07.22
✎
11:20
|
(2) Все там есть. Это Период при событии Увольнение
|
|||
5
6awkup_true
26.07.22
✎
11:21
|
&НаСервере
Функция ПолучитьПараметры() Возврат КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц(); КонецФункции В твоей функции код будет СтруктураДанных = Новый Структура(); СтруктураДанных.Вставить("ДатаНачала",); СтруктураДанных.Вставить("ДатаОкончания",); СтруктураДанных.Вставить("РазмерОклада",); ПараметрыПолучения = ПолучитьПараметры(); ПараметрыПолучения.Организация = ЭтотОбъект.Организация; ПараметрыПолучения.НачалоПериода = НачалоМесяца(ДатаНазначения); ПараметрыПолучения.ОкончаниеПериода = КонецМесяца(ДатаНазначения); ПараметрыПолучения.ПодработкиРаботниковПоТрудовымДоговорам = Истина; ПараметрыПолучения.РаботникиПоДоговорамГПХ = Ложь; ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор( ПараметрыПолучения.Отборы, "ФизическоеЛицо", "=", Сотрудник.ФизическоеЛицо); ПараметрыПолучения.КадровыеДанные = "Сотрудник,ФизическоеЛицо,Подразделение,Должность,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ВидЗанятости,ДатаПриема,ДатаУвольнения,ГрафикРаботы"; ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолучения); Возврат ТаблицаСотрудников; |
|||
6
Slaifer
26.07.22
✎
11:28
|
запрос на скд написан, потому что в т.з было добавлено, что нужно каждый понедельник рассылать отчет определенным людям, тех сотрудников, которых уволил неделю назад.
(например 25.07 необходимо произвести выгрузку сотрудников, уволенных за период с 18.07 по 24.07), выгружать необходимо только сотрудников, которые работают по основному месту работы. |
|||
7
Slaifer
26.07.22
✎
11:29
|
я на скд выбрал в отборах ДатаУвольнения = начало прошлой недели
|
|||
8
6awkup_true
26.07.22
✎
11:31
|
(6) можно получить все данные через общие функции, запихать как внешний источник данных, а уж потом накладывать любые отборы, которые душа пожелает
|
|||
9
Amra
26.07.22
✎
11:36
|
(6) Изобретаем велосипед с квадратными колесами вместо того, чтобы использовать уже готовое....
|
|||
10
_Batoo
26.07.22
✎
11:56
|
(6) возьми отчет Штатные сотрудники, добавь туда пользовательское поле с твоим условием и настрой поля какие хочешь
|
|||
11
_Batoo
26.07.22
✎
11:57
|
(1) >> срез последних на нужную дату
так, кстати, делать нельзя. надо либо использовать программный интерфейс, либо уже если совсем приперло, то делать запрос к интервальному регистру |
|||
12
Amra
26.07.22
✎
11:59
|
(11) Не надо вообще изобретать велосипед. То что надо ТС делается в несколько кликов с уже имеющимся функционалом
|
|||
13
El_Duke
гуру
26.07.22
✎
12:04
|
(12) Вы не понимаете, этот отчет надо рассылать "определенным людям"
Видимо они такие большие и важные, что сами формировать его не будут, даже если в 2 клика переделать готовый |
|||
14
sitex
naïve
26.07.22
✎
12:08
|
(13) Поверьте у меня примеру тоже таких *небожителей* которые не могут даже 1 кнопку нажать, предостаточно.
|
|||
15
El_Duke
гуру
26.07.22
✎
12:20
|
(14) Верю, соболезную
|
|||
16
6awkup_true
26.07.22
✎
12:32
|
(14) тогда отчет вообще не нужен. в рег задании формировать таб док, выгружать в эксель и отправлять. но если уже прям через скд надо, то только схема нужна. получил схему, выполнил, отправил результат
|
|||
17
Amra
26.07.22
✎
12:36
|
(13) Рассылку отчетов украли? Кто посмел???
|
|||
18
sitex
naïve
26.07.22
✎
12:43
|
(16) Способов много и реализация тоже.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |