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

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

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


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

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

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

Челябинвест банк

Добрый день!

Выгрузка в Челябинвест банк, формат *.TXT

При передче ведомости  - в банк  в Поле "ФИО" перед фамилией появляется пробел - при формировании файла TXT, перед фамилией появляется символ " ' ".

Как убрать пробел перед фамилией

'Аксулпанов Рамиль Абзалович;;29/04/1983;2021;75 12 157874;02/10/2012

// Заявление на открытие банковских счетов (Челябинвестбанк, Челябинск)
var CFile;      // объект класса для работы с текущим файлом печати
var CTabl;      // таблица, с которой работаем
unsigned long FileSize; // размер созданного файла

// передача в файл
TransfChel_otkr( AdrCTabl,     // адрес передаваемой таблицы
                 AdrCListTabl, // адрес списка таблиц
                 RcrInList      // номер записи в списке таблиц
               )
{
   CTabl=CreateObject("CurPrnTbl");
   CTabl.Initial(AdrCTabl);
   int cntRcr=CTabl.Count_Rcr();  // число рабочих зaписей в таблице   
   if ( !cntRcr || (cntRcr==1 && CTabl.Check_Empty_Rcr(0)) ) return false;

   // CTabl.Sort_Field(0); // сортировка по 0 столбцу

   // Краткий способ передачи в формате Челябинвестбанка (но только для версии после 22.09.2003)
   var OptionsT = CreateObject("TransferOptions");
   OptionsT.ReadNastrCSV(0);              // читаем "оригинальные" настройки передачи в csv-формат
   OptionsT.SetFirstLineCountFld(false);  // НЕ пишем в первой строке количество передаваемых полей
   OptionsT.SetFirstLineFld(false);       // НЕ пишем в первой строке имена передаваемых полей
   OptionsT.SetBound(NONE_BOUND);         // НЕ ограничиваем ничем передаваемые значения
   // OptionsT.SetBound('"');             // ограничиваем передаваемые значения кавычками
   OptionsT.SetDelim(';');                // ; разделитель между полями
   OptionsT.SetFlagSpace(SPACE_ALL);      // убираем лишние пробелы из передаваемого поля
   OptionsT.SetFlag("'");      // убираем лишние пробелы из передаваемого поля
   OptionsT.SetAnsi(true);                // WIN кодировка
   OptionsT.SetSepDate('/');              // символ разделитель для дат
   char SaveCnf[11];
   GetCommonCnf("TRANS_TEXT","общие",SaveCnf,10);
   SetCommonCnfInMem("TRANS_TEXT","1","печать",'N',1,0);  // при передаче в текстовый формат учитываем порядок dbf-поля
   CTabl.Reform_To_CSV();
   SetCommonCnfInMem("TRANS_TEXT",SaveCnf,"печать",'N',1,0);
   OptionsT.ReadNastrCSV(0);
   return true;
}

MakeNameChelOtkr( AdrCTabl,     // адрес передаваемой таблицы    
                  AdrCListTabl, // адрес списка таблиц           
                  RcrInList      // номер записи в списке таблиц 
                )                                                
{
   var OptionsT = CreateObject("TransferOptions");
   OptionsT.SetUserComment("в Челябинвестбанк");
   return 0;
}
Script
0
На рассмотрении

Материальная выгода при расчете больничных

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

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

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

алименты расчет

Добрый день!

Расчет алиментов вид 318. Заполнен доп реквизит в базовом значении "сумма долга". Срабатывает как ограничение сумм месячное. Можно настроить его как ограничение сумм нарастающее с начала действия строки 318?

0
Отвечен

Ф-ция PutST

Добрый день!  

По некоторым видам суммы разносятся из таблицы с помощью ф-ции  PutST.

Сейчас обнаружили,  что эта ф-ция разносит и дату выплаты,  в случае отсутствия даты выплаты в таблице

она всё равно разносится первым  числом текущего месяца,  то есть при январской выплате дата выплаты ставится 

01.01.2021,  что искажает попадание сумм в 6НДФЛ.

Возможно ли отключить разноску даты выплаты  у ф-ции PutST?  

Ответ

Все до безобразия просто: не передавайте дату последним параметром (уберите последний параметр из функции разноски)

0
Отвечен

Расчет пособия до 1,5 лет для аттестованного состава

Контур-Зарплата релиз 607_7

Не считает 205 вид у аттестованного состава, говорит: прямые выплаты.
Где и что поправить?
 

Ответ

В параметрах алгоритма 105 нужно указать 16, тогда КЗ не будет обнулять начисленную по 205 виду сумму...

0
Отвечен

порядок расчета видов

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

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

Настраиваю клиенту вид, который рассчитывается по алгоритму "начислено - удержано"

Image 4678

Порядок расчёта:

Image 4684

Рассчитываю ЛС в автоматическом режиме. 801 вид "не видит" НДФЛ:


Image 4681

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

Image 4682



При расчёте ЛС в режиме "С корректировкой РВ и сумм" выясняется, что сначала рассчитывается строка 801 вида (НДФЛ в этот момент = 0.00), и только потом - строка 305. 

Пробовал проделать то же самое на поставке - всё нормально.

Где ещё, кроме ТВХ, посмотреть настройки порядка расчёта видов?

На всякий случай сохраненка: 

ZPL_zplinfo(20201110_094006).cab

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

отработанные часы из табеля

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

Подскажите пожалуйста, как настроить выборку, чтоб собрала из табеля отработанные часы.

В типовой выборке по табелю в часах, собирает норму(отработанные часы не показывает).

0
Отвечен

Извлечение БЗ строки

Добрый день.

Помогите разобраться.

Необходимо извлечь БЗ строки по виду 296, воспользовались предложенным Вячеславом  кодом в другой теме

,,,

double bz=0.;

int row = poisk_row(296,0,data,0);

if ( row!=-1 )

{

int ibz = GetBase(row);

bz_kod (296,data,ibz,bz);

}

,,,


при извлечении БЗ теряет копейки, как это можно исправить

Image 4596

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

117 Ночные

Алексей П 4 года назад в Расчеты начислений и удержаний / Алгоритмы обновлен 4 года назад 12

Вопрос по расчету 117 вида надбавки за ночные. В поставочном варианте все считает корректно и правильно, но в рабочей версии этот же  вид выдает какие-то странные суммы. По таблице входимости все настройки идентичны поставочным, алгоритм 17, но расчет выходит другой

В чем может быть причина? zpl_zplinfo_full(20201012_113342).cab

Поставочный вариант

Image 4567


На рабочей версии

Image 4568






0
Отвечен

Как в скрипте получить значение заголовка столбца из сетки

Участились просьбы клиентов настроить автоматический расчёт компенсации за задержку выплаты отпускных.

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

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

- невыплаченная сумма берётся из БЗ вида

- плановая и фактическая даты выплаты даты начала и конца действия вида

- 1/150 ставки центробанка - из сетки.

Проблема в том, что при расчёте необходимо учитывать изменение ставки в периоде задолженности. А для этого надо пробежать по столбцам сетки и считать заголовки столбцов:

Image 4459

Можно ли в скрипте это как-то реализовать?

Script
Ответ

Пример функции:

/*
numSet- номер сетки
row - номер строки в сетке ( нумерация с 1)
d1 - дата начала периода (в виде строки дд.мм.гггг)
d2 - дата окончания периода
*/
GetRateValues(numSet,row,d1,d2)
{
  var map = CreateObject("MapString");
  char zplPath[256];  GetCurrentDirectory(255,zplPath);  // путь до zpl
  char filePath[256];sprintf(filePath,"%s\\TABLSET\\Tabl%d.Set",zplPath,numSet);  // путь до сетки
  if ( access(filePath,0) )
  {
    AmbaMessageBox("Файл с сеткой не найден","Ошибка",MB_OK|MB_ICONERROR,0);
    return map;
  }
  
  var db=KDateFromStr(d1);
  var de=KDateFromStr(d2);
  
  var tabl = CreateObject("CurPrnTbl");  tabl.InitialNameFile(to_string(filePath));
  int countFld=tabl.Count_Fld();// число столбцов
  //цикл по столбцам
  double prevRateValue=0.;
  for(int idxFld=0; idxFld < countFld ;idxFld++)
  {
    string fldName=tabl.Name(idxFld);FreeSpaceString (fldName,3,""); 
    var date=KDateFromStr(fldName);
    //нас интересую только столбцы с датой
    if(!date.IsValid()) 
      continue;
    
    //значение ставки
    double rateValue=atof(tabl.Text(idxFld,row-1));
    prevRateValue=rateValue;
    
    //дата не входит в интересующий нас период
    if (date.GT(de) || date.LT(db))
      continue;
    
    //добавим значение ставки на начало периода
    if(!map.IsExist(db.GetDouble()))
      map.Add(db.GetDouble(),prevRateValue);
    
    //добавим значение ставки на дату date  
    map.Add(date.GetDouble(),rateValue);
  }
  return map;
}

Пример использования:

var map=GetRateValues(85,3,"01.01.2020","31.08.2020");
ShowRates(map,"01.01.2020","31.08.2020");

Результат:

Скрипт: USFUNCRW.S



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