Ваши комментарии

Добрый день.

У вас, наверно, в справке о предприятии добавлено несколько организаций (версия с уполномочкой или для разбивки НДФЛ по ОКТМО)

В этом случае при формировании отчета без предварительной засветки ЛС, в отчет включаются только сотрудники по выбранной организации.

Добрый день!

Как то так:

      var Tabl = CreateObject("CurPrnTbl");
      int FldSumm = Tabl.Find_Name_Fld(nameFld);
      if(FldSumm==-1) return;
      Tabl.Fill_Bottom_Text_1();
      double columnItog = atof(Tabl.Get_Bottom_Text(FldSumm));
  • Вставляем код в SCRIPT\user\USFUNCRW.S
ProcessLs_ChangeOsnDolgn()
{
  bool bInsertls=true;//только по выделенным ЛС 
  bool skipArhiveLs=true; //пропустить архивные ЛС
  int countLs=(bInsertls)?cntnum:counttn;
  var CMsg=CreateObject("ProgressBar");
  CMsg.Initial(0,100,1);
  CMsg.SetShowTime(static_cast_to_int(false));
  for(int i=0;i<countLs;i++) //цикл по ЛС
  {
    if (CMsg.Msg_Proc(("Подождите немного. Идет обработка ЛС"),100.*i/countLs)==ESC ) {break;}
      
      int tnum=(bInsertls)?Porobr1(i)%sizetn:tn(i)%sizetn;
      if ( skipArhiveLs &&  IsArchLS(tnum))
          continue;
    int RC=LSRead(tnum, 0); //читаем ЛС
    var CL=CreateObject("CombineList");
    var tc=CreateObject("TmpCurCombine");     // Класс для временной смены а затем и восстановления текущего совместительства
    var it = CL.CreateIterator();
    int lastComb=0; //код должности с "максимальной" датой начала
    var lastDPriem=KDateFromStr("01.01.1900");
    for (it.SetBegin();!it.IsEnd();it.Next()) //цикл по должностям (it.CurKey() - внутр.код совместительства )
    {  
      int combine=it.CurKey();
      tc.Init(combine);//инициализируем нужным совместительством
      var dPriem=KDateFromStr(kch_from_safe("data_rb"));      
      if (dPriem.IsValid() && dPriem.GT(lastDPriem))
      {
        lastComb=combine;
        lastDPriem= KDateFromStr(dPriem.GetStr());
      }
    }
    if(lastComb && CL.GetBaseID()!=lastComb) //меняем галку
    {
      CL.SetBaseID(lastComb);
      //сохраняем ЛС
      char ls[256];
      long num;
      polnyi_tn(num);
      lsname(num,ls);
      lswrite(ls,0);
    }  
  }
}


  • Выделяем нужные ЛС
  • Shift+F4->выполнить код -> открыть
  • Выставляем строку
return ProcessLs_ChangeOsnDolgn();
  • Жмем молнию

USFUNCRW.zip

Добрый день!

Лог пишется в T_SYSTEM\KLASS5.VAL

Можете взять его из архива... в TABLCNF\hidden.cnf можно задать "Кол-во месяцев для хранения лога"

В сетевом варианте T_SYSTEM лучше сделать общим ресурсом, чтобы лог был единым.



Да, ты наверное прав.

Сбила столку фраза "Отчёт вернулся"

Думал Сбис перед отправкой выполнил форматно-логический контроль  (файл прошел проверку), а завернули файл уже на портале..

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