Ночь добрая! Помогите пожалуйста разобраться и найти функцию.

Есть код в общем модуле

Галочки

-Глобальный
-Клиент
-Сервер
-Вызов Сервера

```1c
    &НаСервере
    Функция ЗагрузитьФайлНаСервере( Знач Адрес, Знач Расширение) Экспорт
    СтруктураХранения = Метаданные.ОбщиеМодули.Служебный.ПолучитьСтруктуруВХранилище();
    Если СтруктураХранения.ПолноеИмя = " Тогда
    Сообщить ( "Не настроено хранилище");

    Возврат ";
    КонецЕсли;

    ИмяФайлаСохранения = СтруктураХранения.ПолноеИмя + Расширение;
    ФайлВременногоХранилища = ПолучитьИзВременногоХранилища(Адрес);
    ФайлВременногоХранилища.Записать (ИмяФайлаСохранения);

    УдалитьИзВременногоХранилища(Адрес);
    Файл = Новый Файл(ИмяФайлаСохранения);
    Если Файл.Существует() Тогда

    Возврат СтруктураХранения.ИмяФайла + Расширение;
    Иначе

    Сообщить ("Ошибка при сохранении файла на сервере.");
    Возврат ";
    КонецЕсли;
    КонецФункции
```

Документ ОбъектСтроительства
Модуль Формы Документа
Процедура

Не получается найти ЗагрузитьФайлНаСервере()
Пишет
Документ.ОбъектыСтроительства.Форма.ФормаЭлемента.Форма(89,35)}: Процедура или функция с указанным именем не определена (ЗагрузитьФайлНаСервере)
СтрокаДанных.ИмяФайлаВХранилище = <<?>>ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение); (Проверка: Тонкий клиент)

```1c
    &НаКлиенте
    Процедура ВыполнитьЗагрузку(Результат, Адрес, ПомещаемыйФайл, СтрокаДанных) Экспорт

    Если НЕ Результат Тогда
    Возврат;

    КонецЕсли;
    Файл = Новый Файл(ПомещаемыйФайл);
    СтрокаДанных.ИмяФайла = Файл.Имя;
    СтрокаДанных.ИмяФайлаВХранилище = ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение);
    Если СтрокаДанных.ИмяФайлаВХранилище <> " Тогда
    СтрокаДанных.ЕстьДокумент = Истина;
    КонецЕсли;
    КонецПроцедуры
```
---
потому что вызов происходит в модуле формы с клиентским контекстом, а общем глобальном модуле с такими директивами и указанием компиляции процедуры &НаСервере, она доступна только серверному контексту.
То что включен флаг "ВызовСервера" ничего не дает. Он тупо не работает в таком сочетании флагов, как "Клиент" и "Сервер" одновременно.

Ну и сомо решение общего модуля вызывает вопрос: "А зачем?". При условии, что принудительно ограничиваете доступность процедуры.
Создавайте новый общий модуль с флагами "Сервер" и "ВызовСервера", или найдите подходящий из существующих.

PS. и флаг "Глобальный" тут не к месту.
---
Здравствуйте.
можно вот так попробовать НаСервере

общийМодуль.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение)
---
потому что вызов происходит в модуле формы с клиентским контекстом, а общем глобальном модуле с такими директивами и указанием компиляции процедуры &НаСервере, она доступна только серверному контексту.
То что включен флаг "ВызовСервера" ничего не дает. Он тупо не работает в таком сочетании флагов, как "Клиент" и "Сервер" одновременно.

Ну и сомо решение общего модуля вызывает вопрос: "А зачем?". При условии, что принудительно ограничиваете доступность процедуры.
Создавайте новый общий модуль с флагами "Сервер" и "ВызовСервера", или найдите подходящий из существующих.

PS. и флаг "Глобальный" тут не к месту.
---
Спасибо, помогло, при наличии галочек "Сервер" и "ВызовСервера" появляется возможность обратиться к общему модулю через точку. В итоге заработала такая конструкция

Служебный.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение);

Ещё раз спасибо!
---
Здравствуйте.
можно вот так попробовать НаСервере

общийМодуль.ЗагрузитьФайлНаСервере(Адрес, Файл.Расширение)
---
Да по сути вы правы, спасибо!
---
Это честно говоря косяк 1С, все время с этим сталкиваюсь. Зачем так сделано, непонятно. Почему нельзя в одном модуле писать и процедуры "На сервере" и процедуры "На клиенте", а нужно вводить кучу модулей.