Имя: Пароль:
1C
1С v8
Управляемое приложение
0 devochka_1c
 
21.04.12
22:21
Добрый вечер!
Помогите, пожалуйста, совсем запуталась(
Самописная учебная конфа. В модуле управляемого приложения пишу код:


   &НаСервере
   Функция ПолучитьКонстанту()    
       
       Значение =       Константы.ЗадаватьВопросПриЗакрытииПрограммы.Получить();
       Если Значение = Истина Тогда
           
           Режим = РежимДиалогаВопрос.ДаНет;
           Текст = "Завершить работу программы?";
           Ответ = Вопрос (НСтр(Текст), Режим, 0)
       КонецЕсли;
       
   КонецФункции // ПолучитьЗначениеКонстанты()
   
   Процедура ПередЗавершениемРаботыСистемы()
       
       ПолучитьКонстанту();

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

Система ругается:
{МодульУправляемогоПриложения(183,3)}: Процедура или функция с указанным именем не определена (ПолучитьКонстанту)
       <<?>>ПолучитьКонстанту(); (Проверка: Тонкий клиент)

Если указываю перед процедурой ПередЗавершениемРаботыСистемы() дерективу &НаСервере ошибка пропадает, но тогда не обрабатывается эта процедура...
1 GROOVY
 
21.04.12
22:23
Модуль управляемого приложения отрабатывает на стороне клиента. Написав директиву &НаСервере система просто не компилит ее.
2 devochka_1c
 
21.04.12
22:25
(1) я это понимаю...но как быть в моем случае?
3 DmiVo
 
21.04.12
22:29
Создать функцию в общем модуле и вызывать ее
4 devochka_1c
 
21.04.12
23:03
(3) пишу вот так вызов

ОсновныеФункции.ПолучитьКонстанту();


система пишет:

{МодульУправляемогоПриложения(171,4)}: Переменная не определена (ОсновныеФункции)
        <<?>>ОсновныеФункции.ПолучитьКонстанту(); (Проверка: Тонкий клиент)
5 andrewks
 
21.04.12
23:06
там в свойствах модуля галочки разные есть...
6 GROOVY
 
21.04.12
23:10
(4) Галку "Глобальный" надо снять с общего модуля.
7 devochka_1c
 
21.04.12
23:11
В общем модуле ОсновныеФункции  (галочка Сервер)
пишу
Процедура ПолучитьКонстанту()  Экспорт  
       
Значение = Константы.ЗадаватьВопросПриЗакрытииПрограммы.Получить();
КонецПроцедуры // ПолучитьЗначениеКонстанты()

В модуле управляемого приложения пишу:

   Процедура ПередЗавершениемРаботыСистемы(Отказ)
       
        ОсновныеФункции.ПолучитьКонстанту();
       
           
           Режим = РежимДиалогаВопрос.ДаНет;
           Текст = "Завершить работу программы?";
           Ответ = Вопрос (НСтр(Текст), Режим, 0)
       

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

Что я делаю не так?
Галка "Глобальный снята"
8 GROOVY
 
21.04.12
23:12
(7) Ключевое слово - ФУНКЦИЯ
9 GROOVY
 
21.04.12
23:12
А, и галку надо поставить "Вызов сервера" (ошибка именно из-за нее.
10 andrewks
 
21.04.12
23:15
мдэ... я вижу, ЖКК Анджелина не осилила
11 devochka_1c
 
21.04.12
23:43
Всем спасибо! разобралась.