Справочник "Рассылки отчетов". При запуске выполнения рассылки хотелось несколько изменить предупреждение. В конфигурации это процедура
```1c
    &НаКлиенте
    Процедура КомандаВыполнитьСейчас(Команда)
    Если Не Объект.Подготовлена Тогда
    ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена.'"));
    Возврат;
    КонецЕсли;
    ПараметрыЗаписи = Новый Структура;
    ПараметрыЗаписи.Вставить("ИмяКоманды", "КомандаВыполнитьСейчас");
    ЗаписатьНаКлиенте(Неопределено, ПараметрыЗаписи);
    КонецПроцедуры
```

Для начала в расширении делаю такую же процедуру
```1c
    &Вместо("КомандаВыполнитьСейчас")
    Процедура КомандаВыполнитьСейчас(Команда)
    Если Не Объект.Подготовлена Тогда
    ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена.'"));
    Возврат;
    КонецЕсли;
    ПараметрыЗаписи = Новый Структура;
    ПараметрыЗаписи.Вставить("ИмяКоманды", "КомандаВыполнитьСейчас");
    ЗаписатьНаКлиенте(Неопределено, ПараметрыЗаписи);
    КонецПроцедуры
```
но при сохранении расширения выдается ошибка{Рассылка Справочник.РассылкиОтчетов.Форма.ФормаЭлемента.Форма(4,3)}: Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
  <<?>>ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена.'")); (Проверка: Сервер)
{Рассылка Справочник.РассылкиОтчетов.Форма.ФормаЭлемента.Форма(9,2)}: Процедура или функция с указанным именем не определена (ЗаписатьНаКлиенте)
 <<?>>ЗаписатьНаКлиенте(Неопределено, ПараметрыЗаписи); (Проверка: Сервер)
Что я делаю неправильно?
---
Прям не поленился. Где не работает?
---
Что я делаю неправильно?Думаешь, что твой метод в расширении компилируется на клиенте.
---
Думаешь, что твой метод в расширении компилируется на клиенте.Что неправильно?
---
Неправильно так думать.
---
В описании ошибки четко сказано из-за чего:

Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
>ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена.'")); (Проверка: Сервер)
(Проверка: Сервер) ни о чем не говорит? Компиляция идет на сервере, а выдать предупреждение надо на клиенте. Поставь нужную директиву компиляции и все заработает.
  Ну и в чем-то прав (5). Можно делать и вручную, конечно, но тогда возможны ошибки (этот топик в пример), а вот если бы заимствовал процедуру, то подобной ошибки избежал бы.
---
Все не так. Процедуру надо заимствовать в расширение, не надо там ручками лепить процедуры. Не голословно, проверил на последней ЗУП, все отлично заимствуется и работает
---
Процедуру надо заимствовать в расширение, не надо там ручками лепить процедуры. Кто такую фигню сказал?
---
Я, что не так?
---
Ну расскажи мне - в чем отличие заимствования "через мышку" и через "напечатать клавиатурой".
Раз уж ты так утверждаешь.
---
Расширение вещь волшебная, по опыту у меня , раз работала, раз нет, через заимствование работало всегда, вы грамотный, я тоже, давай не будем ругаться
---
через заимствование работало всегда И? Это означает, что по другому делать вообще не надо, так?
не надо там ручками лепить процедуры. То есть если у конкретного тебя когда-то не получилось, то ты считаешь, что теперь это харам и вообще противоестественно для всех остальных.
Так?
---
ты меня не услышал, дальше не интересно, думай как хочешь
---
давай не будем ругаться Просто не люблю голословных утверждений в указательном тоне.
---
Прям не поленился. Где не работает?
---
Прям не поленился. Где не работает?Примерно 2 года не использовал расширения и похоже, что что-то пропустил:(
Сделал все по мультику. Получил:
```1c
    &НаКлиенте
    Процедура Рассылка_КомандаВыполнитьСейчасВместо(Команда)
    Если Не Объект.Подготовлена Тогда
    ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена !!!!!.'"));
    Возврат;
    КонецЕсли;
    ПараметрыЗаписи = Новый Структура;
    ПараметрыЗаписи.Вставить("ИмяКоманды", "КомандаВыполнитьСейчас");
    ЗаписатьНаКлиенте(Неопределено, ПараметрыЗаписи);
    КонецПроцедуры
```
В отличии от конфигурации в предупреждение добавил восклицательные знаки, а в конфигурации установил точку останова. В результате останов идет в конфигурации, а предупреждение, естественно, не отредактированное.
А что здесь не так?

P.S.Конфигурация 3.1.34.3. Платформа 1С:Предприятие 8.3 (8.3.27.1559)
---
Прям не поленился. Где не работает?
Прикрепленные файлы:
Desktop_2025_06_07_19_49_41_498.mkvВсе работает !
---
Если правильно вручную перенести код в расширение, то все будет работать. Но заимствование предпочтительный вариант, так как есть гарантия что процедура/функция перенеслась правильно.

Я бы посоветовал ТС использовать ИзменениеИКонтроль а не #Вместо так как переназначение процедуры/Функции при использовании дерективы #Вместо может вылезти боком в дальнейшем.
---
Еще одна "странность".
Написал в расширении
```1c
    &Перед("КомандаВыполнитьСейчас")
    &НаКлиенте
    Процедура Рассылка_КомандаВыполнитьСейчас(Команда)

    Если Объект.Личная Тогда
    ПоказатьПредупреждение(, НСтр("ru = 'Личная.'"));
    Возврат;
    КонецЕсли;

    КонецПроцедуры
```

Далее должна бы выполниться процедура из конфигурации
```1c
    &НаКлиенте
    Процедура КомандаВыполнитьСейчас(Команда)
    Если Не Объект.Подготовлена Тогда
    ПоказатьПредупреждение(, НСтр("ru = 'Рассылка не подготовлена.'"));
    Возврат;
    КонецЕсли;
    ПараметрыЗаписи = Новый Структура;
    ПараметрыЗаписи.Вставить("ИмяКоманды", "КомандаВыполнитьСейчас");
    ЗаписатьНаКлиенте(Неопределено, ПараметрыЗаписи);
    КонецПроцедуры
```
Но почему-то сначала идет предупреждение из конфигурации, а уж потом из расширения, хотя в расширении стоит "перед".
И здесь есть какая-то особенность?
---
И здесь естьЗамени предупреждение на сообщение. Подумай чем они отличаются.
---
Замени предупреждение на сообщение. Подумай чем они отличаются.И зачем это? Я специально написал одинаковые процедуры. Меня интересует почему то, что должно выполняться "перед" выполняется после.
---
Меня интересует почему то, что должно выполняться "перед" выполняется после. То, что должно выполнятся перед и выполняется перед. Замени предупреждение на сообщение. Подумай чем они отличаются.
---
че, думаешь реально поймёт отличие стека от очереди?
---
думаешь реально поймётДа нет, конечно. Может, через руки хоть что дойдет, как оно работает.
---
Тема закрыта.
---
Тема закрыта.Ура! Ты справился!
---
Ты про то, что он нам минусов наставил?
---
```1c
    &Вместо("КомандаВыполнитьСейчас")
    &НаКлиенте
    Процедура КомандаВыполнитьСейчас(Команда)
```

&НаКлиенте добавь