ЗиК 301 релиз (в 302 не исправлено) больничный

Новая тема
Была попытка принять человека на внутреннее совместительство, но не понадобилось. Документ принятия удалили.
Напротив совместителя - "не принят на внутреннее совместительство". Эта запись в справочнике Сотрудники помечена на удаление.
Человек продолжает работать по основной должности. Если ввести ему больничный, то при заполнении среднего выдается ошибка,
что человек не является работником предприятия. У некоторых вообще нулевой средний, у некоторых заполняется. При печати
выводится два раздела "Начисления за расчетный период", один из которых пуст.
"Для исправления достаточно вставить две строки в глобальный модуль они помечены комментарием //++++++++++++

Функция глЗаполнитьДанныеСреднегоЗаработкаДляБЛ(Сотрудник,НачалоБолезни,ТипБолезни,ТипРасчетаБольничного,ПорядокРасчета=0) Экспорт



ТаблицаДанныхОСреднемЗаработке = СоздатьОбъект("ТаблицаЗначений");
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("РабочееМесто", "Справочник.Сотрудники");
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("Месяц", "Строка", 16);
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("ВидСтроки", "Перечисление.ВидСтрокиСреднегоЗаработка");
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("ПорядокРасчета", "Перечисление.ПорядокРасчетаСреднегоДляБЛ");
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("ШаблонПроводки", "Справочник.ШаблоныПроводок");
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("ДнейОтработано", "Число", 6, 2);
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("РазмерРаспределения", "Число", 12, 2);
ТаблицаДанныхОСреднемЗаработке.НоваяКолонка("ОтработаноФактически", "Число", 6, 2);


   Если (НачалоБолезни>='01.01.2010') или (ПорядокРасчета = 2) Тогда

СпрСотрудники = СоздатьОбъект("Справочник.Сотрудники");
СпрСотрудники.ВыбратьЭлементыПоРеквизиту("ОсновнойЭлемент",Сотрудник,0,0);

Пока СпрСотрудники.ПолучитьЭлемент() = 1 Цикл

ЭлСотрудника = СпрСотрудники.ТекущийЭлемент();
Если СпрСотрудники.ПометкаУдаления() = 0 Тогда    //++++++++++++++++
ТаблицаДанныхОСреднемЗаработкеСотрудника=глЗаполнитьДанныеСр­еднегоЗаработкаДляБЛ2010(ЭлСотрудника,НачалоБолезни,ТипБолезни,ТипРасчетаБольничного);
ТаблицаДанныхОСреднемЗаработкеСотрудника.ВставитьКолонку("РабочееМесто",1, "Справочник.Сотрудники");
Если ТаблицаДанныхОСреднемЗаработкеСотрудника.КоличествоСтрок()>0 Тогда
ТаблицаДанныхОСреднемЗаработкеСотрудника.Заполнить(ЭлСотрудника,1,ТаблицаДанныхОСреднемЗаработкеСотрудника.КоличествоСтрок(),"РабочееМесто");
КонецЕсли;
ТаблицаДанныхОСреднемЗаработкеСотрудника.ВставитьКолонку("ПорядокРасчета",4, "Перечисление.ПорядокРасчетаСреднегоДляБЛ");
глПереписатьИзТаблицыВТаблицу(ТаблицаДанныхОСреднемЗаработкеСотрудника,ТаблицаДанныхОСреднемЗаработке);
КонецЕсли;   //++++++++++++++++++++++++
КонецЦикла;
"
А недостаточно просто штатную процедуру удаления выполнить?
Нет, если есть документы в прошлых периодах - вы не удалите. А в документы тоже могло попасть "случайно", как обычно.
> У некоторых вообще нулевой средний, у некоторых заполняется
Таких "попыток" было по нескольким сотрудникам?
Читают тему
(гостей: 1)

Быстрый переход