|
Как сделать подбор документов во внешней обработке? | ☑ | ||
---|---|---|---|---|
0
Босечка
13.03.14
✎
15:55
|
Как сделать подбор документов во внешней обработке? Эту процедуру повесила на кнопку. Список документов открывается. Что надо сделать, чтобы выбранный документ попал в список значений, который находится в форме внешней обработки,
Процедура СделатьПодбор(Кнопка) ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма.ЭлементыФормы.НадписьТехническоеЗадание); ФормаПодбора.ЗакрыватьПриВыборе = Истина; ФормаПодбора.РежимВыбора = Истина; ФормаПодбора.Открыть(); КонецПроцедуры |
|||
1
ДенисЧ
13.03.14
✎
15:57
|
ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма.ЭлементыФормы.ИмяЭлементаУправленияСписка);
И процедру соответствующую |
|||
2
Босечка
13.03.14
✎
16:00
|
ИмяЭлементаУправленияСписка - это имя табличного поля во внешней обработке? И какую процедуру, куда ее вставить?
|
|||
3
Remark
13.03.14
✎
16:16
|
Можно так:
РезультатВыбора = ФормаПодбора.ОткрытьМодально(); |
|||
4
Remark
13.03.14
✎
16:17
|
В СП прочитать еще:
ОповеститьОВыборе() ОбработкаВыбора() |
|||
5
Босечка
13.03.14
✎
16:40
|
Как передать в список значений во внешней обработке выбранный документ?
|
|||
6
Босечка
13.03.14
✎
16:43
|
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
МассивВыбранныхЭлементов = Новый Массив; Если ТипЗнч(ЗначениеВыбора) = Тип("ДокументСсылка.ТехническоеЗадание") Тогда МассивВыбранныхЭлементов.Добавить(ЗначениеВыбора); ИначеЕсли ТипЗнч(ЗначениеВыбора) = Тип("Массив") Тогда МассивВыбранныхЭлементов = ЗначениеВыбора; КонецЕсли; Для каждого Элемент Из МассивВыбранныхЭлементов Цикл КонецЦикла; КонецПроцедуры Процедура СделатьПодбор(Кнопка) ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма); ФормаПодбора.МножественныйВыбор = Истина; ФормаПодбора.ЗакрыватьПриВыборе = Истина; ФормаПодбора.Открыть(); КонецПроцедуры Обработка выбора стоит в формевыбора в документе. |
|||
7
barrgand
13.03.14
✎
16:47
|
(6) ВладелецФормы.КакойтоСписок.Добавить(ЗначениеВыбора)
|
|||
8
Remark
13.03.14
✎
16:49
|
(6)
Для каждого Элемент Из МассивВыбранныхЭлементов Цикл ТвойСписокЗначений.Добавить(Элемент); КонецЦикла; (7) Зачем? Добавлять уже в обработке. |
|||
9
floody
13.03.14
✎
16:52
|
Форма выбора и так возвращает значение выбора. Т.е. достаточно сделать как в (3).
|
|||
10
Remark
13.03.14
✎
16:52
|
(6) Или ЗакрыватьПриВыборе или МножественныйВыбор
Форма (Form) ЗакрыватьПриВыборе (CloseOnChoice) Использование: Чтение и запись. Описание: Тип: Булево. Содержит признак того, что форму необходимо закрывать после осуществления выбора. Если свойство имеет значение Ложь, можно использовать форму для выбора нескольких позиций или элементов. По умолчанию свойство имеет значение Истина. |
|||
11
Босечка
13.03.14
✎
17:02
|
процедуру ОбработкаВыбора(....... помещать в форму выбора документа или во внешнюю обработку?
|
|||
12
Босечка
13.03.14
✎
17:06
|
ап...
|
|||
13
Босечка
13.03.14
✎
17:14
|
все равно не получается...
|
|||
14
Remark
13.03.14
✎
17:47
|
(11)
ОбработкаВыбора() - в обработку ОповеститьОВыборе() - в форму выбора документов ИЛИ просто использовать метод формы выбора: ЗначениеВыбора = Форма.ОткрытьМодально() |
|||
15
Босечка
13.03.14
✎
18:24
|
А как ее зарегистрировать?
|
|||
16
Босечка
13.03.14
✎
18:26
|
А оповеститьовыборе( зачем нужен, можно без него?
|
|||
17
takefive
13.03.14
✎
18:27
|
1. Обработка выбора сработает для 2 параметра процедуры ПолучитьФормуВыбора
2. Не забудь привязать событие |
|||
18
Босечка
13.03.14
✎
18:29
|
А куда привязывать обработку?
|
|||
19
takefive
13.03.14
✎
18:29
|
оповеститьовыборе нужен если ФормаПодбора.РежимВыбора = ложь
|
|||
20
takefive
13.03.14
✎
18:30
|
к событию
|
|||
21
Босечка
13.03.14
✎
18:30
|
К какому??????
|
|||
22
Босечка
13.03.14
✎
18:31
|
Во внешней обработке? К событию табличного поля? формы?
|
|||
23
takefive
13.03.14
✎
18:33
|
в конфигураторе у правого края панель свойств
к тому, что ты передаешь 2 параметром. Форма или элемент формы |
|||
24
takefive
13.03.14
✎
18:36
|
событие формы или элемента формы называется ОбработкаВыбора
|
|||
25
Босечка
13.03.14
✎
18:36
|
Ясно... А как тогда заполнить список значений, я так пробовала программа ругается на неизвестную переменную.
|
|||
26
takefive
13.03.14
✎
18:38
|
Список.Добавить(ЗначениеВыбора)
|
|||
27
Босечка
13.03.14
✎
18:40
|
{Документ.ТехническоеЗадание.Форма.ФормаВыбора(11,6)}: Переменная не определена (ТехническоеЗадание)
<<?>>ТехническоеЗадание.Добавить(Элемент); ТехническоеЗадание - это список значений во внешней обработке |
|||
28
Remark
13.03.14
✎
18:43
|
ТехническоеЗадание - это список значений во внешней обработке, а обращаетесь вы к нему в форме документа.
|
|||
29
Босечка
13.03.14
✎
18:45
|
А как и где к нему обращаться?
|
|||
30
Remark
13.03.14
✎
18:47
|
Такс...
В модуле формы внешней обработки: Процедура СделатьПодбор(Кнопка) ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма.ЭлементыФормы.НадписьТехническоеЗадание); ФормаПодбора.ЗакрыватьПриВыборе = Истина; ФормаПодбора.РежимВыбора = Истина; ЗначениеВыбора = ФормаПодбора.ОткрытьМодально(); ТехническоеЗадание.Добавить(ЗначениеВыбора); КонецПроцедуры |
|||
31
Remark
13.03.14
✎
18:48
|
Процедура СделатьПодбор(Кнопка)
ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма); ФормаПодбора.ЗакрыватьПриВыборе = Истина; ФормаПодбора.РежимВыбора = Истина; ЗначениеВыбора = ФормаПодбора.ОткрытьМодально(); ТехническоеЗадание.Добавить(ЗначениеВыбора); КонецПроцедуры |
|||
32
Босечка
13.03.14
✎
18:54
|
Спасибо большое! А множественный выбор почему-то не работает.
|
|||
33
Remark
13.03.14
✎
19:06
|
Процедура СделатьПодбор(Кнопка)
ФормаПодбора = Документы.ТехническоеЗадание.ПолучитьФормуВыбора(, ЭтаФорма); ФормаПодбора.МножественныйВыбор= Истина; ФормаПодбора.РежимВыбора = Истина; ЗначениеВыбора = ФормаПодбора.ОткрытьМодально(); Для Каждого ЭлементМассива Из ЗначенияВыбора Цикл ТехническоеЗадание.Добавить(ЗначениеВыбора); КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |