Добрый день, изучаю 1С. Написал(точнее повторил) такую процедуру:

```1c
    Процедура ПоказНалога(Сотрудник,Стаж,Оклад)
    Налог = СтажРаботы * Оклад / 100 * 13;
    ТекстСообщения = Сотрудник + " Оклад:" + Оклад + " руб. Стаж:" + Стаж + " мес. Налог=" + Налог + " руб.";
    Сообщить(ТекстСообщения);
    КонецПроцедуры

    // *** Раздел основной программы ***
    //Сообщить("Инициализация модуля");
    Сотрудник1 = "Иванов";
    СтажРаботы1 = 10;
    Оклад1 = 10000;
    //ПодоходныйНалог1 = СтажРаботы1 * Оклад1 /100 * 13;
    //Сообщить(ПодоходныйНалог1);
    ПоказНалога(Сотрудник1,СтажРаботы1,Оклад1);
```

Но при проверке модуля выдается ошибка : Процедура или функция с указанным именем не определена (ПоказНалога).
Объясните в чем загвоздка??
---
Исправь здесь

```1c
    Налог = СтажРаботы * Оклад / 100 * 13;
```

СтажРаботы на Стаж
---
Где у тебя процедура находится, и откуда ты ее инициализируешь?
---
Не совсем понимаю о чем вы. Вот полный код. И все это делаю в обработке(встроенной).

```1c
    #Если Клиент Тогда
    // *** Раздел объявленя переменных ***
    Перем А;
    // *** Раздел процедур и функций ***

    Процедура ПоказНалога(Сотрудник,Стаж,Оклад)
    Налог = СтажРаботы * Оклад / 100 * 13;
    ТекстСообщения = Сотрудник + " Оклад:" + Оклад + " руб. Стаж:" + Стаж + " мес. Налог=" + Налог + " руб.";
    Сообщить(ТекстСообщения);
    КонецПроцедуры

    // *** Раздел основной программы ***
    //Сообщить("Инициализация модуля");
    Сотрудник1 = "Иванов";
    СтажРаботы1 = 10;
    Оклад1 = 10000;
    //ПодоходныйНалог1 = СтажРаботы1 * Оклад1 /100 * 13;
    //Сообщить(ПодоходныйНалог1);
    ПоказНалога(Сотрудник1,СтажРаботы1,Оклад1);

    Сотрудник2 = "Петров";
    СтажРаботы2 = 5;
    Оклад2 = 12000;
    ПодоходныйНалог2 = СтажРаботы2 * Оклад2 / 100 * 13;
    Сообщить(Сотрудник2 + " Оклад:" + Оклад2 + " руб. Стаж:" + СтажРаботы2 + " мес. Налог = " + ПодоходныйНалог2 + " руб." );
    #КонецЕсли
```
---
В общем я так подозреваю ты эту процедуру написал в модуле объекта, а вызываешь ее из модуля формы.
Если так то делай процедуру экспортной.

```1c
    Процедура ПоказНалога(Сотрудник,Стаж,Оклад) Экспорт
```

или перенеси процедуру в тот же модуль.
---
Дописать &НаКлиенте

```1c
    &НаКлиенте
    Процедура ПоказНалога(Сотрудник,Стаж,Оклад)
```
---
Экспорт не помог, я так пробовал, не помог.
НаКлиенте указал теперь выдает такую ошибку : Переменная не определена (СтажРаботы)
---
Исправь здесь

```1c
    Налог = СтажРаботы * Оклад / 100 * 13;
```

СтажРаботы на Стаж
---
Спасибо проблема была в этом)
Еще вопрос. В предприятие когда хочу посмотреть результат работы этого кода, я открываю все функции далее обработка, но результат после первого открытия не показывается только со второго, при этом первую обработку не закрываю. В чем проблема платформа 8.3. база самописная?
---
Еще вопрос. В предприятие когда хочу посмотреть результат работы этого кода, я открываю все функции далее обработка, но результат после первого открытия не показывается только со второго, при этом первую обработку не закрываю. В чем проблема платформа 8.3. база самописная?

где код находится? в модуле обработки, модуле формы?

(13)http://forum-1c.ru/index.php?topic=48500.0
---
В форме.
---
Если код вставляю в модуль обработки, а из формы удаляю, то вообще ничего не происходит.
---
код отрабатывает, но окно с сообщениями закрывается после открытия формы:

если операторы переместить в процедуру ПриОткрытии, то окно с сообщениями не закроется:
---
При сохранении ошибки выводит?
---
Да при сохранении выводит
---
Да при сохранение выводит
дважды щелкаешь на ошибку

 курсор встанет в место, где эта ошибка
---
Да, это я знаю.
---
Почему происходит так:

Если я указываю что НаКлиенте, то все работает.

```1c
    &НаКлиенте
    Процедура ПоказНалога(Сотрудник,Стаж,Оклад) Экспорт
    Налог = Стаж * Оклад / 100 * 13;
    ТекстСообщения = Сотрудник + " Оклад:" + Оклад + " руб. Стаж:" + Стаж + " мес. Налог=" + Налог + " руб.";
    Сообщить(ТекстСообщения);
    КонецПроцедуры
```

 Если не указываю то выдает ошибку. Хотя выше в коде я же указал что, клиент?

```1c
    #Если Клиент Тогда
    // *** Раздел объявленя переменных ***
    Перем А;
    // *** Раздел процедур и функций ***

    //&НаКлиенте
    Процедура ПоказНалога(Сотрудник,Стаж,Оклад) Экспорт
    Налог = Стаж * Оклад / 100 * 13;
    ТекстСообщения = Сотрудник + " Оклад:" + Оклад + " руб. Стаж:" + Стаж + " мес. Налог=" + Налог + " руб.";
    Сообщить(ТекстСообщения);
    КонецПроцедуры
```