Имя: Пароль:
1C
 
Открытие Документа и добавление в него данных
,
0 Margo95
 
27.11.20
13:49
Добрый день, столкнулась с такой проблемой, что нужно по нажатию на кнопку сформировать новый документ и в него передать все параметры, которые изначально были получены путем нажатия других кнопок, как открыть форму и после при закрытии передать назад данные, я знаю, а вот как передать данные именно при формировании документа, а не при закрытии открывшейся формы?
1 dka80
 
27.11.20
14:00
Параметры = Новый Структура("ТекущееЗначение",ПоследнийЭлемент);
форма= ПолучитьФорму("Справочник.Номенклатура.твояформа",Параметры)
2 Kassern
 
27.11.20
14:04
(0) Если нужно открыть новый документ и заполнить его програмно, то можно как то так:
    Форма = ПолучитьФорму("Документ.ТвойДокумент.ФормаОбъекта");
    ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
    ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
    Форма.Открыть();
3 Serg_1960
 
27.11.20
14:05
(0) Создайте документ, заполните значения, а потом откройте его форму. Или Вы хотите чтобы форма сама это сделала при открытии?
4 Kassern
 
27.11.20
14:07
(2)
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);

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

КонецФункции
5 Margo95
 
27.11.20
14:17
(2) (1)  Спасибо за предложенный варинт

(2) Такой вопрос, а как мне обратиться к Таблице? При попытке Док.Таблица.Колонка, он не видит колонку, если просто пытаться обратиться к Таблица, то не видит Таблицу
6 Margo95
 
27.11.20
14:20
(3) чтобы по нажатию на кнопку, открылась форма документа и заполнились нужные мне поля в ТЗ
7 Kassern
 
27.11.20
14:29
(5) я так и не понял вашего вопроса. В моем варианте вы получаете форму, далее на сервере заполняете ее нужными данными и далее на клиенте уже заполненную форму открываете.
Если вас интересует как на сервере заполнить документ нужными данными, так передайте эти данные в процедуру заполнения ЗаполнитьДокументНаСервере(ДанныеФормы,СтруктураЗаполнения);
8 Margo95
 
27.11.20
14:34
(7) Я поняла, что делает ваш вариант, но проблема в том, что не совсем понимаю, как я могу в Функции обратиться к ТЧ Документа, Док = Документы.ПриходнаяНакладная.СоздатьДокумент(); но вот Док.Товар.Номенклатура = НужныйТовар; Выдаёт ошибку, потому что Поле объекта не обнаружено Товар, не понимаю в чем проблема
9 Margo95
 
27.11.20
14:36
(7) Вопрос исчерпан, что-то голова под вечер уже не думает, разобралась, что не так делала, спасибо большое помощь