Страница 1 из 1

Назначение сотрудника на заданную дату

Добавлено: 30 июн 2014, 15:07
Irina_
Здравствуйте. Нужно определить назначение сотрудника на определенную дату. У сотрудника на эту дату может быть основное назначение и 1 или более внутренних совмещений, на каждое из которых открыт свой л/сч в з/п. Нужно, зная LSCHET.NREC, найти на заданную дату APPOINTMENTS.NREC . Возможно есть какая-то готовая функция. Буду очень благодарна за рекомендации.
P.S. Это нужно для определения количества занимаемых ставок, которое можно взять из назначения. Функция GetNumStav_OnDate из AppFuncs.vih увы не подходит, т.к. работает с PERSONS.NREC, т.е. только с основным назначением, на которое заведена карточка, а мне надо и внутренние совмещения.

Re: Назначение сотрудника на заданную дату

Добавлено: 30 июн 2014, 15:18
RAJAH
Функция обычно возвращает одно значение, а вам, судя по всему, нужно получить множество APPOINTMENTS.NREC. Всегда можно написать свой запрос, который будет даже эффективнее функции.

Re: Назначение сотрудника на заданную дату

Добавлено: 30 июн 2014, 15:31
edward_K
lschet.nrec == Appointments.cAddNrec2
перчить и солить по вкусу.

Re: Назначение сотрудника на заданную дату

Добавлено: 30 июн 2014, 19:25
Irina_
RAJAN, мне и надо было получить на заданную дату одно APPOINTMENTS.NREC для каждого л/сч сотрудника, открытого на заданную дату. Я надеялась, что есть функции не только для основного назначения, но и для совмещения. Просто не хотелось возиться с запросом. Но пришлось. Все получилось, только есть проблема с несколькими сотрудниками, которые на указанную дату находились в отпуске по уходу за ребенком до 3 лет. В APPOINTMENTS у них оказались все записи с заполненной датой ухода. И количество ставок по ним я получила = 0. Не знаю, правильно ли это. Или же в таком случае надо брать размер ставки из последней записи в назначениях по л/сч.

Спасибо всем.

Re: Назначение сотрудника на заданную дату

Добавлено: 25 июл 2014, 10:24
smmmmm
Добрый день, уважаемые.
Помогите, пожалуйста, у меня 2 вопроса:
1) как найти записи в appointments, соответствующие внутренним совместительствам?
2) модуль Зарплата -> документы -> лицевые счета -> смежные данные -> расчёт зар. платы -> размер годового дохода -> с пред. места работы -> основной налог ---- вот этот основной налог лежит в prvidopl.podnal, но там лежит их много, а нам надо только "с пред. места работы"

Re: Назначение сотрудника на заданную дату

Добавлено: 25 июл 2014, 10:45
edward_K
Так и не научились создавать тему - это всем доступно :(
1. Lprizn=3
2. Есть журнал + в фейсе Ctrl+F4 - getifccurrentfieldname - приводите здесь все что вернет. Здесь за отбор отвечает prvidopl.choice
Посмотреть можно еще в money.ccm - он у вас есть в нескольких архивах в папке frm, ест. лучше искать самый свежий

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

//--------------------------------------------------------------------------------
//                                                            ВЫПЛАТЫ МЕЖПЕРИОДА
//--------------------------------------------------------------------------------
// [p]ayment [c]odes

// выплаты текущего периода и проч.
pcCharge              = 0;  // выплаты текущего периода
pcDeduction           = 1;  // удержания
pcAgreement           = 2;  // договоры подряда
pcPremium             = 4;  // премия с учетом КТУ
pcSalary              = 5;  // зарплата с учетом КТУ
pcWayBill             = 6;  // путевые листы
pcSumPaidOutReturn    = 7;  // возврат подотчетных сумм
pcCurrentVacation     = 8;  // матпомощь к текущему отпуску
pcWelfare             = 9;  // матпомощь в межпериод
pcImported            = 10; // импортированные суммы
pcArchiveVacation     = 11; // матпомощь к архивному отпуску
pcInverceSalary       = 17; // зарплата от обратного
pcCostSharing         = 18; // распределение затрат
pcOverDraft           = 19; // превышение норм командировочных расходов

// Диапазон значений для региональных доработок (промежуточные значения не занимать!)
pcPartnersRangeLow    = 51; // нижнее допустимое значение для партнеров
pcPartnersRangeHigh   = 59; // верхнее допустимое значение для партнеров

RasPlatCol            = 61;

pcFuturePeriodDelimiter = 80; // разделитель для определения выплат текущего и будущего периодов

// выплаты будущего периода и проч.
pcSys_Dog_Future      = 88; // договора подряда будущего периода
pcSys_Uder_Future     = 89; // удержания будущего периода
pcOveralls            = 90; // спецодежда
pcIncomeTax           = 97; // подоходный налог с прошлого места работы
pcPastYearIncome      = 98; // доход, перенесенный с прошлого года
pcFuturePeriodCharge  = 99; // выплаты будущего периода
pcFutureVacation      = 112;  // матпомощь к будущему отпуску

pcCostsAssignmentCodes  = 200; // коды отнесения затрат
pcAccountingAlternation = 201; // настройки замены ШПЗ
pcCostsSharingTemplates = 202; // шаблоны настроек распределения затрат

pcArchCharge            = 300;  // выплаты архивного периода
pcArchDeduction         = 301;  // удержания архивного периода
pcArchAgreement         = 302;  // договоры подряда архивного периода
pcArchPremium           = 304;  // премия с учетом КТУ архивного периода

// Диапазон "архивных" значений для региональных доработок (промежуточные значения не занимать!)
pcArchPartnersRangeLow  = 351; // нижнее допустимое значение для партнеров
pcArchPartnersRangeHigh = 359; // верхнее допустимое значение для партнеров

P.S. К программированию это как то мало имеет отношение. Не будете стараться - буду удалять ваши сообщения без объяснения причин.

Re: Назначение сотрудника на заданную дату

Добавлено: 25 июл 2014, 11:18
smmmmm
edward_K писал(а):Так и не научились создавать тему - это всем доступно :(
1. Lprizn=3
2. Есть журнал + в фейсе Ctrl+F4 - getifccurrentfieldname - приводите здесь все что вернет. Здесь за отбор отвечает prvidopl.choice
Посмотреть можно еще в money.ccm - он у вас есть в нескольких архивах в папке frm, ест. лучше искать самый свежий

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

//--------------------------------------------------------------------------------
//                                                            ВЫПЛАТЫ МЕЖПЕРИОДА
//--------------------------------------------------------------------------------
// [p]ayment [c]odes

// выплаты текущего периода и проч.
pcCharge              = 0;  // выплаты текущего периода
pcDeduction           = 1;  // удержания
pcAgreement           = 2;  // договоры подряда
pcPremium             = 4;  // премия с учетом КТУ
pcSalary              = 5;  // зарплата с учетом КТУ
pcWayBill             = 6;  // путевые листы
pcSumPaidOutReturn    = 7;  // возврат подотчетных сумм
pcCurrentVacation     = 8;  // матпомощь к текущему отпуску
pcWelfare             = 9;  // матпомощь в межпериод
pcImported            = 10; // импортированные суммы
pcArchiveVacation     = 11; // матпомощь к архивному отпуску
pcInverceSalary       = 17; // зарплата от обратного
pcCostSharing         = 18; // распределение затрат
pcOverDraft           = 19; // превышение норм командировочных расходов

// Диапазон значений для региональных доработок (промежуточные значения не занимать!)
pcPartnersRangeLow    = 51; // нижнее допустимое значение для партнеров
pcPartnersRangeHigh   = 59; // верхнее допустимое значение для партнеров

RasPlatCol            = 61;

pcFuturePeriodDelimiter = 80; // разделитель для определения выплат текущего и будущего периодов

// выплаты будущего периода и проч.
pcSys_Dog_Future      = 88; // договора подряда будущего периода
pcSys_Uder_Future     = 89; // удержания будущего периода
pcOveralls            = 90; // спецодежда
pcIncomeTax           = 97; // подоходный налог с прошлого места работы
pcPastYearIncome      = 98; // доход, перенесенный с прошлого года
pcFuturePeriodCharge  = 99; // выплаты будущего периода
pcFutureVacation      = 112;  // матпомощь к будущему отпуску

pcCostsAssignmentCodes  = 200; // коды отнесения затрат
pcAccountingAlternation = 201; // настройки замены ШПЗ
pcCostsSharingTemplates = 202; // шаблоны настроек распределения затрат

pcArchCharge            = 300;  // выплаты архивного периода
pcArchDeduction         = 301;  // удержания архивного периода
pcArchAgreement         = 302;  // договоры подряда архивного периода
pcArchPremium           = 304;  // премия с учетом КТУ архивного периода

// Диапазон "архивных" значений для региональных доработок (промежуточные значения не занимать!)
pcArchPartnersRangeLow  = 351; // нижнее допустимое значение для партнеров
pcArchPartnersRangeHigh = 359; // верхнее допустимое значение для партнеров

P.S. К программированию это как то мало имеет отношение. Не будете стараться - буду удалять ваши сообщения без объяснения причин.
Спасибо за ответ! Тему вроде соответствующую выбрал, меня тоже связь лиц. счетов и назначений интересует.
По поводу lprizn: уже нашёл - http://www.tyumbit.ru/gal_forum/viewtop ... nts#p13325
За prvidopl.choice - отдельное спасибо.
Постскриптум не совсем понятен.

Re: Назначение сотрудника на заданную дату

Добавлено: 25 июл 2014, 11:37
edward_K
Если не уверены, что вопрос полностью укладывается в тему, то создаете новую. Не надо кидаться сообщениями куда попало. Здесь у вас первая часть вопроса еще как то на 1 процент подходит(в том смысле что по назначениям), а вторая вообще не в тему. Если вопросы очень разные(как здесь), лучше создайте 2 темы. Народ часто смотрит только на заголовки, и только модераторы просматривают все.

Re: Назначение сотрудника на заданную дату

Добавлено: 25 июл 2014, 12:06
smmmmm
edward_K писал(а):Если не уверены, что вопрос полностью укладывается в тему, то создаете новую. Не надо кидаться сообщениями куда попало. Здесь у вас первая часть вопроса еще как то на 1 процент подходит(в том смысле что по назначениям), а вторая вообще не в тему. Если вопросы очень разные(как здесь), лучше создайте 2 темы. Народ часто смотрит только на заголовки, и только модераторы просматривают все.
Учту на будущее...