Имя: Пароль:
1C
1C 7.7
v7: Передача параметров
0 Ring
 
05.02.14
17:34
Подскажите пожалуйста
В процедуре ПриначалеВыбораЗначения(Элемент,флаг)
добавлено
ОткрытоФорму("Обработка.Имя", Парам)
В обработку получается передавать данные,
а из обработки передать данные и присвоить значение"Элемент" не получается.
Как передать данные, Спасибо.
Хотя на форме -эта же обработка все нормально передает,
Или дело в предопределенной процедуре "При началевыборазначения"
Спасибо.Можно пример
1 zak555
 
05.02.14
17:36
Форма.Параметры = Элемент;
2 Ёпрст
 
05.02.14
17:40
ну лови их в ОбработкаВыбораЗначения, например..
3 acanta
 
05.02.14
19:16
ОткрытьПодбор кошернее
4 Torquader
 
05.02.14
21:31
Если мы открываем форму модально, то смело можем передавать данные через параметр как туда, так и обратно.
Если форма открывается не модально, то вопрос о передаче параметров назад не очень тривиален, так как закрытие формы состоится уже после того, как будет обработана процедура ПриНачалеВыбораЗначения.
Как вариант, в форму передавать контекст того, кто вызвал, чтобы через Контекст установить параметр, который мы выбирали как значение.
5 Torquader
 
05.02.14
21:31
(3) Иногда не очень "кошернее", особенно, когда вводится значение, которое не выбирается из списка, а вводится в несколько полей ввода (например, адрес и т.п.).
6 acanta
 
05.02.14
21:41
(5) для выбора из процедуры выбора значения одного элемента - открытьподбор работает вполне адекватно, даже если это будет внешняя обработка с кучей таблиц для выбора и полей для ввода. Для выбора нескольких значений я бы предпочла кнопку, а не приначалевыборазначения
7 Torquader
 
05.02.14
22:27
(6) Ну, если на форме текстовая строка без возможности редактирования и с педалью выбора, то "ПриНачалеВыбораЗначения" самое оно для выбора.
Просто, сообщение от подбора можно получить через ОбработкаПодбора в форме, но туда нельзя передать что-то своё.
Однако, никто не мешает передавать один и тот же элемент, а данные потом запрашивать через Контекст.
8 acanta
 
05.02.14
22:31
можно, если элемент прикладного типа - обработка подбора не понадобится вообще, а только ВыполнитьВыбор().
1С пытается засунуть то что дали туда откуда спрашивали.
9 Torquader
 
05.02.14
22:46
(8) Сделать можно всё, весь вопрос во времени и в количестве костылей и подводных камней.
10 acanta
 
05.02.14
22:49
(9) когда количество переходит в качество возникает вопрос стоило ли оно того.. но не раньше.
11 Torquader
 
05.02.14
22:50
(10) главное, чтобы в "какчество" не переходило.
12 acanta
 
05.02.14
22:50
(11)обычно с него все начинается..
13 trad
 
05.02.14
22:56
(0)
в обработке Форма.ВыполнитьВыбор(Значение);
там где было ПриНачалеВыбораЗначения, там ловить выбор как (2)