Здравствуйте. Я новичок, познаю 1с только, нужна помощь, много тем пролистал но что-то вариант решения не приходит в голову
Имеется обработка, работала на обычных формах, переписываю ее под управляемые, в одной процедуре возникли проблемы, выполняется на сервере

```1c
    Процедура ВвестиСчетФактуру(ДокументОбъект, ВидСчетаФактуры = "СчетФактураВыданный", Отбор= Неопределено, НомерСФ) Экспорт

    //Попытаемся найти счет-фактуру
    СчетФактура = УчетНДСПереопределяемый.НайтиПодчиненныйСчетФактуруВыданныйНаРеализацию(ДокументОбъект.Ссылка, ВидСчетаФактуры, Отбор);

    Если (ДокументОбъект.ПометкаУдаления) И Не ЗначениеЗаполнено(СчетФактура) Тогда
    Сообщить("Счет-фактуру нельзя вводить на основании документа, помеченного на удаление");
    Возврат;
    КонецЕсли;

    ОбъектСчетаФактуры = Неопределено;

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

    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].ПолучитьФормуНовогоДокумента(, ФормаДокумента , Строка(ДокументОбъект));
    ОбъектСчетаФактуры.ДокументОснование.Очистить();
    // Если установлен отбор по виду счета-фактуры (на реализацию/на аванс...) - устанавливаем его в новом документе
    Если ТипЗнч(Отбор) = Тип("Структура") И Отбор.Свойство("ВидСчетаФактуры") Тогда
    ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры;
    КонецЕсли;
    ОбъектСчетаФактуры.ВидСчетаФактуры = ВидСчетаФактуры;
    ОбъектСчетаФактуры.Заполнить(ДокументОбъект.Ссылка);
    ОбъектСчетаФактуры.Номер = НомерСФ;
    // Откроем форму для редактирования счета-фактуры
    Попытка
    ОбъектСчетаФактуры.Записать(РежимЗаписиДокумента.Запись);
    //ОбъектСчетаФактуры.ПолучитьФорму(, ФормаДокумента , Строка(ДокументОбъект)).Открыть();
    Исключение
    ОбщегоНазначения.СообщитьОбОшибке("Не удалось провести " + СокрЛП(ОбъектСчетаФактуры) + ОписаниеОшибки());
    КонецПопытки;

    Иначе
    КонецЕсли;

    КонецПроцедуры // ВвестиСчетФактуру()
```

а именно проблема здесь

```1c
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].ПолучитьФормуНовогоДокумента(, ФормаДокумента , Строка(ДокументОбъект));
```

Документ Менеджер доступен на сервере и толстом клиенте
метод ПолучитьФормуНовогоДокумента доступен только в толстом клиенте
Дальше по коду идет обращение к объектам формы, этот метод как раз и предоставляет их, может есть аналоги?

подскажите как можно тут обойти
---
Т.е. просто замени строчку

```1c
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].ПолучитьФормуНовогоДокумента(, ФормаДокумента , Строка(ДокументОбъект));
```

На

```1c
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].СоздатьДокумент();
```

И адаптируй остальной код.
Если сам документ по какой-то причине нельзя модифицировать, просто продублируй логику "ОбъектСчетаФактуры.Заполнить(ДокументОбъект.Ссылка);" по месту.
---
посмотрите тут
https://infostart.ru/public/189390/
---
Тут не нужна форма. Она используется только для вызова экспортного метода формы Заполнить(), чтобы выполнить начальное заполнение каких-то реквизитов.
Теперь у самого объекта документа есть метод Заполнить, а соответствующий код должен быть размещен в обработке заполнения в модуле документа.
---
Т.е. просто замени строчку

```1c
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].ПолучитьФормуНовогоДокумента(, ФормаДокумента , Строка(ДокументОбъект));
```

На

```1c
    ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].СоздатьДокумент();
```

И адаптируй остальной код.
Если сам документ по какой-то причине нельзя модифицировать, просто продублируй логику "ОбъектСчетаФактуры.Заполнить(ДокументОбъект.Ссылка);" по месту.
---
Спасибо вопрос решен, думал про этот метод, но до действий не дошло)
---
https://forum.infostart.ru/forum8/topic186122/ - Получить модуль из формы, выполнить его и заполнить РеквизитФормыВЗначение - как сделать? На клиенте и/или на сервере?
Посмотри может пригодится.
---
Процедура ВвестиСчетФактуру вызывается с сервера, проблем бы не было если бы с клиента я вызывал и передавал бы значение
Это переписывать относительно большинство кода, хочется малой кровью обойтись
---
ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].ПолучитьФормуНовогоДокумента(, ФормаДокумента , Строка(ДокументОбъект));

^^строка вводящая в заблуждение

Имена переменных обязаны косвенно указывать на их содержимое, а не врать! Несоблюдение этого элементарного
правила ведет к хаосу.

приведенный выше оператор аналогичен бытовому

Колбаса = Карась;