|
Открытие Документа и добавление в него данных
| ☑ |
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) Вопрос исчерпан, что-то голова под вечер уже не думает, разобралась, что не так делала, спасибо большое помощь
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший