Процедура или функция с указанным именем не определена

Ошибка в управляемой форме списка в контексте выполняемой на сервере процедуры (Проверка: Сервер).

Вот полный текст ошибки:

{Документ.ЗатратыПоСтраховомуПокрытию.Форма.ФормаСписка.Форма(92,30)}: Процедура или функция с указанным именем не определена (СписокЗатратПоКарте)
СписокЗн.ЗагрузитьЗначения(<<?>>СписокЗатратПоКарте(СтраховаяКарта)); (Проверка: Сервер)

Вот фрагмент кода:

&НаСерверБезКонтекста
Функция СписокЗатратПоКарте(СтраховаяКарта)
	
	Если СтраховаяКарта = Неопределено Или СтраховаяКарта = Справочники.СтраховыеКарты.ПустаяСсылка() Тогда
		Возврат Новый Массив;
	КонецЕсли;	
КонецФункции

Решение:

  • поскольку из “серверной” процедуры вполне можно вызывать вне контекстную функцию/процедуру этого же модуля проверяем ее имя, количество параметров ( в данном случае всё было верно)
  • если же модуль общий проверяем в его свойствах установленные флажки “Вызов сервера”, “Клиент (управляемое приложение”
  • проверяем ее название, не должны совпадать с уже существующими системными функциями. Например, СтрНайти(), СтрШаблон(), СтрСравнить(), СтрНачинаетсяС(), СтрЗаканчиваетсяНа(), СтрРазделить(),СтрСоединить().
  • Проверяем директиву компиляции: оказалось пропущена буква “е” -> &НаСервереБезКонтекста. Редактор подсвечивает директиву, не выдает ошибок, но при исполнении и вызове выходит указанное сообщение

Реклама – самая интересная и самая трудная форма литературы.

— Олдос Хаксли.