Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ТЧ на форме и списки значений

ТЧ на форме и списки значений
Я
   C0oLZ3r0
 
02.08.20 - 17:52
Все доброго времени суток :)

Такой вопрос: есть ТЧ, в ней несколько колонок. Возможно ли сделать так, чтобы в одной колонке в разных строках список значений имел разное наполнение (создается динамически). Если возможно, то можно пример реализации? Чего-то ступор с этим...

Заранее благодарю.
   osa1C
 
1 - 02.08.20 - 18:08
(0) Что означают слова "разное наполнение" и по какому принципу это наполнение должно быть разным?
   C0oLZ3r0
 
2 - 02.08.20 - 18:12
Три колонки в ТЧ. В третьей колонке - поле "список значений". Вот он должен наполняться динамически (зависит от значения во второй колонке)
   MishaD
 
3 - 02.08.20 - 18:22
   C0oLZ3r0
 
4 - 02.08.20 - 18:25
(3) близко... Там, так понял, один справочник - номенклатура.
   osa1C
 
5 - 02.08.20 - 18:26
(4) Ну так в зависимости от значения во второй колонке, выбирай то что тебе нужно. Или мы должны догадаться что ты хочешь?
   C0oLZ3r0
 
6 - 02.08.20 - 18:28
Если совсем точно - опишу:

сп1 = Новый СписокЗначений;
сп1.Добавить("Значение1");
сп1.Добавить("Значение2");

сп2 = Новый СписокЗначений;
сп2.Добавить("Новый1");
сп2.Добавить("Новый2");

Допустим, у нас в текущей строке, во второй колонке указано значение 2. Нам нужно в третьей колонке показывать сп2. :))))

Добраться до элемента не получается чтобы загрузить туда список значений %)
   SuperMario
 
7 - 02.08.20 - 18:47
(0) Событие на колонку прикрути "НачалоВыбора"

&НаКлиенте
Процедура ЕдиницаИзмеренияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ТекДанные = Элементы.Ингредиенты.ТекущиеДанные;
    Элемент.СписокВыбора.ЗагрузитьЗначения(ПолучитьСписокЕдиницИнгредиента (ТекДанные.Ингредиент));
КонецПроцедуры
   SuperMario
 
8 - 02.08.20 - 18:50
+(7)  РежимВыбораИзСписка поставь ))
   C0oLZ3r0
 
9 - 02.08.20 - 19:01
(7) Огромное спасибо!

Теперь такой момент:
Делаю так

&НаКлиенте
Процедура Поле3НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТД = Элементы.ТЧ.ТекущиеДанные;
Если ТД.Поле2 = 1 Тогда
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивИзСп1)
ИначеЕсли ТД.Поле2 = 2 Тогда
Элемент.СписокВыбора.ЗагрузитьЗначения(МассивИзсп2)
КонецЕсли;

Во всех ячейках третьей колонки одинаковый состав списка.
   SuperMario
 
10 - 02.08.20 - 19:31
(9) отладчик тебе в помощь)
проверь содержимое массивов
   SuperMario
 
11 - 02.08.20 - 19:32
должно все работать!
   C0oLZ3r0
 
12 - 02.08.20 - 19:38
Да... Буду разбираться. В любом случае благодарю :))

Если нажать F4 - данные в списке обновляет и при повторной попытке выбора все ок.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.