![]() |
|
Не работает множественный выбор | ☑ | ||
---|---|---|---|---|
0
Eva_J
10.10.19
✎
10:50
|
Нужно организовать множественный выбор из справочника в реквизите табличной части, ТабЧасть "Дисциплины", Реквизит "Дисциплина", Справочник "Дисциплины". Ошибок не выдает, просто значения не заполняются при выборе. Что не так?
&НаКлиенте Процедура ДисциплиныДисциплинаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("МножественныйВыбор", Истина); ОткрытьФорму("Справочник.Дисциплины.Форма.ФормаВыбораУправляемая",ПараметрыФормы, Элемент); КонецПроцедуры &НаКлиенте Процедура ДисциплиныДисциплинаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Дисциплина = ВыбранноеЗначение; КонецПроцедуры |
|||
1
FIXXXL
10.10.19
✎
11:03
|
в ВыбранноеЗначение что прилетает?
|
|||
2
DrWatson
10.10.19
✎
11:04
|
(0) Все правильно написано. Какие вопросы к множественному выбору?
|
|||
3
FIXXXL
10.10.19
✎
11:06
|
Дисциплина = ВыбранноеЗначение;
Дисциплина - это что? |
|||
4
DrWatson
10.10.19
✎
11:07
|
+(2) ВыбранноеЗначение должен быть массивом, и с ним надо что-то делать.
Как по замыслу хотели несколько выбранных элементов выбирать в одну строку? |
|||
5
Eva_J
10.10.19
✎
11:10
|
(3) это реквизит где нужен множественный выбор
|
|||
6
Eva_J
10.10.19
✎
11:11
|
(4) а как сделать подскажите пожалуйста
|
|||
7
ДенисЧ
10.10.19
✎
11:12
|
Как ты желаешь несколько значений в один реквизит завпихнуть?
Ведь сказали же мудрые человеки - нельзя впихнуть невпихнуемое... |
|||
8
Eva_J
10.10.19
✎
11:16
|
(7) да я поняла, а как правильно сделать? подскажите
|
|||
9
FIXXXL
10.10.19
✎
11:16
|
(5) это реквизит ТЧ? чет непохоже... на переменную больше похоже
|
|||
10
pechkin
10.10.19
✎
11:17
|
МножественныйВыбор и ЗакрыватьПриВыборе - разные вещи
|
|||
11
FIXXXL
10.10.19
✎
11:17
|
(6) взять коллекцию ВыбранноеЗначение и распихать ее по строкам ТЧ
ил добавить строки ТЧ и каждой присвоить нужное значение из коллекции ВыбранноеЗначение отсюда не видно твоих задумок |
|||
12
pechkin
10.10.19
✎
11:18
|
тут по идее нужен подбор делать
|
|||
13
Eva_J
10.10.19
✎
11:25
|
(11) а можете код подсказать пожалуйста, а то я ещё пока не очень в этом разбираюсь
|
|||
14
FIXXXL
10.10.19
✎
12:24
|
(13) код чего?
|
|||
15
Случайный прохожий
10.10.19
✎
12:29
|
Ты выбираешь значение для одной ячейки ТЧ и хочешь при этом, чтобы все остальные строки тоже заполнились или как?
|
|||
16
Eva_J
10.10.19
✎
13:55
|
(14) процедуры обработки выбора как правильно сделать
|
|||
17
FIXXXL
10.10.19
✎
13:57
|
(16) ну дык у тебя все правильно
а что дальше с выбранным делать ты видимо и сама не знаешь какой тут код? |
|||
18
Eva_J
10.10.19
✎
14:02
|
(17) так я поэтому у вас и спрашиваю, чтобы вы помогли, делаю вот так:
&НаКлиенте Процедура ДисциплиныДисциплинаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Список = Новый СписокЗначений; Список.Добавить(ВыбранноеЗначение); Для каждого Дисциплина Из Список Цикл Строка = Объект.Дисциплины.Добавить(); Строка.Дисциплина = Дисциплина; КонецЦикла; КонецПроцедуры Но это тоже не правильно, подскажите скажите как надо, чтобы работало |
|||
19
Eva_J
10.10.19
✎
14:03
|
(17) надо чтобы осуществлялся множественный выбор, и значения заполнялись в реквизит табличной части!
|
|||
20
hhhh
10.10.19
✎
14:06
|
(18) ну вот это выкинь
Список = Новый СписокЗначений; Список.Добавить(ВыбранноеЗначение); пиши проще Список = ВыбранноеЗначение; |
|||
21
FIXXXL
10.10.19
✎
14:07
|
Для каждого Дисциплина Из ВыбранноеЗначение Цикл
Строка = Объект.Дисциплины.Добавить(); Строка.Дисциплина = Дисциплина; КонецЦикла; |
|||
22
FIXXXL
10.10.19
✎
14:08
|
ты без отладчика кодишь?
|
|||
23
Eva_J
10.10.19
✎
14:14
|
(20) &НаКлиенте
Процедура ДисциплиныДисциплинаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Список = ВыбранноеЗначение; Для каждого Дисциплина Из ВыбранноеЗначение Цикл Строка = Объект.Дисциплины.Добавить(); Строка.Дисциплина = Дисциплина; КонецЦикла; КонецПроцедуры Так все равно не работает |
|||
24
unenu
10.10.19
✎
14:19
|
пока автор не покажет формы помогать нет смысла
|
|||
25
hhhh
10.10.19
✎
14:20
|
(23) ну отладчиком заходит в процедуру?
|
|||
26
hhhh
10.10.19
✎
14:22
|
(24) ей же отроду 4 с половиной месяца. У нее еще формы несформировавшиеся.
|
|||
27
Eva_J
10.10.19
✎
14:31
|
(25) да заходит
|
|||
28
unenu
10.10.19
✎
14:42
|
(26) Почему, Евгения Ефимова из Калининграда дружит с управляемыми формами, просто вот как управлять выбором, когда
ничего не показали? |
|||
29
D_E_S_131
10.10.19
✎
14:46
|
(27) В отладчике если посмотреть через "табло", то какой тип у "ВыбранноеЗначение"?
|
|||
30
Eva_J
10.10.19
✎
14:53
|
(29) массив
|
|||
31
unenu
10.10.19
✎
15:01
|
(30) а что в отладчике покажет
ВыбранноеЗначение[0]? |
|||
32
Eva_J
10.10.19
✎
15:13
|
(31) элемент из справочника
|
|||
33
unenu
10.10.19
✎
15:22
|
(32) тогда в вашем коде
Для каждого Дисциплина Из ВыбранноеЗначение Цикл Строка = Объект.Дисциплины.Добавить(); Строка.Дисциплина = Дисциплина; КонецЦикла; у Строка.Дисциплина другой тип. отладчик все расскажет |
|||
34
Eva_J
10.10.19
✎
15:54
|
(33) у него тип ссылка на справочник
|
|||
35
DrWatson
10.10.19
✎
15:55
|
(23) >>Так все равно не работает
А что значит "не работает"? - Форма выбора не закрывается; - форма закрывается, но новая строка не добавляется; - строка добавляется, но дисциплина не заполняется; - дисциплина заполняется, но нужно что-то ещё. |
|||
36
Eva_J
10.10.19
✎
15:56
|
(35) строка добавляется, но дисциплина не заполняется
|
|||
37
Eva_J
10.10.19
✎
15:57
|
(35) что не так?
|
|||
38
D_E_S_131
10.10.19
✎
16:03
|
Какие типы у "Строка.Дисциплина" и "ВыбранноеЗначение[0]"? Ответ "ссылка на справочник" не подходит. Конкретно какие виды справочников.
|
|||
39
Eva_J
10.10.19
✎
16:11
|
(38) вообщем у строка.дисциплина тип неопределено, тогда почему Строка.Дисциплина = Дисциплина, здесь дисциплина элемент из справочника
|
|||
40
Eva_J
10.10.19
✎
16:11
|
(38) а у выбранное значение ссылка на дисциплины
|
|||
41
DrWatson
10.10.19
✎
16:20
|
(39) Неопределено - это когда реквизит таб. части имеет составной тип. Не присваивается, потому что в списке типов у него нет справочника дисциплин. Поставьте правильно тип.
|
|||
42
Eva_J
10.10.19
✎
16:30
|
(41) ну у реквизита тип составной и там 2 справочника этот и другой, где нужно тип поставить?
|
|||
43
unenu
10.10.19
✎
16:32
|
(42) там где СправочникСсылка.Дисциплина если у вас в ВыбранноеЗначение[0] тоже СправочникСсылка.Дисциплина
ванугю, что где-то СправочникОбъект.Дисциплина и ежик с ужиком не хотят дружить |
|||
44
hhhh
10.10.19
✎
16:34
|
(40) у выранное значение на прошлом допросе ты говорила массив. Какие где типы указано, можешь без вранья конкретно сказать. Как клещами из тебя каждый байт информации приходится вытягивать.
|
|||
45
dezss
10.10.19
✎
16:38
|
ОФФ: интересно наблюдать подобный эффект)))
Вроде он называется "ТП в поле", если не ошибаюсь?)))) |
|||
46
DrWatson
10.10.19
✎
16:38
|
А нет ли у формы реквизита Дисциплина, случайно.
|
|||
47
Eva_J
10.10.19
✎
16:48
|
(46) есть у тч на форме, я же все описала в самом начале
|
|||
48
Eva_J
10.10.19
✎
16:48
|
(46) туда и должны дисциплины выгружаться
|
|||
49
Eva_J
10.10.19
✎
16:50
|
&НаКлиенте
Процедура ДисциплиныДисциплинаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("МножественныйВыбор", Истина); ОткрытьФорму("Справочник.Дисциплины.Форма.ФормаВыбораУправляемая",ПараметрыФормы, Элемент); КонецПроцедуры &НаКлиенте Процедура ДисциплиныДисциплинаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Для каждого Дисциплина Из ВыбранноеЗначение Цикл Строка = Объект.Дисциплины.Добавить(); Строка.Дисциплина = Дисциплина; КонецЦикла; КонецПроцедуры Где что нужно поменять в итоге? Ничего не могу понять. Простите за тупость |
|||
50
DrWatson
10.10.19
✎
16:55
|
(47) Я не про реквизит таб. части спрашиваю, а напрямую про реквизит формы.
Это была попытка отгадать где не сходятся типы. Ну, нет, так нет. Значит дело не в этом. Перепроверьте типы Строка.Дисциплина и Дисциплина. Хоть напишите Сообщить(ТипЗнч(Строка.Дисциплина)); Сообщить(ТипЗнч(Дисциплина)); Т.к. код выглядит правильным. И эта, поднимите самооценку. |
|||
51
unenu
10.10.19
✎
17:01
|
я полагаю, что пора прекращать допрос, а то "клиента" может быть потерян.
на самом деле все что писали выше - чепуха. для решения задачи вам необходимо что-то вроде &НаКлиенте Процедура ВыбратьЭлектронныйДокументИзБазы() ОписаниеОповещения = Новый ОписаниеОповещения( "ВыбратьЭлектронныйДокументИзБазыЗавершение", ЭтотОбъект); ДополнительныеПараметры = Новый Структура(); ДополнительныеПараметры.Вставить("ОтборОрганизация", Объект.Организация); ДополнительныеПараметры.Вставить("ТолькоЭлектронныеДокументы", Истина); ОткрытьФорму("РегистрСведений.ДокументыПоТребованиюФНС.Форма.ФормаВыбора", ДополнительныеПараметры,,,,,ОписаниеОповещения); КонецПроцедуры &НаКлиенте Процедура ВыбратьЭлектронныйДокументИзБазыЗавершение(РезультатВыбора, ВходящийКонтекст) Экспорт Если РезультатВыбора <> Неопределено И РезультатВыбора.Количество() > 0 Тогда МассивВыбранныхДокументов = РезультатВыбора; ПодключитьОбработчикОжидания("Подключаемый_ДобавитьДокументыПередВыборомПунктаТребования", 0.2, Истина); КонецЕсли; КонецПроцедуры скопировал что было под рукой |
|||
52
Eva_J
10.10.19
✎
17:06
|
(50) строка.дисциплина тип неопределено, а дисциплина это элемент из справочника
|
|||
53
hhhh
10.10.19
✎
17:11
|
(52) не до, а после строчки
Строка.Дисциплина = Дисциплина; вставляй эти строки сообщить(). И нет такого типа "элемент справочника" - это ты нагло врешь, там другой тип должен быть указан. |
|||
54
unenu
10.10.19
✎
17:20
|
(53) "все врут" и значительно реже заблуждаются.
пока в коде открытия формы не будет обработчика завершения выбора - все тлен. |
|||
55
Eva_J
10.10.19
✎
17:22
|
(53) вообщем у них у обоих тип справочникссылка.дисциплины
|
|||
56
hhhh
10.10.19
✎
17:25
|
(55) и еще там сделайте Сообщить("Дисциплина " + Строка.Дисциплина);
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |