Имя: Пароль:
1C
1С v8
Помогите разобратся с взаимодествием между процедурами общего модуля
0 1sik
 
04.01.14
23:47
У меня в конфе на 8.2 есть два общих модуля, имеющие совершенно одинаковые свойства,Галки(Клиент упр прил. Клиент обыч. прил, сервер,вызов сервера), глобальный не ставил. В первом модуле есть одна функция,без директивы компиляции. Когда в первый модуль добавляю кусок кода что ниже, при сохранение ругается ...

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


Когда этот кусок добавляю во второй модуль не ругается при сохранение.
С чем это может быть связано?

  &НаКлиенте
  Функция Флаг()
  
      ФлагСервер();
  
  КонецФункции // Флаг()
  
  &НаСервере
Функция ФлагСервер()

    

КонецФункции // ФлагСервер()
1 zulu_mix
 
05.01.14
00:05
ну функция обычно что то возвращает, а ты ее как процедуру вызываешь.
2 1sik
 
05.01.14
00:10
Я уже пробовал писать внутрь функции Возврат истина; и менял ее на процедуру все та же ошибка.
3 GROOVY
 
05.01.14
00:12
ИмяМодуля.ИмяПроцедуры()
4 1sik
 
05.01.14
00:20
(3) Спасибо. Заработало.
Но так работает только если убрать галку глобальный.
И когда писал без имени модуля контекстная подсказка дала написать просто ФлагСервер().
5 GROOVY
 
05.01.14
00:21
Значит оставить галку глобальный и долго думать из какого контекста (клиент или сервер) вызывается процедура.
6 1sik
 
05.01.14
00:23
Я принудительно указывал  директиву "на клиенте" у той функции из которой вызывал.

&НаКлиенте
  Функция Флаг()
  
      ФлагСервер();
  
  КонецФункции // Флаг()
7 GROOVY
 
05.01.14
00:30
(6) Зачем? Директивы компиляции в формах работают.
8 1sik
 
05.01.14
00:37
Понял свою ошибку. Что то меня переклинило, что если функция не на клиенте, то ее из модуля управляемого приложения не вызвать будет. Вот и создал первую функцию как промежуточный шаг.
Совсем во взаимодействиях запутался, на 8.2 не приходилось работать. Теперь все что надо сделал, все работает.
Спасибо за помощь.