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

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

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


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

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

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

Создание вида оплаты для совместительства

Роман Шивалов 6 лет назад в Прочее обновлен 6 лет назад 6

Почему-то не получается создать  начисление для совместительства.

Для смены совместительства использую TmpCurCombine, создаю с помощью
otkrsnu. Начисление создаётся, но для основного места работы.

Script
Ответ

Для открытия строки недостаточно одного совместительства. В общем случае для строки могут задаваться источники, объекты... otrksnu смотрит на "свойство" установленное в CMN_SRC_C_WORK

//AmbaMessageBox("982 = " + last_day_982.GetStr(),"",MB_OK|MB_ICONINFORMATION,0); 
//AmbaMessageBox("988 = " + last_day_988.GetStr(),"",MB_OK|MB_ICONINFORMATION,0);
      var Prop = CreateObject("APropBE");
      Prop.SetCombine(comb);
      var ts1 = CreateObject("TempCommonSrc");
      ts1.TempCommonSrcInitial(CMN_SRC_C_WORK);
      SetCommonProp(CMN_SRC_C_WORK,Prop);
      var ts2 = CreateObject("TempCommonSrc");
      ts1.TempCommonSrcInitial(CMN_SRC_MAIN); 
      SetCommonProp(CMN_SRC_MAIN,Prop);
var tc=CreateObject("TmpCurCombine"); // Класс для временной смены, а затем и восстановления текущей должности 
tc.Init(comb);//инициализируем 
0
Отвечен

Интеграция с Контур-Персоналом. Как восстановить обработанное письмо?

Анатолий Русин 6 лет назад в Интеграция с Контур-Персонал обновлен 6 лет назад 3

Добрый день!

При работе с клиентов возникла следующая ситуация:

Расчётчик не видит по ЛС приказа на увольнение сотрудника и выплату компенсации за неиспользованный отпуск. С помощью продемонстрированного вами ранее механизма фильтрации мы с расчётчикоом нашли данный приказ в "Обработанных письмах".

Image 702

Очевидно, расчётчик по ошибке нажал F3 при обработке приказа. Такая ситуация возникла по нескольким ЛС - ошибочно помечены, как обработанные, приказы на отпуска и компенсации.


Сейчас вижу 2 варианта решения проблемы:

1. Рассчитать вручную.

2. Перепровести приказ в КП, чтобы пришло ещё одно письмо на синхронизацию.


Подскажите, пожалуйста, есть ли возможность вытащить письмо из "обработанных" обратно во "входящие" и обработать ещё раз?

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

Ответ

Приказ удалить невозможно. По F3 приказ помечается как обработанный. Нажмите F9 и включите отображение всех приказов включая обработанные, галку что приказ обработан можно снимать двойным кликом мыши.

0
Отвечен

поиск вида оплаты в лицевом счете

Роман Шивалов 6 лет назад в Прочее обновлен 6 лет назад 6

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

Есть ли функция, выполняющая такой поиск? Или хотя бы как можно перечислить все виды оплат, получить данные по датах начала и окончания?

Спасибо.

Script
Ответ

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

TryFindCodeValidOnDate(comb,extCode,kDate)
{
  var Prob = CreateObject("APropBE");
  Prob.Init(CLL_TOTAL_SRC,CLL_TOTAL_SUBJECT,CLL_TOTAL_PODR,comb); //инициализируем APropBE вн.кодом совместительства
  int rowkod[ROWMAX];//массив с номерами строк
  int cntrow=poiskosnkodProp(Extern_To_Intern(extCode),rowkod,0,Prob);//получаем список строк с кодом==kod
  for (int row=0; row<cntrow; row++)  
  {
    double ikod=GetCode(rowkod[row]);
    var dbRow=KDateFromD(GetBegDate(rowkod[row]));
    var deRow=KDateFromD(GetEndDate(rowkod[row]));
    if (dbRow.IsValid() && dbRow.GT(kDate)) //вид еще не открыт
      continue;
    
    if (deRow.IsValid() && deRow.LT(kDate)) //вид закрыт
      continue;
      
    return row;  
  }
  return -1;  
}

Использовать так:

var d=KDateFromInt_WithDay(1,mrasch);
if (TryFindCodeValidOnDate(comb,extCode,d)==-1) //вид на 1 первое число расчетного месяца не найден..
{
  //код для открытия вида
}
0
Отвечен

Шифр затрат в расчетном листе

AC! 6 лет назад в Справки, квитки и прочие формы печати обновлен svetlanav 6 лет назад 7

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


Есть необходимость вывести часть шифра затрат в расчетке у конкретных видов начислений. Подскажите, пожалуйста, как это сделать?


форма check102

Спасибо.

Script Квиток
Ответ

Есть переменная InternCodE, в которой находится внутренний точный код вида печатаемой строки.

Через  GetShifrZatrRow(double IntCode)  можно получить шифр затрат...

Добавить печать значения ШЗ можно например в comexcel.S в функции StringExcel(Part)

Например:

      sprintf(cell,"S%d",NumStr); tWriteStringToCell(cell,OemToAnsi(ts1));
      sprintf(cell,"T%d",NumStr); tWriteStringToCell(cell,OemToAnsi(arg));
   }

Заменяем на

      sprintf(cell,"S%d",NumStr); tWriteStringToCell(cell,OemToAnsi(ts1));
      sprintf(cell,"T%d",NumStr); tWriteStringToCell(cell,OemToAnsi(arg));
      if (kod==305) //ШЗ печатаем только для 305 вида
      {
         sprintf(cell,"U%d",NumStr); tWriteStringToCell(cell,OemToAnsi(GetShifrZatrRow(InternCodE)));
      }  
   }
0
Отвечен

Функция выборки рабочего по нормативному календарю

AC! 6 лет назад в Прочее обновлен Вячеслав Шинкарев (менеджер разработки) 6 лет назад 6

Подскажите, пожалуйста, как выбрать норму рабочего времени в днях/в часах по нормативному календарю за запрашиваемый период?

Script
Ответ

Такая функция поможет:

UsrGetNormPeriod(what,&D1,&D2,numcalend)
{
   int am1 = KDateFromStr(D1).GetAbs();
   int am2 = KDateFromStr(D2).GetAbs();
   int tmrasch = mrasch;
   int tmp = nkalend;
   if ( nkalend!=numcalend && numcalend>0 )
      rwnorma(numcalend,0);
   double Total = 0.;
   for (int am=am1; am<=am2; ++am )
   {
      mrasch=am;
      s118();
      Total += norm(what);
   }
   mrasch=tmrasch;
   if ( nkalend!=tmp )
   {
      rwnorma(tmp,0);
      s118();
   }  
   return Total;
}

Пример вызова: 

return UsrGetNormPeriod(1,"01.01.2018","31.12.2018",2);


0
Исправлен

Расчетные листки в Excel

AC! 6 лет назад в Прочее обновлен Вячеслав Шинкарев (менеджер разработки) 6 лет назад 6

Добрый день.


Выводим расчетки в Excel.

Спасибо за возможность добавить количество строк на странице.

Но еще есть пожелания.


Имеется ЛС без начислений (пустой) и ЛС с начислениями. Выводим на них расчетку в Excel с настройкой "Не печатать квитки по которым нет сумм" 1.

Если пустой ЛС стоит первым в списке ЛС, то при печати получаем просто пустое окно просмотра печатной формы, или ошибку ofiscomexcel.s строка 80

 

или дублирование расчетки непустого лс в Экселе %) Последний раз вывела 4х раза...


А если пустой ЛС стоит последним, то в Excel не выводит вообще ничего

Поправьте, пожалуйста


п.с.

Пока игрался с данной настройкой (1/0) и чередованием пустойЛС/ ЛС с суммами и наоборот, ЛС с суммами то 2 раза выводится на 1м листе, то 3 раза, то как положено, 1 раз %)



Ответ

там сложность в том, что "квиток" формируется на всех в одной книге...

А если хотим отправить на почту - надо формировать квитки с разбивкой по сотрудникам ( каждый сотрудник в отдельной книге)

Ну т.е. сделать "быстро" не получится. 

Немного "отойду"  от отчетности и посмотрю..

0
Завершен

Доплата до МРОТ (алгоритм 897). Как отключить заполнение табеля рабочими днями?

Здравствуйте, уважаемые разработчики.


Замечательный алгоритм 897. Но... обнаружилось, что заполнение табеля рабочими днями - лишний функционал алгоритма. В некоторых организациях есть желание добавлять данный вид автоматом, не закрывать датой увольнения, разнести всем сотрудникам, включая архивных - на тот, случай, если архивные вновь устроятся на работу. 


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

Ответ

В шестой параметр будет добавлен флаг:

  • 0x08 - не заполнять табель рабочими днями




0
Не ошибка

Просмотр действий пользователей. Записывается информация не по всем пользователям.

Добрый день! Клиент обратилась с вопросом.

В программе включено логирование действий пользователей. За день в программе работало 6 расчётчиков, но при просмотре действий видна информация только по двоим. Для каждого расчётчика настроено отдельное рабочее место через Admin.Bat

Подскажите, пожалуйста, из-за чего может возникать такая ошибка, и как включить логирование по всем пользователям?

Image 682

Ответ

у всех расчетчиков нужно сделать ресурс T_SYSTEM общим

0
Отвечен

Смена КПП в сформированном отчете 2НДФЛ

AC! 6 лет назад в Отчетность / Отчетность в ФНС обновлен 6 лет назад 9

Скажите, можно сменить массово КПП в сформированном отчете (поменяли КПП у филиала в карточке предприятия после формирования отчета) в таблице по Альт+Цтрл+Шифт+Вин+ЛКМ без неприятных последствий?

Провели работу по минусам, а оказалось, КПП поменять успели, поэтому переформировывать не очень хочется. Обновить ЛС тоже нельзя - люди ходют по филиалам.

ФНС. 2-НДФЛ
Ответ

В 2-НДФЛ можно КПП поменять в столбце, последствий не будет. Достаточно потом зайти в отчет и выйти с сохранением (чтобы переформировались файлы). В 6-НДФЛ такая замена не пройдет.

0
Отклонен

Объединение минусововых блоков в 6НДФЛ по 110й строке

Нередкость, когда в л/с сторнируют один тип дохода для 6НДФЛ, начисляют что-то взамен, когда имеется только вычет по НДФЛ и все это выплачивается одной или несколькими ведомостями в один день (=110 строка). Приходится каждую отчетность шаманить с переносами. Мне очень нравится переносить это на уволенных, а не в самом отчете, т.к. в любой нужный момент можем переформировать отчет и получить тот же самый результат. Такого с правкой в отчете не получишь.


Рассмотрите, пожалуйста, появление функционала по автоматическому объединению минусовых блоков по 110й строке при условии, что IDved не равна 0 - я за то, чтобы все выплачивалось ведомостями, а не плановой датой выплаты.

По возможности хотелось бы, чтобы формировались парные строки, перекрывающие минус и переносящие его. 

Например:

имеем

100 02.03.2018  130 - 5000

110 02.03.2018  140  - 650

120 05.03.2018


100 02.03.2018  130 20000

110 02.03.2018  140  2600

120 31.03.2018

,

добавляем автоматом два блока

100 02.03.2018  130 + 5000

110 02.03.2018  140  + 650

120 05.03.2018


100 02.03.2018  130 - 5000

110 02.03.2018  140  - 650

120 31.03.2018

,

получаем

100 02.03.2018  130 0

110 02.03.2018  140  0

120 05.03.2018


100 02.03.2018  130 15000

110 02.03.2018  140  1950

120 31.03.2018


Конечно, бывает, что одна из 130 или 140 может быть минусовой, а другая больше или равна 0. Но тоже можно придумать, как выйти из положения


ФНС. 6-НДФЛ
Ответ

Андрей, фиктивность ЛС здесь вообще не причем. Форма 6-НДФЛ не хранит два одинаковых блока (по датам). Набор из 100,110 и 120 строки должны быть уникальными. Так что конкретно в 6-НДФЛ второй блок с теми же датами мы в ближайшее время точно показывать не будем.

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