|
ЗУП 3.1: отменённые плановые начисления сотрудников 🠗 (Фрэнки 04.10.2022 09:26) | ☑ | ||
---|---|---|---|---|
0
Stolz
26.08.22
✎
10:29
|
Всем доброго времени суток!
Как известно, для получения параметров действующих начислений сотрудников в ЗУП 3.1 используется функция ДействующиеНачисленияСотрудников общего модуля ЗарплатаКадрыРасширенный. Однако задача поставлена противоположным образом: требуется получить перечень плановых начислений, которые когда-либо имелись у некоего сотрудника, но по состоянию на указанную дату были отменены; также необходимо получить даты отмены. Конечно, можно написать что-то вроде ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних("ПлановыеНачисления", Запрос.МенеджерВременныхТаблиц, Истина, ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(СотрудникиДаты, КолонкиСотрудникиДаты), ПараметрыПостроения); и установить отбор по ресурсу Используется. Однако хотелось бы по возможности прибегать к методам программного интерфейса или, хотя бы, служебным процедурам и функциям. Пока в голову приходит только воспользоваться отчётом ДинамикаПлановыхНачислений, он же «История изменения оплаты труда». Однако этот отчёт, мягко говоря, не блещет быстродействием. Есть у кого-то какие-нибудь идеи о том, как решить подобную задачу, и если есть, то какие именно? |
|||
1
Dmitry77
26.08.22
✎
10:55
|
Получить всё когда либо наз начавшиеся плановые по регистрам плановых начислений. Получить всё действующие на текущий момент програмным интерфейсом. Сравнить 2 списка. По отмененным из регистров получить даты отмены.
|
|||
2
_Batoo
26.08.22
✎
10:59
|
СоздатьВТИмяРегистра и тд - это и есть программный интерфейс ЗУПа
|
|||
3
Stolz
26.08.22
✎
11:08
|
(1) >> Получить всё когда либо наз начавшиеся плановые по регистрам плановых начислений
Это всё, конечно замечательно, но вопрос всё тот же: как это всё когда-либо назначавшееся получить посредством программного интерфейса, то есть без прямого обращения к регистрам? (2) >> СоздатьВТИмяРегистра и тд - это и есть программный интерфейс ЗУПа Увы, не совсем так. Программный интерфейс составляют процедуры и функции общих модулей, а также типовые отчёты. По крайне мере, так говорили на курсах в учебном центре «1С». |
|||
4
Фантазер
26.08.22
✎
20:49
|
"Вам шашечки или ехать?"
У вас учебная задача или реальная задача по получению данных? |
|||
5
SleepyHead
гуру
28.08.22
✎
05:39
|
(0) Есть регистр "Плановые начисления интервальный", в нем дата окончания.
|
|||
6
Stolz
06.09.22
✎
11:01
|
(4) Мне - ехать, причём довольно далеко: не хотелось бы каждый раз при обновлении конфигурации проверять, не изменилась ли структура метаданных, и будет ли функционал работать вследствие оного. Поэтому интересует решение именно с использованием программного интерфейса. Как это можно было бы сделать без него, я уже продемонстрировал. Задача по получению данных вполне реальная.
(5) Вопрос не в том, в каком регистре что-либо хранится, а как получить данные через программный интерфейс, то есть избежать прямого обращения к регистрам. |
|||
7
pavlika
06.09.22
✎
11:05
|
(6) Т.е. структура ргистра это не постоянно, а программный интерфейс это на века?
|
|||
8
Stolz
08.09.22
✎
10:49
|
(7) Ну, это вопрос к фирме «1С». А их декларируемая официальная позиция - пользоваться программным интерфейсом.
|
|||
9
Фантазер
08.09.22
✎
12:18
|
(8) В нашем мире доверяться 1с в плане неизменности кода нельзя. Постоянно они так делают и чем угодно аргументируют.
Я бы сделал как проще всего, чтобы проще было переделывать. И написать пожелание на 1С о таком отчете. Глядишь как нибудь оно само появится. И будет работать. |
|||
10
_Batoo
08.09.22
✎
12:29
|
СоздатьВТИмяРегистра работают как в редакции 3.1.10, которая вышла два с лишним года назад, так и в свежей 3.1.23
но ты подумай еще пару недель что тебе использовать)) |
|||
11
SleepyHead
гуру
08.09.22
✎
13:40
|
(6) "Вопрос не в том, в каком регистре что-либо хранится, а как получить данные через программный интерфейс, то есть избежать прямого обращения к регистрам."
Ну, так посмотри, как создаются интервальные регистры в ЗУП. Через тот же программный интерфейс, потом просто пишутся в регистр. |
|||
12
Stolz
20.09.22
✎
10:15
|
(9) Понятное дело, что на неизменность кода надеяться нельзя: фирма «1С», случается, и вовсе выпускает новые версии, - была вот ЗУП 2.5, стала 3.0 и 3.1. Но, всё же, думается, желательно придерживаться официальных предписаний, когда это возможно.
(10) Так и состав метаданных не так чтобы и уж сильно изменился, - что ж, теперь вовсе игнорировать политику фирмы «1С» и, к примеру, напрямую читать регистры? Разумеется, если другого выхода нет, то так и приходится поступать, вот только вопрос был задан о том, есть ли в данном случае другой выход и, если да, то в чём он заключается. Что же до выданного ЦУ, то вряд ли смогу им воспользоваться, ибо давно уже реализовал требуемое тем образом, что описан в первом же сообщении. Просто подумалось, что кто-то предложит что-то такое, что мне неизвестно; жаль, что не нашлось никого более квалифицированного сравнительно со мною. (11) Вообще-то, уже смотрел. Это несложно понять из самого первого сообщения. Вопрос в том, можно ли в данном случае избежать прямого обращения к регистрам, будь они интервальные или нет, и как это сделать. |
|||
13
SleepyHead
гуру
20.09.22
✎
11:17
|
(12) Можно. Но в основном такой программный интерфейс дает срез на дату.
Если религия не позволяет тем или иным способом обращаться к регистрам - придется делать неоптимальные по производительности алгоритмы, сравнивая состояния на две соседние даты. Сколько дат, сколько и сравнений. |
|||
14
SleepyHead
гуру
20.09.22
✎
11:18
|
(12) "жаль, что не нашлось никого более квалифицированного сравнительно со мною."
Сферический эффект Даннинг-Крюгера в вакууме. |
|||
15
Stolz
27.09.22
✎
13:30
|
(13) Вопрос не в религии, а, скорее, в двигателе прогресса, т. е. лени: как уже говорилось, не хотелось бы с каждым обновлением конфигурации проверять работоспособность доработок.
(14) Был бы рад, если бы это было так. Вот только на поставленный вопрос пока не смог ответить никто. Так что процитированное в (14), увы, остаётся верным. |
|||
16
SleepyHead
гуру
27.09.22
✎
14:17
|
(15) Ответили и не раз. А кое-кто не смог осознать ответ.
|
|||
17
Stolz
04.10.22
✎
09:23
|
(16) Скорее, кое-кто не смог осознать вопрос. А он был простым: как сделать требуемое именно через программный интерфейс. На это ответов не было. Другие же методы решения, которые, собственно, и предлагались во множестве, не интересуют вообще.
|
|||
18
Фрэнки
04.10.22
✎
09:26
|
утопил ветку
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |