Имя: Пароль:
1C
1С v8
Итератор для значения не определен, ошибка в отчете: Табель учета рабочего времени (Т13)
0 BondAleksey
 
09.01.23
13:55
После применения исправления "EF_60004919" в отчете ошибка: Итератор для значения не определен

Примечание: Ошибка тогда, когда в настройках отчета указан флаг "Печать по подразделениям"
если расширение отключить то все нормально.

Описание исправления:
EF_60004919 - Не подбирается руководитель подразделения при публикации в сервисе «1С:Кабинет сотрудника», если у подразделения задан вакантная позиция руководителя.

Версия платформы
1С:Предприятие 8.3 (8.3.18.1957)

Релиз конфигурации:
Зарплата и управление персоналом КОРП,
редакция 3.1 (3.1.24.308)
1 BondAleksey
 
12.01.23
17:17
Разобрался, ошибка в исправлении EF_60004919

&Вместо("ДанныеРуководителей")
Функция EF_60004919_ДанныеРуководителей(Подразделения, НаследованиеРуководителей = Ложь) Экспорт
    
    Если Не РуководителиПодразделенийИспользуются() Тогда
        Возврат Неопределено;
    КонецЕсли;
    
    // Получить все вышестоящие подразделения (если это требуется).
    // Для всех подразделений получить позиции руководителей.
    // Получить сотрудников, работающих на этих позициях.
    // Для каждого подразделения найти ближайшее по иерархии подразделение, в котором
    // - заполнена позиция,
    // - и есть сотрудник,
    // - и он работает.
    // Если работающего найти не удалось то берем ближайшего неработающего

    Результат = Новый Соответствие();

    ВышестоящиеПодразделения = Неопределено;

    ВсеПодразделения = Новый Массив();

Тут ошибка:
       ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ВсеПодразделения, Подразделения)

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

Описание процедуры:

// Дополняет массив МассивПриемник значениями из массива МассивИсточник.

// Параметры:
//  МассивПриемник - Массив - массив, в который необходимо добавить значения.
//  МассивИсточник - Массив - массив значений для заполнения.
//  ТолькоУникальныеЗначения - Булево - если истина, то в массив будут включены только уникальные значения.

Процедура ДополнитьМассив(МассивПриемник, МассивИсточник, ТолькоУникальныеЗначения = Ложь) Экспорт