|
ТЧ на форме и списки значений |
☑ |
0
C0oLZ3r0
02.08.20
✎
17:52
|
Все доброго времени суток :)
Такой вопрос: есть ТЧ, в ней несколько колонок. Возможно ли сделать так, чтобы в одной колонке в разных строках список значений имел разное наполнение (создается динамически). Если возможно, то можно пример реализации? Чего-то ступор с этим...
Заранее благодарю.
|
|
1
osa1C
02.08.20
✎
18:08
|
(0) Что означают слова "разное наполнение" и по какому принципу это наполнение должно быть разным?
|
|
2
C0oLZ3r0
02.08.20
✎
18:12
|
Три колонки в ТЧ. В третьей колонке - поле "список значений". Вот он должен наполняться динамически (зависит от значения во второй колонке)
|
|
3
MishaD
02.08.20
✎
18:22
|
|
|
4
C0oLZ3r0
02.08.20
✎
18:25
|
(3) близко... Там, так понял, один справочник - номенклатура.
|
|
5
osa1C
02.08.20
✎
18:26
|
(4) Ну так в зависимости от значения во второй колонке, выбирай то что тебе нужно. Или мы должны догадаться что ты хочешь?
|
|
6
C0oLZ3r0
02.08.20
✎
18:28
|
Если совсем точно - опишу:
сп1 = Новый СписокЗначений;
сп1.Добавить("Значение1");
сп1.Добавить("Значение2");
сп2 = Новый СписокЗначений;
сп2.Добавить("Новый1");
сп2.Добавить("Новый2");
Допустим, у нас в текущей строке, во второй колонке указано значение 2. Нам нужно в третьей колонке показывать сп2. :))))
Добраться до элемента не получается чтобы загрузить туда список значений %)
|
|
7
SuperMario
02.08.20
✎
18:47
|
(0) Событие на колонку прикрути "НачалоВыбора"
&НаКлиенте
Процедура ЕдиницаИзмеренияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекДанные = Элементы.Ингредиенты.ТекущиеДанные;
Элемент.СписокВыбора.ЗагрузитьЗначения(ПолучитьСписокЕдиницИнгредиента (ТекДанные.Ингредиент));
КонецПроцедуры
|
|
8
SuperMario
02.08.20
✎
18:50
|
+(7) РежимВыбораИзСписка поставь ))
|
|
9
C0oLZ3r0
02.08.20
✎
19:01
|
(7) Огромное спасибо!
Теперь такой момент:
Делаю так
&НаКлиенте
Процедура Поле3НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТД = Элементы.ТЧ.ТекущиеДанные;
Если ТД.Поле2 = 1 Тогда
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивИзСп1)
ИначеЕсли ТД.Поле2 = 2 Тогда
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивИзсп2)
КонецЕсли;
Во всех ячейках третьей колонки одинаковый состав списка.
|
|
10
SuperMario
02.08.20
✎
19:31
|
(9) отладчик тебе в помощь)
проверь содержимое массивов
|
|
11
SuperMario
02.08.20
✎
19:32
|
должно все работать!
|
|
12
C0oLZ3r0
02.08.20
✎
19:38
|
Да... Буду разбираться. В любом случае благодарю :))
Если нажать F4 - данные в списке обновляет и при повторной попытке выбора все ок.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший