Изучение 1С Процедура

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

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

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


Но при проверке модуля выдается ошибка : Процедура или функция с указанным именем не определена (ПоказНалога).
Объясните в чем загвоздка??
По теме из базы знаний
Найденные решения
7. yad 5 10.08.17 12:03 Сейчас в теме
(6)
Исправь здесь
Налог = СтажРаботы * Оклад / 100 * 13;


СтажРаботы на Стаж
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Amadeuc404 54 10.08.17 11:47 Сейчас в теме
Где у тебя процедура находится, и откуда ты ее инициализируешь?
3. user698184_bunegin 10.08.17 11:51 Сейчас в теме
(2)Не совсем понимаю о чем вы. Вот полный код. И все это делаю в обработке(встроенной).

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

Процедура ПоказНалога(Сотрудник,Стаж,Оклад)
 Налог = СтажРаботы * Оклад / 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 +  " руб." );
#КонецЕсли
Показать
4. Amadeuc404 54 10.08.17 11:55 Сейчас в теме
В общем я так подозреваю ты эту процедуру написал в модуле объекта, а вызываешь ее из модуля формы.
Если так то делай процедуру экспортной.
Процедура ПоказНалога(Сотрудник,Стаж,Оклад)  Экспорт

или перенеси процедуру в тот же модуль.
5. yad 5 10.08.17 11:56 Сейчас в теме
Дописать &НаКлиенте


&НаКлиенте
Процедура ПоказНалога(Сотрудник,Стаж,Оклад)
6. user698184_bunegin 10.08.17 12:00 Сейчас в теме
Экспорт не помог, я так пробовал, не помог.
НаКлиенте указал теперь выдает такую ошибку : Переменная не определена (СтажРаботы)
7. yad 5 10.08.17 12:03 Сейчас в теме
(6)
Исправь здесь
Налог = СтажРаботы * Оклад / 100 * 13;


СтажРаботы на Стаж
9. user698184_bunegin 10.08.17 12:09 Сейчас в теме
(7)Спасибо проблема была в этом)
Еще вопрос. В предприятие когда хочу посмотреть результат работы этого кода, я открываю все функции далее обработка, но результат после первого открытия не показывается только со второго, при этом первую обработку не закрываю. В чем проблема платформа 8.3. база самописная?
14. yad 5 10.08.17 12:46 Сейчас в теме
(9)
Еще вопрос. В предприятие когда хочу посмотреть результат работы этого кода, я открываю все функции далее обработка, но результат после первого открытия не показывается только со второго, при этом первую обработку не закрываю. В чем проблема платформа 8.3. база самописная?


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

(13)http://forum-1c.ru/index.php?topic=48500.0
15. user698184_bunegin 10.08.17 12:48 Сейчас в теме
16. user698184_bunegin 10.08.17 12:53 Сейчас в теме
(14)Если код вставляю в модуль обработки, а из формы удаляю, то вообще ничего не происходит.
17. yad 5 11.08.17 04:41 Сейчас в теме
(9)
код отрабатывает, но окно с сообщениями закрывается после открытия формы:

если операторы переместить в процедуру ПриОткрытии, то окно с сообщениями не закроется:
8. yad 5 10.08.17 12:04 Сейчас в теме
При сохранении ошибки выводит?
10. user698184_bunegin 10.08.17 12:10 Сейчас в теме
(8)Да при сохранении выводит
11. yad 5 10.08.17 12:17 Сейчас в теме
(10)
Да при сохранение выводит

дважды щелкаешь на ошибку

курсор встанет в место, где эта ошибка
12. user698184_bunegin 10.08.17 12:21 Сейчас в теме
13. user698184_bunegin 10.08.17 12:24 Сейчас в теме
Почему происходит так:

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


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

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

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

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