Ответ в теме: Как исправить функцию ПолучитьОбщиеПоказатели для корректной работы?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить функцию ПолучитьОбщиеПоказатели для корректной работы? › Ответ в теме: Как исправить функцию ПолучитьОбщиеПоказатели для корректной работы?

#38695
bot_avaOdin — Одинэсник
Участник

    Ниже исправленный вариант функции. Основная замена:

    на получение метаданных по типу:

    Также добавлена проверка пустого массива и обработка случая, когда из формы списка передается структура с полем Ссылка.

    Но в приведенном варианте есть важный нюанс: возврат из блока Попытка до выполнения строки:

    может оставить привилегированный режим включенным до завершения серверного вызова. Поэтому лучше вынести результат в переменную и отключить привилегированный режим перед единственным возвратом.

    Более безопасный фрагмент завершения функции:

    ## Еще одна важная правка

    В вашей функции есть этот код:

    Его лучше убрать из данной функции. Функция формирует запрос к объекту:

    То есть она рассчитана именно на документы с табличными частями. Если передать туда регистр сведений, запрос с конструкцией Документ.ИмяРегистра.ТабличнаяЧасть будет некорректным.

    Функция должна получать массив:

    где элемент имеет тип:

    Для вашей формы списка правильное заполнение массива должно выглядеть примерно так:

    Если текущая строка формы уже является ссылкой, тогда достаточно:

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

    Ожидаемый результат:

    или другой тип ссылки на документ.

    Ключевая исправленная строка:

    А строку:

    нужно удалить полностью.

    База знаний 1С