Добрый день, гуру разработки! прошу вашей помощи.

БП3.0 работаем с документом ОплатаПлатежнойКартой, где есть:
- ФормаДокумента и ФормаДокументаОднострочная
- рек. ВидОперации - Перечисление, где значение по умолчанию "ОплатаПокупателя"

Создаю документ (на сервере, молча, без открытия форм, просто сообщаю, что он создан). Где нужно указать ему, что нужно создавать его в ФормаДокументаОднострочная которая в свою очередь зависит от рек. ВидОперации.
---
Всем привет! в общем я сам всех запутал с этой формой и сам сидел тупил. Нужно было просто заполнить все реквизиты правильно (Открыл документ созданный в ручную и в отладке при проведении глянул на Объект и все что там необходимо) Есть ТЧ РасшифровкаПлатежа и в ней тоже есть СуммаДокумента и СтавкаНДС, если это заполнить, то сумма встает как нужно и документ можно открыть и провести.
---
Переопределения форм происходят обычно в модуле менеджера, в процедуре ОбработкаПолученияФормы()
Так и тут, у этого документа, это происходит:

```1c
    Если ВидФормы <> "ФормаДокумента"
    И ВидФормы <> "ФормаОбъекта" Тогда
    Возврат;
    КонецЕсли;

    СтандартнаяОбработка = Ложь;

    Если Константы.ИспользоватьТабличныеФормыБанковскихДокументов.Получить() Тогда
    ВыбраннаяФорма = "ФормаДокумента";
    Иначе
    ВыбраннаяФорма = "ФормаДокументаОднострочная";
    КонецЕсли;
```

Собственно, зависит от константы.
---
Узнать что лежит в константе при открытом докумете с ФормаОднострочная и принудительно при создании документа это в нее и положить?
---
Нет.
---
код примерно такой

ДокСсылка = СоздатьДокНаСервере(...);
ПоказатьЗначение(,ДокСсылка);

и функция из (2)

и все!!!!
---
Бро, ну чуток по подробнее, пол дня на работе гуглил про ПоказатьЗначение, про функцию из 2 - это код процедуры из ОбработкаПолученияФормы() ?

&НаКлиенте
ПоказатьЗначение = СоздатьДокументОплатаПлатежнойКартой(Документ) - это процедура, значит ее нужно переписать как Функция?
---
В типовой БП 3.0 вид открываемой формы документа ОплатаПлатежнойКартой (ФормаДокументаОднострочная или ФормаДокумента) не зависит от данных самого документа, поэтому хоть как вы заполняйте или не заполняйте документ, форма будет открываться одна и та же - зависимость только от константы ИспользоватьТабличныеФормыБанковскихДокументов.

Поэтому на этапе создания объекта в БД вы этим управлять не можете.

Нужно переопределить(расширением) процедуру ОбработкаПолученияФормы(). В ней, в Параметры.Ключ будет содержаться ссылка на открываемый документ. Проверяете значение нужных реквизитов, в зависимости от значения открываете ту или иную форму.
---
без всяких констант!
даже в основной форме, в событии ПриОткрытии(Отказ)
проверяете нужный реквизит Объекта/Документа
и если нужна другая форма то всего две команды
...
Отказ = Истина;
ОткрытьФорму(...ИмяДругойФормы...);
---
Ну... Такое.
---
1 команда:
ОткрытьФорму(...ИмяДругойФормы...);
Когда прописывается конкретное имя формы, обработчик ОбработкаПолученияФормы переорпеделить ее не сможет.
---
это было предложено ДВА варианта
или используя обр.ОбработкаПолученияФормы
или из основной формы открыть другую

(то что автору будет понятнее, больше подойдет, хотя не факт )
---
Да я неправильно понял ваш коммент.
---
Всем привет! в общем я сам всех запутал с этой формой и сам сидел тупил. Нужно было просто заполнить все реквизиты правильно (Открыл документ созданный в ручную и в отладке при проведении глянул на Объект и все что там необходимо) Есть ТЧ РасшифровкаПлатежа и в ней тоже есть СуммаДокумента и СтавкаНДС, если это заполнить, то сумма встает как нужно и документ можно открыть и провести.