Ошибка при расширении функции модуля менеджера

1. Dimbayyyy 181 24.11.21 11:36 Сейчас в теме
Всем привет!
Столкнулся с незапланированным поведением системы - в модуле менеджера документа перехватил функцию, после чего в предприятии приложение падает с ошибкой: "Переменная не определена (ПроведениеСерверУТ)" - это общий модуль.
Есть у кого какие догадки ?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
12. jefjef 10 24.11.21 12:08 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1671936 1 24.11.21 11:44 Сейчас в теме
(1) возможно из за того, что вставку делаете без удаления строк,или же из за закомменченых строк, так как количество строк из за этого увеличивается, а процедура/функция заменяемого модуля и процедура/функция модуля заменителя должны совпадать по количеству строк.

#Удаление
нужная строка со старым значением
#КонецУдаления
#Вставка
Нужная строка с новым значением
#КонецВставки
3. Dimbayyyy 181 24.11.21 11:56 Сейчас в теме
(2) Удалил комменты - не помогло. По поводу добавления удаления строк - а если мне ничего не нужно удалять? К тому же ранее уже пользовался этой диррективой (ИзменениеИКонтроль) без удаления - в модуле формы все работает, без проблем.
7. user1671936 1 24.11.21 12:04 Сейчас в теме
(3) ранее ошибок не было?
9. Dimbayyyy 181 24.11.21 12:04 Сейчас в теме
(7) Без расширения ошибок нет
10. user1671936 1 24.11.21 12:06 Сейчас в теме
(9) Попробуйте в заменяемой процедуре добавить пустые строки, а в модуле расширения эти строки удалить и вместо них вставить нужные.

#Удаление

#КонецУдаления
#Вставка
Нужная строка с нужным значением
#КонецВставки
13. laperuz 46 24.11.21 12:09 Сейчас в теме
(10)Я прошу прощения за грубость, но все, что вы тут советуете - бред, и так делать не нужно, #Вставка работает без #Удаление.
Dimbayyyy; nomad_irk; +2 Ответить
14. user1671936 1 24.11.21 12:14 Сейчас в теме
(13) насчет грубости вы не правы, это не грубость. Соглашусь, мой совет бредово выглядит, вставка работает и без удаления , тоже согласен, но у меня аналогичная ситуация была, и мне помогло именно добавление пустой строки, удаление ее и вставка нужной. И ошибка пропала.
5. laperuz 46 24.11.21 12:01 Сейчас в теме
(1) У вас толстый клиент? Вроде в толстом есть такая проблема.
8. Dimbayyyy 181 24.11.21 12:04 Сейчас в теме
(5)Да, сейчас поробую в тонком
11. Dimbayyyy 181 24.11.21 12:07 Сейчас в теме
20. koln 25.11.21 08:35 Сейчас в теме
(1)Проверка применения расширения ошибок не выдает?
Прикрепленные файлы:
4. jefjef 10 24.11.21 12:00 Сейчас в теме
Что-то мне чуйка подсказывает, что ПроведениеСерверУТ - это серверный модуль и на клиенте не доступен, а поведение системы очень даже логичное.
6. Dimbayyyy 181 24.11.21 12:04 Сейчас в теме
(4) Так это типовой метод. В модуле менеджера вызывается серверный модуль - это разве проблема? Ругается только когда добавляю в расширение указанную функцию. Ругается, даже без дописок в расширении.
12. jefjef 10 24.11.21 12:08 Сейчас в теме
15. Dimbayyyy 181 24.11.21 12:22 Сейчас в теме
Друзья, всем спасибо за помощь! Помогла ссылка на форум https://forum.mista.ru/topic.php?id=827420. В расширении модуля менеджера необходимо было прописать "#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда"
19. jefjef 10 24.11.21 16:11 Сейчас в теме
(15) может попробовать в расширение поместить весь модуль ПроведениеСерверУТ и сделать его доступным на клиенте?
16. Dimbayyyy 181 24.11.21 13:33 Сейчас в теме
Я рано обрадовался :D. При установке инструкции препроцессору, расширение игнорируется(
(12)
17. EVKash 14 24.11.21 14:24 Сейчас в теме
(16) Может безопасный режим забыли отключить у расширения?
18. Dimbayyyy 181 24.11.21 14:30 Сейчас в теме
(17) Безопасный режим отключен
21. user1773463 17.02.23 16:21 Сейчас в теме
(18) В итоге нашли решение?
22. supervk 12.10.23 08:38 Сейчас в теме
Столкнулся с аналогичной проблемой: при подмене функции из модуля целиком обёрнутого в

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#КонецЕсли

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

Ожидается определение процедуры/функции

надо после #КонецЕсли объявить какую-нибудь функцию-пустышку чтобы модуль не был пустой для тонкого клиента

Т.е. в замещающем модуле должно быть так:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

// тут замещенные функции &Вместо и всё такое

#КонецЕсли

Процедура Пустышка()
КонецПроцедуры
Показать
Onaisoft; Date; +2 Ответить
23. Sashares 34 12.10.23 09:36 Сейчас в теме
(22)
надо после #КонецЕсли объявить какую-нибудь функцию-пустышку чтобы модуль не был пустой для тонкого клиента


Нет, не надо
24. supervk 12.10.23 12:19 Сейчас в теме
(23) тогда возникает ошибка Ожидается определение процедуры/функции при открытии/проведении документа
25. supervk 12.10.23 12:21 Сейчас в теме
(24) Как минимум, мне это помогло на 8.3.21.1302
26. Sashares 34 12.10.23 12:30 Сейчас в теме
(24)Возможно у вас в модуле менеджера в расширении были лишние символы.
Точка с запятой где нибудь затерялась вне процедуры.
27. Xershi 1484 06.02.24 18:54 Сейчас в теме
На 1С:Предприятие 8.3 (8.3.20.1789)
помогло такое:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
//Ваш рабочий код
#Иначе

// Просто в иначе добавляем пустышку для удаления и платформа запускается в толстом клиенте УФ.
Процедура Удалить_Пустышка()
	
КонецПроцедуры

#КонецЕсли
Показать

Правда пришлось во всех модулях менеджера это добавлять. Благо их не много было таких!
Для тех кто думает, что дело в табуляции, то я включил в настройках конфигуратора видимость и показал в пустышке табуляцию. Как видно чисто косяк платформы, но у вас может и в табуляции, если настройку не включили.
Прикрепленные файлы:
Оставьте свое сообщение

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