ТХО по зарплате для одного сотрудника

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

ТХО по зарплате для одного сотрудника

Сообщение zna »

Коллеги, есть задача сформировать бухсправки по итогам расчёта з/пл для одного сотрудника, скажем, на день увольнения/ на день начисления отпускных. В окне формирования бухсправок есть фильтр только по подразделению, а по сотруднику-нет..
В бухсправках на конец месяца уволенный сотрудник уже не должен присутствовать.
Используем режим без ТХО. Какие варианты есть? Использовать ТХО и как-то параметры? Понятно, что можно ТХО АПИ задействовать, но это уже тяжёлая артиллерия.. :sad:
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: ТХО по зарплате для одного сотрудника

Сообщение edward_K »

без апи вам видимо не обойтись.
да и стандартная апиха может не совсем подойдет, хотя вы можете пат формулами вычесть уже сформированные обороты. Вообще шатный механизм сначала формирует бухсправки, а потом на базе них уже проводки. Я подпиливал, чтобы проводки формировались по хозоперации.
Хозопераций должно быть минимум - в идеале одна, ну может быть налоги на фот отдельно.
Тогда возможна схема будет такая - вы руками формируете бухсправку(или платежное поручение на реестр на перечисление - а тут уже и люди есть), в ней указываете хозоперацию с апихой с определеными параметрами и с минусом уже сформированных оборотов. По концу месяца формируете штатным образом. Это формирование идет последним днем месяца и здесь уже собираете все - уже сформированные обороты. Самое тяжкое - грамотно отнять обороты - есть апиха Oborot.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: ТХО по зарплате для одного сотрудника

Сообщение zna »

Если делать на АПИ, то схема видится такой:
1. В середине месяца бухгалтер делает бухсправку по уволенному/ ушедшему в отпуск с разноской всех начислений и налогов. Надо будет вызвать интерфейс выбора сотрудников Z_LSCHET::GETPMEU1REP и собрать суммы по начислениям и налогам- это несложно. На дату увольнения/ начала отпуска
2. Одновременно формируются такие же обороты, но со знаком минус с датой- конец месяца по ушедшему в отпуск.
3. На конец месяца штатно формируются бухсправки по всем, в том числе и по ушедшему в отпуск (уволенный, возможно, будет закрыт для расчёта).

В итоге на конец месяца обороты будут сминусованы по ушедшему в отпуск и мы должны получить в целом правильные обороты.

Посмотрел параметры Z_LSCHET::GETPMEU1REP:
1. PRCPODR = Katpodr.nrec? так?
2. PRCEX ? это что?
3. PRMODE - тоже непонятно
4. VALIDATORS- вообще непоняно

Поправьте, пож, что не так
Ещё вопрос- куда сохраняются выбранные сотрудники?
Спасибо
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: ТХО по зарплате для одного сотрудника

Сообщение edward_K »

[quote="zna"]Если делать на АПИ, то схема видится такой:
Мне не очень нравится идея с минусами, хотя это технически проще - просто пока не будет общих проводок за месяц вы не увидите сальдовку нормальную при формировании за месяц.
Параметры -

1. PRCPODR = вышестоящее подразделение
2. PRCEX - нижестоящее подразделение
3. PRMODE - нашел только mocommon
4. VALIDATORS- ITraditionalPersonalAccountValidators
Сохранение идет в Formarks.

Код: Выделить всё

    ForMarks.choice := My;

Код: Выделить всё

   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.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: ТХО по зарплате для одного сотрудника

Сообщение zna »

Очень благодарен, Эдвард!
Ответить