Форум по программе Контур.Зарплата.

Здесь мы отвечаем на вопросы возникающие у наших пользователей или партнеров при работе с программой или при внедрении ее в организации.


Прежде чем создать обращение, воспользуйтесь поиском. Попробуйте найти похожий топик по ключевому слову. Например "СЗВ-СТАЖ" или "6-НДФЛ".


Если Вы нашли "чужую" тему с похожим вопросом, где уже был дан ответ (есть сообщение помеченное как "Ответ"), но при этом ответ не подходит для Вашей ситуации, то не задавайте свой вопрос в комментариях к "чужой" теме. Лучше создайте новую тему со своим вопросом.


Полезные ссылки по Контур.Зарплата:

  1. Полный дистрибутив и Веб-обновления
  2. Обучающий урок
  3. Вебинары
  4. "Старый" форум (архивный)
  5. Дистрибутив ПФ-Отчет+
0

Расчет доплаты к БЛ за счет предприятия

Игорь Шалдин 4 дня назад в Прочее 0

Здравствуйте.

Не могу понять логику поставочного варианта расчёта доплаты к  БЛ за счет предприятия.

Сумма доплаты = разница м-ду начисленной суммой БЛ и суммой оклада за рабочие дни, приходящиеся на время БЛ.

Пример:

Оклад = 50000

ФРВ = 21

Стоимость одного дня = 50000/21 = 2380.95

СДЗ для БЛ = 958.9

Сумма доплаты за 1 день = 2380.95 - 958.9 = 1422.05


Сделал такие настройки доплаты:

Где BzOkl - скриптовая функция, получающая действующее значение оклада.

Как я понимаю, это означает, что доплату необходимо производить до максимальной суммы, которая равна окладу.

Считаю БЛ за 1 день Астрову:

Что такое "Допл. до огран. за сч.предпр." = 958.90 и "Доплата сверх нормы" = 707.77 ?  

Как рассчитана сумма 707.77? Если вместо неё ручками поставить сумму доплаты за 1 день = 1422.05, то в ЛС будет всё "как хочется":

Можно ли вообще "довести" БЛ до оклада с пом. поставочного вида 894 ?

0
Отвечен

Описание функции СУММА_В_СВОД()

sltur 2 недели назад в Прочее обновлен Гашков Николай (Эксперт) 1 неделю назад 3

Здравствуйте! Подскажите, где найти описание функции СУММА_В_СВОД()? В справке не нашел, не могу понять, что означают ее параметры.

// НАСТРОЙКА ОТЧИСЛЕНИЙ НА ТРАВМАТИЗМ 60% С ИНВАЛИДОВ
&I(N,1,0)=0;
&NomSet(N,10,0)=60;
&Podr(N,9,0)=ПОДР;
$BEG_SCRIPT
char str_inv[256];
if (atoi(TypeCalc)) // берем из системной формы свода информацию об инв.
str_inv = d_inv;
else
{
var Dat = CreateObject("KDate");
Dat.SetDateII(countday,mrasch);
GetKchValue("d_inv",str_inv,255,Dat);
}
DefineTravmParam(Podr,str_inv,I,NomSet);
$END_SCRIPT
#БАЗАОТЧ(N,16,2)=СУММА_В_СВОД(12Н,1107,КОДНУ,СУММАНУ);
#Proc(N,6,2)=ИЗ_СЕТКИ(NomSet,10,0,0);
//&РЕЗУЛЬТАТ(N,16,6)=БАЗАОТЧ*Proc/100.*(1-I*.4);
&РЕЗУЛЬТАТ(N,16,6)=NomSet;
#C_kv_db = R_String(213);

Ответ

Добрый день

/* Пеpвый паpаметp - набор символов суммирования */
/* Втоpой паpаметp - столбец таблицы входимоси */
/* Третий параметр - вид Н-У */
/* Четвертый параметр - выражение */
/* Если вид отмечен в столбце таблицы входимости одним из указанных */
/* символов, то возвращается значение выражению

Другими словами это "выборка суммы по  столбцу ТВХ по указанным символам"

0
На рассмотрении

Создание ЛС на этапе внедрения

Игорь Шалдин 3 недели назад в Прочее обновлен Гашков Николай (Эксперт) 2 недели назад 3

Этап внедрения. Загружаю данные из сторонней кадровой системы клиента с пом. таблицы "КП<- Создание ЛС по данным из системы "Контур-Персонал"". В результате получаю:

Подразделение, должность и дата приема на работу загрузились, но кнопка "принять на работу" активна, т.е. КЗ считает такой ЛС "не принятым", соответственно должность не привязана ни к какому подразделению. Теперь только ручками принимать всех на работу, указывать дату поступления и выбирать должность, или можно как-то автоматизировать процесс?

0
Отвечен

разбиение по ШЗ в своде по шифрам затрат

Юджин 4 недели назад в Прочее обновлен Гашков Николай (Эксперт) 3 недели назад 5

Добрый день. Подскажите, пожалуйста, как в своде по шифрам затрат (КЗ хозрасчетная от 02.06.2022) добавить виды для разбиения, например, премия? Сотрудник работает по одному ШЗ и имеет надбавку по другому ШЗ надо чтобы не только РК разбивал но и премию делил по ШЗ.

0
Отвечен

Массовый расчет отпускных

Игорь Шалдин 4 недели назад в Прочее обновлен Гашков Николай (Эксперт) 3 недели назад 12

Клиент хочет рассчитывать отпуска сотрудников массово, на основе данных из внешнего источника.

Этот самый "внешний источник" может выдать данные по отпускам в виде таблицы ТН - дата начала - дата конца - тип отпуска (обычный/учебный).

Согласны на "полуавтоматический" расчет: принимаем даты начала/конца в таблицу  - разносим. Но вместо разноски открывается интерфейс расчета отпуска с предзаполненными датами и типом отпуска. Можно ли такое реализовать? 

Есть ли ещё какие-то варианты решения вопроса?

Думал о расчете отпускных в таблице, но кроме сумм в ЛС надо заполнить ещё и табель. И тут возникает два вопроса:

1. Функция replace разнесет символ "О" во все дни периода отпуска, в т.ч. - в праздники. Как "обойти" праздничные дни?

2. Функция replace, вроде как, работает только с текущим месяцем. Как разнести символ "О" в будущий месяц, если отпуск переходящий?

Ответ

Пример таблицы для расчета отпуска.

Расчет происходит при разноске таблицы. 

В таблице должны быть заполнены поля:

  •  ТН в КЗ
  • Дата начала отпуска
  • Дата окончания отпуска

расчет отпуска из таблицы.zip

Для запуска расчета отпуска используется такой скрипт

UserCalcOneOtpusk(Beg, End)
{
  var BegD=KDateFromStr(Beg);
  
  var EndD=KDateFromStr(End);
  //даты отпуска заданы неверно
  if( !BegD.IsValid() || !EndD.IsValid() || BegD.GT(EndD))
    return "-1";
  
  int  monthSr= BegD.GetAbs()-1;// месяц для расчета среднего
  var lsform=CreateObject("LS_Form"); //для WIN создали окно где будет происходить корректировка сумм
  if (!VarHasValue(lsform)) 
  {
    if (ESC==param_b2(2))   // запрос параметров расчета (автоматически, с корректировкой...), работает для режима в func[0]
      return to_string(ESC);
  }
  int TypeOtp = OTPUSK_OSN; 
/*
 else if (T=="173-176")     // учебный отпуск
      TypeOtp = OTPUSK_UCH; 
   else TypeOtp = OTPUSK_DOP; // все остальные считаем как Доп
*/
  var Otp = CreateObject("KCalcSredn"); //установит func[0]=2 - глобальный режим "расчет отпуска", восстановит при разрушении 
  if (ESC==Otp.InitOtp2(BegD,EndD,TypeOtp,monthSr,0)) 
      return to_string(ESC);

  string rez=to_string(Otp.Calculate(0,2))+"^";  
  //количество дней между датами
  //rez+=to_string(EndD.Diff(BegD)+1)+"^";
  //количество дней отпуска (определяем по табелю)
  rez+=to_string(CalcTabelSimCount(BegD,EndD,"О"))+"^";
  //средний
  rez+=to_string(Otp.SumSredn());
  return rez;  
}

0
Отвечен

Как в просмотре ЛС настроить ширину колонок?

Светлана Александровна 4 недели назад в Прочее обновлен Гашков Николай (Эксперт) 4 недели назад 3

Добрый день.Пока работали под WIN XP все столбики ЛС были на мониторе. Перешли на WIN 7 - появилась прокрутка вправо и не маленькая. Можно как-то сузить столбики ЛС, чтобы видеть их все. Попутно - как задать набор нужных реквизитов ЛС ? Например мы не работаем с объектами и источниками

0
Отвечен

Сотрудник в двух организациях

Алексей П 4 недели назад в Прочее обновлен Гашков Николай (Эксперт) 4 недели назад 3

Добрый день!

Ситуация: "Контур Зарплата УБ" несколько организаций. Необходимо одного сотрудника вести в двух организациях.

В кадровой части у сотрудника две должности (по каждой указана своя организация/подразделение). В одном ЛС идет расчет по двум организациям. В ЛС по должностям разбиты начисления/удержания.  

Вопрос: в отчеты по одной организации попадает общая сумма с двух должностей/подразделений/организаций. Как правильно настроить, чтобы по каждой организации брались суммы только с одной должности.

0
Отвечен

Как принять в таблицу код подразделения

Игорь Шалдин 1 месяц назад в Прочее обновлен Гашков Николай (Эксперт) 4 недели назад 3

Здравствуйте.

Имеется таблица:

"Подразделение ИБМ" - это внешний код в справочнике подразделений.

"Департамент" - это наименование подразделения в справочнике подразделений.

Как по данным в столбцах "Подразделение ИБМ" или "Департамент" вычислить внутренний код подразделения и вставить его в столбец "Подразделение КЗ"?

0
Отвечен

Заполнение справочника подразделений

Игорь Шалдин 1 месяц назад в Прочее обновлен Гашков Николай (Эксперт) 1 месяц назад 3

Здравствуйте.

Справочник подразделений можно заполнить только вручную? 

Может есть какая-то возможность принять в таблицу для редактирования этого справочника данные из внешнего источника как в обычную таблицу?

Ответ

Скриптовая функция int CreateOtd(long Otd,BSTR Name); // создать подразделение, возвращает OtdPos созданного или
//-1 если уже заведено больше 3000 подразделений, -2 - уже есть такое, -3 - слишком длинный код Otd (например если в КЧ ширина для подразделения меньше)

Установка внешнего кода подразделения - функция SetOtdExtCodeByCod

p.s.
актуальный список всех системных функций есть в файлах SCRIPT\idl

0
На рассмотрении

Увеличение размера полей "Код подразделения" и "Табельный номер"

Игорь Шалдин 1 месяц назад в Прочее обновлен Гашков Николай (Эксперт) 1 месяц назад 5

Здравствуйте.

В КЗ на "связку" подразделение-ТН отведено 9 символов. У клиента код подразделения - 6 символов, ТН - 15 символов. Переход на новые коды подр. и ТН вызовет определенные сложности в дальнейшем (планируется постоянная "подгрузка" данных из сторонней кадровой системы). Ни как нельзя увеличить размер полей "Код подразделения" и "Табельный номер"?



Сервис поддержки клиентов работает на платформе UserEcho