Имя: Пароль:
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) Вопрос исчерпан, что-то голова под вечер уже не думает, разобралась, что не так делала, спасибо большое помощь
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn