Имя: Пароль:
1C
1С v8
Создание ПКО и открытие формы созданого документа
0 Tigrann
 
19.08.19
11:37
Добрый день.
Подскажите, как можно программно создать новый документ приходный кассовый ордер и открыть форму документа без его записи.
Создаю новый документ, заполняю ТЧ "расшифровка платежа". Но при открытии форма отображает платежи без разбиения, а не списком. Если переключить режим, то все нормально, все строки заполнены.

Не могу понять, как открыть форму сразу в режиме расшифровке списком. Код открытия формы и заполнения:

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

&НаСервереБезКонтекста
Процедура СоздатьДокументПКОНаСервере(ДанныеФормы, МассивЗаказов)
    

    ДокументПКО = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.ПриходныйКассовыйОрдер"));
    ДокументПКО.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента;
    
        //тут неинтересный запрос

    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ДокументПКО.РасшифровкаПлатежа.Очистить();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НоваяСтрока = ДокументПКО.РасшифровкаПлатежа.Добавить();
            //заполняем строки    

    КонецЦикла;
    
    ЗначениеВДанныеФормы(ДокументПКО, ДанныеФормы);

КонецПроцедуры
1 lodger
 
19.08.19
11:40
и шо? "Код открытия формы и заполнения" - работает или вы так хоте ли бы?
2 Tigrann
 
19.08.19
11:43
(1) Код работает, но так как хочется.
Если заполнить две строчки в ТЧ "Расшифровка платежа", то документ открывается как-будто заполнена одна строка, с переключателем "Без разбиения". Нужно, чтобы открывалось "Списком".
3 ДенисЧ
 
19.08.19
11:45
Ну посмотри в форме как этот переключатель меняется...
4 banco
 
19.08.19
11:56
(2) Установи истину реквизит формы "Списком". У тебя наверное при создание формы устанавливается этот реквизит, а ты создаешь форму и потом заполняешь.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой