Здравствуйте.Подскажите, пожалуйста, создала новый регистр сведений и 2 новых общих модуля(один из них на клиенте- для программного изменения форм документов,другой серверный). В клиентском модуле сделала проверку:

```1c
    Запрос = Новый запрос;
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
    | КодыДоступаПользователей.Пользователь,
    | КодыДоступаПользователей.КодДоступа,
    | КодыДоступаПользователей.КонтрольПередачиДокументов
    |ИЗ
    | РегистрСведений.КодыДоступаПользователей КАК КодыДоступаПользователей
    |ГДЕ
    | КодыДоступаПользователей.Пользователь = &Пользователь";
    Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
    Выборка= Запрос.Выполнить().Выбрать();

    Если Форма.ОбработаноЭкономистом = Истина или Форма.ОтражатьВБухгалтерскомУчете = Истина Тогда
    Если Выборка.Следующий() Тогда
    ЭлементыФормы.флОбработаноЭкономистом.Доступность =не Выборка.КонтрольПередачиДокументов;
    Форма.ТолькоПросмотр = Выборка.КонтрольПередачиДокументов;
    Иначе
    ЭлементыФормы.флОбработаноЭкономистом.Доступность = Ложь;
    Форма.ТолькоПросмотр = Истина;
    КонецЕсли;
    КонецЕсли;
```
 при открытии формы.В обычном приложении -работает как надо.Подозреваю, что ругань начнется при пробе управляемого приложения(из-за запроса).Возможно попробовать как-то вынести проверку при управляемом приложении в мною созданный серверный модуль?Подскажите, какое условие наложить (кажется что проверка текущего режима запуска не поможет )

Заранее спасибо
---
необходимо в серверный модуль перенести запрос, в отдельную экспортную функцию передавая туда нужные параметры если неоьходимо и возвращать от серверной функции значение (структуру, таблицу и т.д.). Например

пишем на в серверном модуле функцию:
функция вернутьКодконтроляПередачи(Пользователь)
    Запрос = Новый запрос;
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
                   | КодыДоступаПользователей.Пользователь,
                   | КодыДоступаПользователей.КодДоступа,

                   | КодыДоступаПользователей.КонтрольПередачиДокументов
                   |ИЗ
                   | РегистрСведений.КодыДоступаПользователей КАК КодыДоступаПользователей
                   |ГДЕ
                   | КодыДоступаПользователей.Пользователь = &Пользователь";
    Запрос.УстановитьПараметр("Пользователь", Пользователь);
    Выборка= Запрос.Выполнить().Выбрать();
     Если Выборка.Следующий() Тогда
            вовзрат Выборка.КонтрольПередачиДокументов;
        Иначе
            вовзрат неопределено;
        КонецЕсли;

КонецФункции

в клиентской части функция будет выглядеть следующим образом:

Процедура ЧтотоТам(Форма)
    Если Форма.ОбработаноЭкономистом = Истина или Форма.ОтражатьВБухгалтерскомУчете = Истина Тогда
        ЗначениеВозврата = Серверныймодуль.вернутьКодконтроляПередачи(ПараметрыСеанса.ТекущийПользователь);
        Если ЗначениеВозврата <> неопределено тогда
              ЭлементыФормы.флОбработаноЭкономистом.Доступность =не ЗначениеВозврата ;
            Форма.ТолькоПросмотр = ЗначениеВозврата ;
        Иначе
            ЭлементыФормы.флОбработаноЭкономистом.Доступность = Ложь;
            Форма.ТолькоПросмотр = Истина;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

таким образом 1ое, зачем выполнять запрос если используем его только при определенном условии, т.е. мы внесли выполнение запроса в условие Если;
2.ое запрос выполняется на серверной части и возвращает данные клиентской части.
---
#Если ТонкийКлиент Тогда

...
#Если ТолстыйКлиентУправляемоеПриложение

...
---
а где посоветуете такую проверку?дело в том, что мне только часть процедуры необходимо перевести на сервер
---
запросы надо выполнять на серверной стороне, а не клиентской
---
я знаю)вопрос только как из клиентского модуля для управляемого приложения перейти в серверный...и еще если запросы только на серверой стороне- то почему при обычном приложении все срабатывает(теореточески я понимаю так-разделение клиент -сервер обостряется при управляемом приложении)
---
sweety-twetty, на обычном клиенте все исполняется потому что данные клиенту передаются в полном объеме. Думаю вы уже заметили что в управляемом приложении нельзя обратиться через точку по ссылке, например взят и написать "Контрагент.ИНН". Все потому что Управляемые приложения реализуют так называемого тонкого клиента, т.е. клиенту передаются только те данные которые отображены на форме и более ни чего, чтобы все пролезало в узенький интернет канал (где такие еще остались правда не очень понятно).отсюда и разделение функций. т.е. запрос исполянемый на клиенте просто не увидит данных, так как на клиенте их не существует.
---
sweety-twetty, как из клиентского модуля для управляемого приложения перейти в серверный
переносите исполнение запроса в серверный модуль (галочки сервер и вызов сервера)
---
Добавила вознаграждение + ошибка

{ОбщийМодуль.ДоработкиКлиент.Модуль(475,18)}: Тип не определен (запрос)
  Запрос = Новый <<?>>запрос;
Так ругается на все запросы в этом модуле
---
необходимо в серверный модуль перенести запрос, в отдельную экспортную функцию передавая туда нужные параметры если неоьходимо и возвращать от серверной функции значение (структуру, таблицу и т.д.). Например

пишем на в серверном модуле функцию:
функция вернутьКодконтроляПередачи(Пользователь)
    Запрос = Новый запрос;
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
                   | КодыДоступаПользователей.Пользователь,
                   | КодыДоступаПользователей.КодДоступа,

                   | КодыДоступаПользователей.КонтрольПередачиДокументов
                   |ИЗ
                   | РегистрСведений.КодыДоступаПользователей КАК КодыДоступаПользователей
                   |ГДЕ
                   | КодыДоступаПользователей.Пользователь = &Пользователь";
    Запрос.УстановитьПараметр("Пользователь", Пользователь);
    Выборка= Запрос.Выполнить().Выбрать();
     Если Выборка.Следующий() Тогда
            вовзрат Выборка.КонтрольПередачиДокументов;
        Иначе
            вовзрат неопределено;
        КонецЕсли;

КонецФункции

в клиентской части функция будет выглядеть следующим образом:

Процедура ЧтотоТам(Форма)
    Если Форма.ОбработаноЭкономистом = Истина или Форма.ОтражатьВБухгалтерскомУчете = Истина Тогда
        ЗначениеВозврата = Серверныймодуль.вернутьКодконтроляПередачи(ПараметрыСеанса.ТекущийПользователь);
        Если ЗначениеВозврата <> неопределено тогда
              ЭлементыФормы.флОбработаноЭкономистом.Доступность =не ЗначениеВозврата ;
            Форма.ТолькоПросмотр = ЗначениеВозврата ;
        Иначе
            ЭлементыФормы.флОбработаноЭкономистом.Доступность = Ложь;
            Форма.ТолькоПросмотр = Истина;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

таким образом 1ое, зачем выполнять запрос если используем его только при определенном условии, т.е. мы внесли выполнение запроса в условие Если;
2.ое запрос выполняется на серверной части и возвращает данные клиентской части.
---
написала почти так же =) спасибо
---
таже ошибка или код похож?
---
пока только код, сегодня тестить будем=)