Не срабатывает процедура общего модуля в управляемом приложении

1. sidalexsandr 4 23.12.15 11:58 Сейчас в теме
Не работает вызов процедуры общего модуля(ПровКонст)
Процедура ПроверитьЗаполКонст(Заполн) Экспорт


Если ПустаяСтрока(Константы.МетодСписания.Получить())Тогда
Сообщить("Заполните константу");
Иначе
//Возврат ("Константа заполнена");
Сообщить("Константа заполнена");
КонецЕсли;

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

1)Вызываю из модуля управляемого приложения
Процедура ПередНачаломРаботыСистемы(Отказ)

ПровКонст.ПроверитьЗаполКонст();

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

Выдает ошибку
{МодульУправляемогоПриложения(4,2)}: Переменная не определена (ПровКонст)
<<?>>ПровКонст.ПроверитьЗаполКонст(); (Проверка: Тонкий клиент)

2) Пробавал изменить вызов
&НаСервере
Процедура ПередНачаломРаботыСистемы(Отказ)

ПровКонст.ПроверитьЗаполКонст();

КонецПроцедуры
Запускается, но ничего не выводит
3) Пробовал поставить галочку клиент (управляемое приложение)
у общего модуля
В результате ошибка
{ОбщийМодуль.ПровКонст.Модуль(4,20)}: Переменная не определена (Константы)
Если ПустаяСтрока(<<?>>Константы.МетодСписания.Получить())Тогда
4) Пробовал
Функция ПроверитьЗаполКонст() Экспорт


Если ПустаяСтрока(Константы.МетодСписания.Получить())Тогда
Сообщить("Заполните константу");
Заполн = "Заполните константу";
Возврат Заполн;
Иначе
//Возврат ("Константа заполнена");
Сообщить("Константа заполнена");
Заполн = "Заполните константу";
Возврат Заполн;

КонецЕсли;

КонецФункции
Процедура ПередНачаломРаботыСистемы(Отказ)

Сообщить(ПровКонст.ПроверитьЗаполКонст());

КонецПроцедуры
В результате ошибка
{МодульУправляемогоПриложения(4,11)}: Переменная не определена (ПровКонст)
Сообщить(<<?>>ПровКонст.ПроверитьЗаполКонст());
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. config 196 23.12.15 12:02 Сейчас в теме
Процедура ПроверитьЗаполКонст(Заполн) Экспорт //тут есть параметр

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


а ты параметр не передаешь

ПровКонст.ПроверитьЗаполКонст(); 
3. dchumak 42 23.12.15 12:04 Сейчас в теме
Общий модуль, свойства - какие параметры установлены? Клиент, сервер, вызов сервера? Сравните с другими модулями, откуда процедуры и функции нормально вызываются.
5. sidalexsandr 4 23.12.15 12:06 Сейчас в теме
(3)Общий модуль Сервер галочка.
emilliya; +1 Ответить
4. spezc 787 23.12.15 12:06 Сейчас в теме
у модуля ПровКонст - какие галки стоят?
6. sommid 23.12.15 12:07 Сейчас в теме
мне кажется лучше оставить первый вариант, установив у общего модуля галку "Вызов сервера"
7. config 196 23.12.15 12:13 Сейчас в теме
Вот так надо

В модуле упр. приложения
//без директивы
Процедура ПередНачаломРаботыСистемы(Отказ)
ПровКонст.ПроверитьЗаполКонст();
КонецПроцедуры 


В общем модуле, в свойствах галка только клиент(управляемое приложение)
//без директивы
Процедура ПроверитьЗаполКонст() Экспорт 

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


В БП 3.0 так работает
9. spezc 787 23.12.15 12:35 Сейчас в теме
(7) а КонстантаМенеджер таки доступна на клиенте?
12. sidalexsandr 4 23.12.15 13:55 Сейчас в теме
18. sidalexsandr 4 23.12.15 15:43 Сейчас в теме
(7)Тогда ругается на
Константы.МетодСписания.Получить()
19. sidalexsandr 4 23.12.15 15:47 Сейчас в теме
(7) Выдает ошибку
{ОбщийМодуль.ПровКонст.Модуль(3,10)}: Переменная не определена (Константы)
Возврат <<?>>Константы.МетодСписания.Получить();
8. sommid 23.12.15 12:23 Сейчас в теме
можно почитать
http:// /articles/модули-в-платформе-1с-предприятие-8-3/
http://infostart.ru/public/198766/

и самому решить как сделать ;)
13. sidalexsandr 4 23.12.15 13:56 Сейчас в теме
(8) Много читать. Напищи работающий пример.
14. spezc 787 23.12.15 13:59 Сейчас в теме
10. spezc 787 23.12.15 12:37 Сейчас в теме
и отдельно, уважаемый автор. не пишите "ПровКонст", "ПроверитьЗаполКонст", "Заполн". Это просто жесть жестяная. Используйте нормальные полные наименования переменных
user1316148; sommid; +2 Ответить
11. Поручик 4683 23.12.15 13:08 Сейчас в теме
(10) А может у него жёсткие ограничения на размер конфигурации. Тут каждый байт дорог, тем более что 1С 8.2 и выше юникодовая по природе, а в юникоде размер символа целых два байта или четыре.
15. sidalexsandr 4 23.12.15 14:06 Сейчас в теме
Странно Сообщить() написанно что работает на сервере.
16. sommid 23.12.15 14:31 Сейчас в теме
(15) так оно и работает. кидает в очередь сообщений - и по возвращении на клиента - все вываливает
17. sidalexsandr 4 23.12.15 15:35 Сейчас в теме
Попробовал в модуле управляемого приложения
&НаСервере
Процедура ВыдатьТекст()
ПровКонст.ПроверитьЗаполКонст();
Сообщить("На клиенте");

КонецПроцедуры
&НаКлиенте
Процедура ПередНачаломРаботыСистемы(Отказ)

ВыдатьТекст();


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


Выдает ошибку
{МодульУправляемогоПриложения(11,2)}: Процедура или функция с указанным именем не определена (ВыдатьТекст)
<<?>>ВыдатьТекст(); (Проверка: Тонкий клиент)
20. spacecraft 23.12.15 15:48 Сейчас в теме
(17) sidalexsandr, правильно Вам советовали курсы. Теория необходима. Дальше еще сложнее будет.
Модуль управляемого приложения исполняется только на клиенте. Директивой &НаСервере просто скрыли процедуру. Она не будет никогда компилироваться.
Без знаний, что где выполняется и доступно лучше не продолжать.
21. spezc 787 23.12.15 15:52 Сейчас в теме
из модуля управляемого приложения необходимо вызывать общий модуль с галкой сервер и вызов сервера. директивы не нужны.
22. config 196 23.12.15 16:04 Сейчас в теме
В модуле упр. приложения
//без директивы
Процедура ПередНачаломРаботыСистемы(Отказ)
   ПровКонстКлиент.ПроверитьЗаполКонст();
КонецПроцедуры 



В общем модуле ПровКонстКлиент, в свойствах галка только клиент(управляемое приложение)
//без директивы
Процедура ПроверитьЗаполКонст() Экспорт 
   ПровКонстСервер.ПроверитьЗаполКонстНаСервере();
КонецПроцедуры 


В общем модуле ПровКонстСервер, в свойствах галка Сервер и Вызов сервера
//без директивы
Процедура ПроверитьЗаполКонстНаСервере() Экспорт
   Если ПустаяСтрока(Константы.МетодСписания.Получить())Тогда 
	Сообщить("Заполните константу"); 
   Иначе 
	Сообщить("Константа заполнена");
   КонецЕсли;
КонецПроцедуры;


Так вроде
23. spezc 787 23.12.15 16:08 Сейчас в теме
(22) а промежуточное зачем? почему сразу на сервер не передать?
24. config 196 23.12.15 16:12 Сейчас в теме
(23) spezc, мне показалось, что автор именно так хочет. Общий модуль ПровКонст ему нужен и на клиенте, и на сервере.
Да и в ПередНачаломРаботыСистемы вроде не принятно большие куски кода кидать, хотя там можно просто в отдельную процедуру вывести
25. sidalexsandr 4 23.12.15 16:29 Сейчас в теме
Поставил галочку <<Вызов сервера>> и все заработало.
Тему можно закрывать.
26. sommid 23.12.15 16:30 Сейчас в теме
Оставьте свое сообщение

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