Страница 1 из 1
ТХО по зарплате для одного сотрудника
Добавлено: 08 авг 2018, 17:27
zna
Коллеги, есть задача сформировать бухсправки по итогам расчёта з/пл для одного сотрудника, скажем, на день увольнения/ на день начисления отпускных. В окне формирования бухсправок есть фильтр только по подразделению, а по сотруднику-нет..
В бухсправках на конец месяца уволенный сотрудник уже не должен присутствовать.
Используем режим без ТХО. Какие варианты есть? Использовать ТХО и как-то параметры? Понятно, что можно ТХО АПИ задействовать, но это уже тяжёлая артиллерия..
Re: ТХО по зарплате для одного сотрудника
Добавлено: 08 авг 2018, 23:25
edward_K
без апи вам видимо не обойтись.
да и стандартная апиха может не совсем подойдет, хотя вы можете пат формулами вычесть уже сформированные обороты. Вообще шатный механизм сначала формирует бухсправки, а потом на базе них уже проводки. Я подпиливал, чтобы проводки формировались по хозоперации.
Хозопераций должно быть минимум - в идеале одна, ну может быть налоги на фот отдельно.
Тогда возможна схема будет такая - вы руками формируете бухсправку(или платежное поручение на реестр на перечисление - а тут уже и люди есть), в ней указываете хозоперацию с апихой с определеными параметрами и с минусом уже сформированных оборотов. По концу месяца формируете штатным образом. Это формирование идет последним днем месяца и здесь уже собираете все - уже сформированные обороты. Самое тяжкое - грамотно отнять обороты - есть апиха Oborot.
Re: ТХО по зарплате для одного сотрудника
Добавлено: 09 авг 2018, 09:31
zna
Если делать на АПИ, то схема видится такой:
1. В середине месяца бухгалтер делает бухсправку по уволенному/ ушедшему в отпуск с разноской всех начислений и налогов. Надо будет вызвать интерфейс выбора сотрудников Z_LSCHET::GETPMEU1REP и собрать суммы по начислениям и налогам- это несложно. На дату увольнения/ начала отпуска
2. Одновременно формируются такие же обороты, но со знаком минус с датой- конец месяца по ушедшему в отпуск.
3. На конец месяца штатно формируются бухсправки по всем, в том числе и по ушедшему в отпуск (уволенный, возможно, будет закрыт для расчёта).
В итоге на конец месяца обороты будут сминусованы по ушедшему в отпуск и мы должны получить в целом правильные обороты.
Посмотрел параметры Z_LSCHET::GETPMEU1REP:
1. PRCPODR = Katpodr.nrec? так?
2. PRCEX ? это что?
3. PRMODE - тоже непонятно
4. VALIDATORS- вообще непоняно
Поправьте, пож, что не так
Ещё вопрос- куда сохраняются выбранные сотрудники?
Спасибо
Re: ТХО по зарплате для одного сотрудника
Добавлено: 09 авг 2018, 11:14
edward_K
[quote="zna"]Если делать на АПИ, то схема видится такой:
Мне не очень нравится идея с минусами, хотя это технически проще - просто пока не будет общих проводок за месяц вы не увидите сальдовку нормальную при формировании за месяц.
Параметры -
1. PRCPODR = вышестоящее подразделение
2. PRCEX - нижестоящее подразделение
3. PRMODE - нашел только mocommon
4. VALIDATORS- ITraditionalPersonalAccountValidators
Сохранение идет в Formarks.
Код: Выделить всё
My := _cLSchet;
if Validators <> NullRef
My := ITraditionalPersonalAccountMarks(Validators).GetPersonalAccountMarksChoice;
есть попроще GetPMeu1 - вызывает тот же самый, но без последних 2 параметров.
Код: Выделить всё
#include GetPMeu.vih
interface GetPMeu1 'Список Работников' escclose,cyan;
var
PrCex: comp;
PrCpodr: comp;
GPM: GetPMeu1Rep;
parameters
prCpodr, // вышестоящее подразделение
prCex; // нижестоящее подразделение
//------------------------------------------------------------------------------
embedded GetPMeuEmbedded interface;
show (,,,);
end
handleevent
cmInit:
{
var tmpTitle: String;
//инициализируем GetPMeu1Rep
GPM.SetParams(PrCpodr, prCex);
GPM.SetMode(moCommon, tmpTitle);
//выводим заголовок
SetTitle(tmpTitle);
//связываем интерфейсы
BindEmbeddedInterface(GetPMeuEmbedded, GPM);
}
cmDone:
{
UnBindEmbeddedInterface(GetPMeuEmbedded);
}
cmDefault:
{
GPM.GetParams(PrCpodr, prCex);
CloseInterface(cmDefault);
}
end;
end.
Re: ТХО по зарплате для одного сотрудника
Добавлено: 09 авг 2018, 11:20
zna
Очень благодарен, Эдвард!