Имя: Пароль:
1C
1С v8
Добавить значение в реквизит при открытии формы программо
0 Aleks291086
 
12.05.16
11:52
Добрый день! Есть общая форма, кнопка на ней. Открываем форму нового документа при нажатии кнопки. Как добавить в открытую форму программно значений в реквизиты(тип строка)? Проводим вручную открытый документ.

Пока так сделал, но не добавляет Значение реквизита (Иванов):
&НаКлиенте
Процедура Иванов(Команда)
СсылкаНаЭлемент="Иванов";
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Иванов", СсылкаНаЭлемент);
Форма=ОткрытьФорму("Документ.РегестрацияСотрудниковПТО.Форма.ФормаДокумента", ПараметрыФормы);
КонецПроцедуры
1 Ёпрст
 
12.05.16
11:54
Форма.Иванов="Вася"
2 aleks_default
 
12.05.16
11:57
86 год
3 Aleks291086
 
12.05.16
12:00
(1) Поле объекта не обнаружено (ФИО).
Реквизит, в который запихнуть значение - ФИО.
4 lodger
 
12.05.16
12:01
(0) ну начали вы верно, параметр в форму отправился, а что форме с ним делать?
в форме документа ПриСозданииНаСервере надо разбирать входящие параметры и заполнять необходимые реквизиты.
5 lodger
 
12.05.16
12:01
РегестрацияСотрудниковПТО через Е - эпик.
6 Aleks291086
 
12.05.16
12:06
(5) Так надо, РегИстрацияСотрудниковПТО есть уже реквизит. Этот тренировочный. Отмазался)
7 Nuobu
 
12.05.16
12:08
(6) В таких случаях нужно писать: РегИстрацияСотрудниковПТО11ТестовыйВторойИТакДалее.
8 Nuobu
 
12.05.16
12:09
Форма=ОткрытьФорму("Документ.РегестрацияСотрудниковПТО.Форма.ФормаДокумента", ПараметрыФормы);

Форма=ПолучитьФорму("Документ.РегестрацияСотрудниковПТО.Форма.ФормаДокумента", ПараметрыФормы);
Форма.ФИО = "Иванов";
Форма.Открыть()
9 Aleks291086
 
12.05.16
12:17
(4) (8) А в форме самого документа принять параметр и заполнить реквизит как? (ПриСозданииНаСервере)
10 lodger
 
12.05.16
12:52
(9) Как обычно.

Процедура ПриСозданииНаСервере()
Если Параметры.Свойство("Иванов") Тогда
  ФИО = Параметры.Иванов;
КонецЕсли;

<остальной код>

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

где Иванов - имя переданного параметра.
ФИО - реквизит формы или объекта.
11 Sabbath
 
12.05.16
13:10
(0) в ПриОткрытии переданные параметры уже не видны видны в ПриСозданииНаСервере
12 Mort
 
12.05.16
13:23
Перебрали все возможные варианты г-кода.
И копание в форме, и заполнение реквизитов в при создании...


(0) ОбработкаЗаполнения кури. В модуле или в подписке.
13 lodger
 
12.05.16
13:36
(12) http://v8.1c.ru/metod/faq2/answer.jsp?id=652
мило конечно, но как открыть и передать любой параметр через команду другой формы?

небольшая вытяжка из СП:
"<ДанныеЗаполнения>
Тип: Произвольный.
Значение, которое используется как основание для заполнения.
Если обработчик вызван при выполнении метода Заполнить, параметр равен параметру <ДанныеЗаполнения> метода Заполнить.
При обработке заполнения во время ввода на основании параметр имеет значение основания.
При интерактивном вводе нового из формы списка параметр является структурой, элементы которой соответствуют тем параметрам отбора формы списка, у которых способ сравнения Равно или ВСписке с единственным элементом списка. Если таких элементов отбор списка не содержит, данный параметр равен Неопределено. Если параметр <СтандартнаяОбработка> по окончании работы обработчика равен Истина (установлен по умолчанию), система автоматически произведет заполнение одноименными элементами структуры."
14 Aleks291086
 
12.05.16
13:56
В общей форме:

СсылкаНаЭлемент="Иванов";
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФИО", СсылкаНаЭлемент);
Форма=ОткрытьФорму("Документ.РегестрацияСотрудниковПТО.Форма.ФормаДокумента", ПараметрыФормы);

В модуле формы документа при создании на сервере:

Если Параметры.Свойство("ФИО") Тогда
  Объект.ФИО = Параметры.ФИО;  //Параметры.Свойство("СсылкаНаЭлемент");
КонецЕсли;

И не работает. Че не так?
15 Ёпрст
 
12.05.16
14:06
(14) Отладчиком посмотри, че там хоть прилетело
16 lodger
 
12.05.16
14:21
(14) "Форма=" убери.
17 Aleks291086
 
12.05.16
14:29
(15) (16)
"Форма" убрал.
Отладчик молчит, ошибок нет
18 Aleks291086
 
12.05.16
14:32
Не передает параметр
19 lodger
 
12.05.16
14:33
(18) мистика
20 Ёпрст
 
12.05.16
14:36
(18) в каком месте хоть смотришь То ?
21 Aleks291086
 
12.05.16
14:50
(20) Точку останова ставлю на

Объект.ФИО = Параметры.ФИО;

пропускает
22 Ёпрст
 
12.05.16
14:55
Параметры ?
очень интересно, это что у вас ?
23 Ёпрст
 
12.05.16
14:58
Что там у вас в Параметры ?
в отладчике то хоть посмотрите
24 Aleks291086
 
12.05.16
15:27
(23) Всмысле что у меня в Параметры?
25 Aleks291086
 
12.05.16
15:40
А вообще никакие данные не добавляет ПриСозданииНаСервере(), даже любые тестовые
26 hhhh
 
12.05.16
15:41
(24) закладку Параметры открой на форме, не тормози. Проверь есть там Иванов?
27 Ёпрст
 
12.05.16
15:44
В присозданиинасервере вотуни точку останова и смотри, через shift+f9 чего сидит в Параметры.
28 Aleks291086
 
12.05.16
16:02
(26) (27) В параметрах ФИО, тип строка. На точку останова не реагирует. Процедуру не видит. Даже ставлю Объект.ФИО=ПараметрыСеанса.ТекущийПользователь;
Не ставит ничего.
29 Nuobu
 
12.05.16
16:04
(28) Если на точку останова не реагирует, то у Вас - сервер запущен без "-debug".
30 Aleks291086
 
12.05.16
16:11
Парни, сильно извиняюсь. Саму процедуру ПриСозданииНаСервере() не указал в свойствах формы. Все сработало. Спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!