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

заменить функцию разноски на PutST(Vid,M1,M2,BE_CODE|BE_MERGE_SUM|BE_MERGE_RV,Rv,Src,Sum,Date);
или разнести на другой вид: PutST(Vid,M1,M2,BE_CODE|BE_FREESUM,Rv,Src,Sum,Date);

Ответили Вам в почту:

Ошибка открытия таблицы 'C:\RASCHET\zpl\Reporting\Db_Main.Sum'  (причем программа должна была сказать об этом)

Необходимо восстановить этот файл из предыдущей копии zpl\BACKUP\Last\Reporting\Db_Main.Sum

Если  не поможет то взять одну из предпредыдущих копий из каталога zpl\BACKUP\Previous\Reporting\Db_Main.Sum

программа прежде чем писать данное сообщение должна выдавать другое сообщение с подробностями ошибки (при первом обращении к новой отчетности в текущем сеансе работы. нужно перезапустить программу и попробовать снова.)
Возможно испорчен файл user.config по пути:
"C:\Users\<Имя_доменного_пользователя>\AppData\Local\Контур-Зарплата\DefaultDomain_Path_<много_букв_и_цифр>\4.5\user.config"
В качестве решения - удалить файл. Если в подкаталоге Контур-Зарплата много каталогов вида DefaultDomain_Path_<много_букв_и_цифр>, то можно удалить все.
В файле user,config запоминается в частности расположение некоторых окон в новом интерфейсе.

Скорее всего проблема в сторонней настройке Excel
Запустите Excel
Откройте в меню Файл - Параметры - Надстройки
пришлите скриншот ваших надстроек - есть подозрение что там что то лишнее (возможно какая то сторонняя программа что то установила в excel) 
Попробуйте отключить сторонние надстройки (внизу окна "Управление" - нужно выбрать "Надстройки COM" и нажать кнопку Перейти...)

Непросто. Прямой функции нет.
Можно только принять все данные по лицевому счету и найти в них нужный id
Данные принять можно теми же функциями что в приведенной таблице

IntegrGetRemoteId(IntegrGetLocalId(otIspDoljn,AmbaIdForIspDoljn(tn,c,data)))

где tn- табельный номер, c- внутренний код совместительства, data - дата начала исполняемой должности

до этого нужно собрать все исполняемые должности классом CombineList, получить из них даты начала всех значений поля "должность".


Второй вариант, можно принять все данные по лицевому счету функцией:
IntegrGetAllForLS(tn)

вернет массив строк как на скриншоте, те что начинаются на 30 это исп.должности

из этих строк можно получить соответствие нашего localid и внутреннего кода совместительства (обведен красным)

получить наш localid по id персонала можно функцией IntegrGetLocalIdByRemoteId



вместо var dPriem=KDateFrom(to_string(kch_tipS("data_r")));

должно быть наверно так

char str[25];

kch_from("data_rb",str);

var dPriem=KDateFromStr(str);

на форуме https://forum.kontur.ru/yaf_postst20576_Prikaz-na-uvol-nieniie.aspx?find=unread#post125427
мы просили Вас прислать дамп или сохранение настроек с лицевым

дамп можно выложить на любой сервис обмена файлами и прикрепить ссылку в сообщение

Ситуация постоянно повторяется или один раз отвалился sql ?



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