Слишком много фактических параметров, а количество параметров в определении верное

1. user_809597 14.04.26 11:13 Сейчас в теме
Интересная вещь: у пользователя на документах _иногда_ выскакивает ошибка при проведении документов
Слишком много фактических параметров
{ОбщийМодуль.ОценкаПроизводительностиКлиентГлобальный.Модуль(6)}:	ОценкаПроизводительностиВызовСервера.ЗафиксироватьВремяОкончания(, Истина);


Но, идём мы в код, ищем по конфигурации и находим только одну процедуру с данным именем - экспортная, с 2 параметрами, в серверном модуле.
В обычных условиях, в ошибку не падает и спокойно отрабатывает. Но, (один раз удалось поймать самостоятельно её) после конфликта блокировок, когда он заходит в ЗакончитьЗамерВремениАвто() и обращается к этой процедуре - параметров ему уже не хватет. Почему так?

ОценкаПроизводительностиКлиентГлобальный - глобальный, вызовы с клиента (упр и обычного)
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
17. user_809597 23.04.26 15:29 Сейчас в теме
Короче
ЗафиксироватьВремяОкончания - это функция
А вызывается она из процедуры, где её результат явно ни в какую переменную не записывается.
Добавила я переменную, и будто бы пользователю это помогло.
_Результат =_ ОценкаПроизводительностиВызовСервера.ЗафиксироватьВремяОкончания(, Истина);

Вот такие пироги с котятами
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 33 14.04.26 11:18 Сейчас в теме
(1) В результатах поиска в первой строке у тебя эта процедура с 3мя параметрами.
Может проблема все же в этом вызове?
3. пользователь 14.04.26 11:30
Сообщение было скрыто модератором.
...
4. Sashares 33 14.04.26 11:45 Сейчас в теме
(3)
Да, ты прав.
Сложно по скрину отличить точку от запятой)
Тогда можно предложить почистить кэш.
6. user_809597 14.04.26 13:01 Сейчас в теме
(4) Да, там точка. Описание процедуры на 2 строке результатов, падает на 4 строке из результатов, где пусто в первом параметре.
Будто бы может быть проблема с тем что там именно пусто, но не хочется из-за только подозрения снимать с поддержки модуль. Да и ошибка, что параметров много, а не мало
9. Sashares 33 14.04.26 13:36 Сейчас в теме
(6) Можно предложить попробовать сделать расширение.
В расширении:
1 - в ОМ ОценкаПроизводительностиВызовСервера добавить процедуру без параметров, в которой будет код
ОценкаПроизводительностиВызовСервера.ЗафиксироватьВремяОкончания(, Истина);
2 - в ОМ ОценкаПроизводительностиКлиентГлобальный заменить процедуру ЗакончитьЗамерВремениАвто - в ней вызывать эту новую процедуру ОМ ОценкаПроизводительностиВызовСервера без параметров.
7. nomad_irk 83 14.04.26 13:07 Сейчас в теме
(1) Ответ, возможно, в стеке вызовов.
user_809597; +1 Ответить
10. Sashares 33 14.04.26 13:41 Сейчас в теме
(7) А что там может быть информативного?
Вызывается процедура глобального ОМ без параметров.
Т.к. она без параметров, то по идее без разницы откуда она вызывается.
11. nomad_irk 83 14.04.26 14:10 Сейчас в теме
(10) видимо, не без разницы, если оно в каких-то случаях падает.
12. пользователь 14.04.26 14:12
Сообщение было скрыто модератором.
...
13. Sashares 33 14.04.26 14:15 Сейчас в теме
(12) Я про ЗакончитьЗамерВремениАвто глобального общего модуля - она без параметров.
Может это ее где то с параметром вызывают. Ну мало ли.
14. user_809597 14.04.26 14:32 Сейчас в теме
(13) Но ведь оно бы тогда падало при вызове ЗакончитьЗамерВремениАвто, не?
А тут он в неё заходит и спотыкается уже на вызове ЗафиксироватьВремяОкончания

Вообще да, не догадалась в тот момент когда её словила открыть стек вызовов, но опять же - а чё, куда там смотреть... Ещё есть мысль, что может не в том контексте пытается вызвать процедуру, но это тоже будто бы не проверить
15. Sashares 33 14.04.26 15:03 Сейчас в теме
(14)
Но ведь оно бы тогда падало при вызове ЗакончитьЗамерВремениАвто, не?

Ну вдруг платформа не так отображает ошибку в описании.
Она и падать в описанных условиях не должна.

Если сделать глобальный поиск по ЗакончитьЗамерВремениАвто - есть они с параметром?
16. spacecraft 14.04.26 15:28 Сейчас в теме
(14) так не понятно, кэш был сброшен?
Ещё есть мысль, что может не в том контексте пытается вызвать процедуру, но это тоже будто бы не проверить

Тогда была бы совсем другая ошибка, что объект/метод не найден.
5. homer_ 79 14.04.26 11:54 Сейчас в теме
а зачем вам вообще замер производительности? может отключить ее?!
SlavaKron; +1 Ответить
8. user_809597 14.04.26 13:08 Сейчас в теме
(5) Нууу, как вариант. Это типовой замер, мы не пользуемся вроде. Осталось найти как выключить
Но вопроса почему платформа такое вытворяет - это не снимает)))
17. user_809597 23.04.26 15:29 Сейчас в теме
Короче
ЗафиксироватьВремяОкончания - это функция
А вызывается она из процедуры, где её результат явно ни в какую переменную не записывается.
Добавила я переменную, и будто бы пользователю это помогло.
_Результат =_ ОценкаПроизводительностиВызовСервера.ЗафиксироватьВремяОкончания(, Истина);

Вот такие пироги с котятами
18. SlavaKron 23.04.26 17:05 Сейчас в теме
(17) Причина пока не понятна. Вряд ли присвоение в переменную результата функции при делах.
20. user_2194807 23.04.26 18:56 Сейчас в теме
(18) Думаю, надо искать где-то в "Выполнить()" или в "Вычислить()"
19. user_2194807 23.04.26 18:56 Сейчас в теме
(17) Вообще ни при чем.
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот