Форум по программе Контур.Зарплата.
Здесь мы отвечаем на вопросы возникающие у наших пользователей или партнеров при работе с программой или при внедрении ее в организации.
Прежде чем создать обращение, воспользуйтесь поиском. Попробуйте найти похожий топик по ключевому слову. Например "СЗВ-СТАЖ" или "6-НДФЛ".
Если Вы нашли "чужую" тему с похожим вопросом, где уже был дан ответ (есть сообщение помеченное как "Ответ"), но при этом ответ не подходит для Вашей ситуации, то не задавайте свой вопрос в комментариях к "чужой" теме. Лучше создайте новую тему со своим вопросом.
Полезные ссылки по Контур.Зарплата:
- Полный дистрибутив и Веб-обновления
- Обучающий урок
- Вебинары(YouTube) RuTube
- "Старый" форум отключен, архив
- Дистрибутив ПФ-Отчет+

Заполнение табеля прошлых месяцев на этапе внедрения
Добрый день
в далеком 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);
}
вопрос: как её изменить чтобы разносить табеля с учетом совместительства ?

Ф-ция для приема из файла
Добрый день!
Написал таблицу для приема и обработки из Excel табелей с символами самоизоляции.
Вызов скрипта из "Ф-ции для приема из файла"; соответственно в окне "Прием данных из файла"
активируется режим "Формат пользователя" и исчезает строка "Имя файла" которая в других режимах
позволяет пользователю выбрать расположение и имя файла.
Возможно ли в режме "Формат пользователя" подключить механизм выбора файла,
чтобы не прописывать в скрипте конструкции типа:
string nm="tab.xls";
var WorkDir ="C:\\tabel\\";
xls.Workbooks.Add(WorkDir+nm);

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

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

Как подменить поставочный скрипт своим?
Здравствуйте.
Карточку-справку ф-417 формирует скрипт ..\SCRIPT\forms\b425.S
Реализуя "хотелку" заказчика, я его чуть изменил.
Можно ли как-то при формировании карточки вызывать не b425.S, а b425_usr.S?

Функция условной разноски
Добрый день!
В таблице есть два связанных поля:
-------------------------------------------------------------------------------------------------------------------------
Наименование столбца Имя поля Функция приема Функция разноски
-------------------------------------------------------------------------------------------------------------------------
ДатаУчёта
СтрахСтажа 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 пустое, то разноску не производим

Как в скрипте извлечь БЗ строки
Здравствуйте.
Для расчёта надбавки необходимо использовать БЗ оклада.
БЗ оклада - кодируемое значение, поэтому, если использовать функцию 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 = -непонятно что.
Что делаю не так?

Как правильно учесть нулевое РВ при расчёте "по-среднему" за период
Добрый день!
У клиента проходит сокращение сотрудников.
Сотрудникам рассчитывают пособие по безработице - через расчёты "по-среднему" (как командировку).
Повторил проблему клиента на поставке: Допустим, я уволил сотрудника 01.10.2019.
И хочу рассчитать пособие по безработице за декабрь.
и тут возникает вопрос.
РВ и суммы за сентябрь включились в расчёт полностью.
РВ и суммы за октябрь - тоже встали корректно - 1 день отработан и суммы за него полученные тоже видно.
Вопрос в том, почему при этом за ноябрь 2019 года в графу РВ встаёт 20 дней, хотя сотрудник уже не работал и дохода не получал?

удержание алиментов
Здравствуйте.
Следующая ситуация. Предприятие выдало работнику ссуду. Теперь идет расчет материальной выгоды и удержание соответствующего налога. При расчете алиментов, помимо основного дохода и НДФЛ 13%, учитывается также и материальная выгода и НДФЛ 35%. Бухгалтер-расчетчик считает это неправильным.
Я сам конечно представляю, что алименты удерживаются со всех доходов, но это точно так должно быть? Или можно настроить, чтобы определенные виды не учитывались при расчете?

Ваш бухгалтер абсолютно прав.
В поставке выгода не участвует в расчете алиментов. Это "ноу-хау" у конкретного клиента.
Список видов участвующих в расчете алиментов настраивается через 9 столбец ТВХ.

При расчёте за месяц не рассчитываются процентные надбавки
Добрый день!
Помогите, пожалуйста, разобраться в ошибке:
ZPL_zplinfo_full_net(20190710_152120).cab
Есть ЛС с кучей совместительств и источников.
Если запустить расчёт за месяц, то по основной должности (код "Осн" источник "Ф") рассчитается оклад, но не рассчитаются процентные надбавки (например, 110-й вид - за стаж).
Если запустить расчёт за месяц, но указать, что рассчитывать только должность "Осн" - начисление пройдёт правильно, процентные надбавки тоже начислятся.
Подскажите, пожалуйста, с чем такое может быть связано.
Сервис поддержки клиентов работает на платформе UserEcho