Имя: Пароль:
1C
1С v8
Помогите с программным заполнение общей формы.
,
0 SkillUp
 
07.12.18
15:57
В интернете пример:

&НаКлиенте
Процедура Команда(Команда)

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

КонецПроцедуры


У меня общая форма, и "Форма.Объект;" у меня нету... Если можно, пример программного заполнения общей формы...
1 SkillUp
 
07.12.18
16:00
Или создавать объект,с формой? И к нему обращаться?
2 runoff_runoff
 
07.12.18
16:01
парадигма заключается том, что форма не заполняется извне, а открывается с параметрами..
3 SkillUp
 
07.12.18
16:03
(2) Короче, легче создать объект с формой...
4 runoff_runoff
 
07.12.18
16:05
на самом деле сначала надо ответить на вопрос "что в итоге".. хотим создать новый документ и сразу заполнить некоторые реквизиты?..
5 SkillUp
 
07.12.18
16:07
(4) В виде информации вывести данные на экран пользователю, и все...
6 SkillUp
 
07.12.18
16:09
(4) Короч., создаю форму объекта с нужными данными и вывожу пользователю на экран...
7 Мыш
 
07.12.18
16:11
(6) Какого именно объекта?
8 SkillUp
 
07.12.18
16:13
(7) Блин, короче пишу что надо выполнить:
9 SkillUp
 
07.12.18
16:15
(7) По двойному клику из списка номенклатуры (по элементу), надо выводить на экран: 1) эту номенклатуру 2) Все характеристики 3). Цену По номенкл и характеристике:

Визуально вижу это так:

Тапочки зел  - 100руб.
Тапочки син. -150 руб.
10 SkillUp
 
07.12.18
16:17
упр. приложение!
11 runoff_runoff
 
07.12.18
16:17
(9) т.е. вижу форму:
- сверху поле Номенклатура
- снизу таблица из двух колонок: Характеристика и Цена
12 SkillUp
 
07.12.18
16:18
Вот думал ,создать общую форму. Получать и программно заполнять. Но, не тут-то было...
13 SkillUp
 
07.12.18
16:18
(11) Или так!
14 SkillUp
 
07.12.18
16:19
Есть варианты, как легче всего такое провернуть?
15 RomanYS
 
07.12.18
16:20
&НаКлиенте
Процедура Команда1(Команда)
    Форма = ОткрытьФорму("ОбщаяФорма.Форма");
    Форма.Реквизит1 = "тест";
КонецПроцедуры
16 runoff_runoff
 
07.12.18
16:21
(13) открываем форму с параметром Номенклатура
ПриСозданииНаСервере верхнее поле ввода Номенклатура вызываем метод ЗаполнитьХарактеристикиИЦены(), который заполнит нижнюю таблицу
еще делаем событие НоменклатураПриИзменении, где вызываем тот же серверный метод заполнения
17 Мыш
 
07.12.18
16:21
Цитирую синтакс-помощник:

П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();
18 ssh2006
 
07.12.18
16:23
(14) делай как в (16)
19 SkillUp
 
07.12.18
16:24
(15) (16) (17)  Спасибо!
20 SkillUp
 
07.12.18
16:25
(16) Да, вариант хороший...
21 runoff_runoff
 
07.12.18
16:26
можно упростить: поле ввода Номенклатура не нужно.. присоздании на сервере сразу заполняем таблицу и все.. всё статично..
22 ssh2006
 
07.12.18
16:38
Можно еще в дин список выводить - в запросе его все получать. А параметр номенклатуры установить в при создании на сервере из переданного в открытьформу
23 runoff_runoff
 
07.12.18
16:41
(22) да, динамический список регистра сведений ЦеныНоменклатуры
24 runoff_runoff
 
07.12.18
16:42
(23) сделать его основным реквизитом формы, а форму открывать с параметром Отбор (по номенклатуре).. тогда даже при создании делать не нужно.. вообще никакого кода не нужно