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

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

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


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

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

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

нормативный заработок

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

Необходимо:

1. "Запомнить" текущее состояние табеля.

2. Очистить табель.

3. Проставить в табеле символ "Р" по нормативным дням.

4. Рассчитать сумму заработка за полностью отработанный месяц.

5. Восстановить "запомненное" состояние табеля.

Как реализовать п.1 и п.5 ?

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

Алгоритм ночных\праздничных от МРОТ

Татьяна Батурина 4 года назад в Расчеты начислений и удержаний / Алгоритмы обновлен 4 года назад 5

Добрый день!

Помогите пожалуйста с реализацией алгоритма для расчета Ночных\Праздничных от суммы S1 =>МРОТ

БЗ

НРВ (168)

РВ

Сумма

Оклад (час)

5000,00

168

160

4761,90

Нагрузка

100%

4761,90

S1

Оклад+Нагрузка

S1 = 9523,80

S2 = Ночные

Если S1<МРОТ (12130,00), то S2=МРОТ/НРВ * РВ (ночных)

Если S1>=МРОТ (12130,00), то S2=S1/НРВ * РВ (ночных)

считаем пока без сравнения с МРОТ.

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

Расчёт алиментов

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

Клиент пожаловался, что при перерасчёте прошлых месяцев, появляется отрицательная сумма алиментов.

Попробовал смоделировать ситуацию на поставке. Выяснилось следующее. Странный перерасчёт алиментов касается случая удержания долга по алиментам. 

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

Image 4245

Если в этом месяце сделать перерасчёт любого предыдущего, то увидим такую картинку:

Image 4246

Т.е. рассчитанная ранее сумма алиментов, корректируется с учётом суммы долга в последнем месяце удержания алиментов.

На мой взгляд, это баг.

0
Отвечен

Заполнение табеля прошлых месяцев на этапе внедрения

Добрый день

в далеком 2008 году Вы мне помогали с такой вот функцией

// А потом в таблице пишем функцию разноски:

// Код:

// FillDayTabel("20.12.2007","10.01.2008","*","Б"); return имя_столбца_из_которого_разносим;

// Первый и второй параметр - дата начала и дата конца (в достаточно произвольном виде: целое число (будет трактоваться как абсолютный или относительный месяц, но не календарный!), строка вида "ДД.ММ.ГГГГ", строка вида "ГГГГММ.ДД".

// Третий - что меняем: * - все, n - нормативные дни, r - рабочие, "nr" - нормативные и рабочие и т.д.

// Четвертый - на что меняем.

//

FillDayTabel(&Dat1, &Dat2, &simv, &na_simv )

{

var DatB = CreateObject("KDate");

var DatE = CreateObject("KDate");

double d1 = GetDateFromFuncRWScript(Dat1); // получаем дату в виде ГГГГММ.ДД

double d2 = GetDateFromFuncRWScript(Dat2);

DatB.SetDateD(d1);

DatE.SetDateD(d2);

int mraschtmp = mrasch;

int mend = DatE.GetAbs(), z1,z2;

for ( int absm=DatB.GetAbs(); absm<=mend; ++absm )

{

if ( absm!=mrasch ) s50(absm);

s6400(d1,d2,z1,z2,data); // определяем дни которые надо заполнить в очередном месяце

if ( zamena_simv_v_tab (simv,na_simv,calm,z1,z2,-1,0) )

s145(s120(mrasch),1);

}

if ( mraschtmp!=mrasch )

s50(mraschtmp);

}


вопрос: как её изменить чтобы разносить табеля с учетом совместительства ?

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

Ф-ция для приема из файла

Добрый день!

Написал таблицу  для приема и обработки из Excel  табелей с символами самоизоляции.

Вызов скрипта из  "Ф-ции для приема из файла";   соответственно  в окне "Прием данных из файла" 

активируется режим  "Формат пользователя"  и исчезает строка "Имя файла"  которая в других режимах 

позволяет пользователю выбрать расположение и имя файла.

Возможно ли в режме "Формат пользователя"  подключить механизм выбора файла, 

чтобы не прописывать в скрипте конструкции типа:

string nm="tab.xls";

var WorkDir ="C:\\tabel\\"; 

xls.Workbooks.Add(WorkDir+nm); 

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

Расчет по среднему

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

В связи с эпидемией, решили оплачивать нерабочие дни по средней. При этом расчет средней отличается от обычного расчета. Поковырявшись в системе, нашли настройки расчета по среднему, сделали отдельный столбец. Но данный режим не совсем удобен, например при массовом расчете работников. Поэтому сделали через свой алгоритм, включающий расчет среднего через объект.

И опять упёрлись в расчет среднего в режиме расчета за первую половину месяца (чтобы выплатить типа аванс). При анализе оказалось, что средняя считает неверно из-за подсчета фактически отработанных дней. Настройка во всех случаях стоит по табелю минус minus_dni. Однако, при расчете за полный месяц дни (типа отпуск и т.п.) минусуются, а при расчете за первую половину месяца - нет. Можно ли как-то это все-таки настроить?

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

Коэффициент индексации

Добрый день!
На предприятии действует коэффициент индексации с 01.01.2020 = 0,03
Новые оклады проставлены 01.01.2020.
Но еще для многих произошел личный рост оклада с 02.01.2020
Сетка 12 (для коэффициентов индексации) служит только для получения дат ( вариант брать коэффициент из сетки не подходит) . А сам расчет коэффициента = новый оклад/оклад предыдущий
По сути должно считаться так коэффициент = оклад на 01.01.2020/ оклад на 31.12.2019.
В Амбе получилось :  коэффициент = оклад с 02.01.2020/оклад декабря.
Подскажите как сделать, чтобы заработала формула
коэффициент = оклад на 01.01.2020/ оклад декабря.

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

Как подменить поставочный скрипт своим?

Игорь Шалдин 5 лет назад в Расчеты начислений и удержаний / Алгоритмы обновлен 5 лет назад 2

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

Карточку-справку ф-417 формирует скрипт ..\SCRIPT\forms\b425.S

Реализуя "хотелку" заказчика, я его чуть изменил.

Можно ли как-то при формировании карточки вызывать не b425.S, а b425_usr.S? 

0
Отвечен

Функция условной разноски

Добрый день!

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

-------------------------------------------------------------------------------------------------------------------------

Наименование столбца      Имя поля      Функция приема              Функция разноски

-------------------------------------------------------------------------------------------------------------------------

ДатаУчёта СтрахСтажа         Dt_SS              R_Date(9)

Дата нач.страхового стажа    FCdata_st       R_Face(data_st)      W_Face(data_st,0,Dt_SS)

--------------------------------------------------------------------------------------------------------------------------

Возможно ли прописать условие для функции разноски:    W_Face(data_st,0,Dt_SS)

т.е.  если в поле  FCdata_st  есть данные,  то разносим,  

      если же поле FCdata_st   пустое,  то разноску не производим

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

Как в скрипте извлечь БЗ строки

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

Для расчёта надбавки необходимо использовать БЗ оклада.

БЗ оклада - кодируемое значение, поэтому, если использовать функцию poiskbz, получим уже "расшифрованное" значение оклада. 

Проблема в том, что в БЗ оклада может быть указан процент. Например, коду 5 в сетке соответствует значение 10000. если в БЗ указано 5.5, то функция  poiskbz возвращает значение 5000. Задача же состоит в том, чтобы получить полное значение оклада (10000), независимо от процента, указанного в дробной части кода. М.б. у функции poiskbz есть какой-то незадокументированный параметр, позволяющий не учитывать дробную часть?

Пробовал получать БЗ оклада так:

// Базовое значение оклада
char str[256];
var IDate = CreateObject("KDate"); IDate.SetDate(static_cast_to_string(data));
GetKchValue("p_k_g",str,2,KDateFromInt_LastDay(KDateFromStr(to_string(data)).GetAbs()*(-1.)));
int p_k_g=atoi(str);
int row = poisk_row(904,0,data,0);
AmbaMessageBox(row,"номер строки",0,0);
int bz = GetBase(row);
AmbaMessageBox(bz,"базовое значение",0,0);
double bzokl=0.;
Value_For_Table_Cod(p_k_g,razryad,data,bzokl);

Когда считаю в "ручном" режиме - по F4 - всё хорошо. Если посчитать в автоматическом, КЗ падает.

MessageBox-сы позволили установить, что в ручном режиме номер строки определяется правильно, а в автоматическом row = -1, соответственно bz = -непонятно что.

Что делаю не так?



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