|
Как получить текущий "Номер лицевого счета" сотрудника? | ☑ | ||
---|---|---|---|---|
0
CbIP
10.06.22
✎
10:11
|
Доброго
Как программно получить ТЕКУЩИЙ "Номер лицевого счета" сотрудника в 1с 8.3 ЗКГУ 3.1 (можно и в ЗУП)? Пробовал обращаться к РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам но у одного сотрудника может быть несколько зарплатных проектов и лицевых счетов. Пробовал обращаться к РегистрСведений.МестаВыплатыЗарплатыСотрудников но у сотрудника может и не быть сведений в этом регистре если в справочнике "Сотрудники" на вкладке "Выплаты и учет затрат" будет установлена галка "Как всем" (при этом выбирается зарплатный проект по умолчанию для организации) и указан номер счета. Так вот как же получить этот текущий номер счета из справочника "Сотрудники"??? |
|||
1
Kigo_Kigo
10.06.22
✎
10:15
|
Ну так выбирай запросом и анализируй, один счет, несколько счетов, сотрудник не найден(пустой запрос или не вошел в список)
|
|||
2
CbIP
10.06.22
✎
10:24
|
В реквизитах справочника "Сотрудники" нет реквизита "Номер лицевого счета" или "Номер счета" что выбирать запросом?
в РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам нет пометки что проект текущий. |
|||
3
SleepyHead
гуру
10.06.22
✎
10:50
|
(0) Сначала получи место выплаты - оно не периодическое, привязано к сотруднику. Потом выбирай лицевой счет, который относится к этому месту выплаты.
|
|||
4
CbIP
10.06.22
✎
10:55
|
Откуда выбирать "Место выплаты"? если из РегистрСведений.МестаВыплатыЗарплатыСотрудников то у сотрудника может и не быть сведений в этом регистре
как выбрать "место выплаты" или "лицевой счет" из справочника Сотрудники? в нем нет таких реквизитов? |
|||
5
Гость из Мариуполя
гуру
10.06.22
✎
12:04
|
Нифига не понял.
Что подразумевается под термином - "текущий" (номер лицевого счета)? Если у сотрудника несколько ДЕЙСТВУЮЩИХ зарплатных проектов (и соответственно несколько номеров лицевых счетов) - то все они текущие. Почему ты решил, что если они все действующие, то текущий из них - только один? Все действуют - значит все текущие. А если какие-то зарплатные проекты уже не действующие - тогда хм.. да тупо почистить РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам от ненужных. Итак, термин "текущий" (номер лицевого счета) чем отличается от термина "действующий в настоящее время" (зарплатный проект)? |
|||
6
Гость из Мариуполя
гуру
10.06.22
✎
12:12
|
на крайняк в РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам есть даты. Если принять, что текущий - это последний, то можно отсортировать по дате.
а если в справочнике сотрудники стоит "как всем" (зарплатный проект по умолчанию для организации), то из РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам тупо выбрать лицевой с нужным зарплатным проектом по умолчанию. |
|||
7
CbIP
10.06.22
✎
12:19
|
Когда заходим из справочника Сотрудники в Сотрудника на вкладку "Выплаты, учет затрат" у него есть поле ввода "Номер счета" (Это и есть текущий счет - счет на который ему будет выплачена з/п, а счетов в регистре РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам у этого сотрудника может быть много).
Как получить именно тот счет который указан в "Номер счета" при открытии вкладки "Выплаты, учет затрат"? где он храниться в справочнике Сотрудники? |
|||
8
Фрэнки
10.06.22
✎
12:22
|
(7) по идее, если очень хочется сделать по типовому, то нужно посмотреть в коде, каким именно образом реализовано заполнение этого поля на форме.
Или посмотреть в коде по ссылкам на использование из регистра сведений. А если предположить не глядя, то можно написать запрос с условиями. А условий несколько должно выполниться, чтоб "текущий" оказался именно таким, что указан на вкладке |
|||
9
Kigo_Kigo
10.06.22
✎
12:25
|
Кстати , где то он в стандартной конфе получется для работы, может стоит туда залезть а там и общий модуль для этого есть и ничего изобретать не надо?
|
|||
10
_Batoo
10.06.22
✎
12:36
|
Общий модуль "КадровыйУчетВнутренний", читаем описания к функциям:
- ЗапросВТПостоянныеКадровыеДанныеФизическихЛиц - ЗапросВТКадровыеДанныеФизическихЛиц - ЗапросВТПостоянныеКадровыеДанныеСотрудников - ЗапросВТКадровыеДанныеСотрудников в описаниях перечислены возможные получаемые кадровые данные для функции "КадровыйУчет.КадровыеДанныеСотрудников(...)" тут можно найти и место выплаты и номер лицевого счета и чего только нет |
|||
11
CbIP
10.06.22
✎
13:32
|
Делаю так:
Данные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудник, "НомерЛицевогоСчета"); Если Данные.Количество() > 0 Тогда ИскомыйРеквизит=Данные[0].НомерЛицевогоСчета; КонецЕсли; Сообщить(Сотрудник); Сообщить(ИскомыйРеквизит); Похоже фунция просто обращается к РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам и соответственно выдает все счета из регистра, а не текущий счет сотрудника. |
|||
12
_Batoo
10.06.22
✎
13:41
|
Значит как писали в (3) нужно получить текущее место выплаты сотрудника (зарплатный проект, банковский счет) и далее определить по нему номер счета
|
|||
13
CbIP
10.06.22
✎
13:48
|
Данные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудник, "ЗарплатныйПроект");
Если Данные.Количество() > 0 Тогда ИскомыйРеквизит=Данные[0].ЗарплатныйПроект; КонецЕсли; Сообщить(Сотрудник); Сообщить(ИскомыйРеквизит); ток же выдаёт все зарплатные проекты сотрудника. "нужно получить текущее место выплаты сотрудника" в том то и загвоздка как получить текущие "место выплаты сотрудника (зарплатный проект, банковский счет)"? |
|||
14
_Batoo
10.06.22
✎
14:00
|
читал (10)? "МестоВыплаты"
|
|||
15
CbIP
10.06.22
✎
14:05
|
"читал (10)? "МестоВыплаты""
!!!Оно!!! Огромное спасибо ребят! |
|||
16
CbIP
10.06.22
✎
14:55
|
ну и еще тупой вопрос:
а как в запрос эту функцию запихнуть: КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудник, "МестоВыплаты") ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |