![]() |
|
Выбор группы из списка | ☑ | ||
---|---|---|---|---|
0
21stas
14.01.18
✎
08:49
|
Требуется сделать в обработке таблицу с номенклатурой - чтобы пользователи могли для каждой позиции номенклатуры выбрать другую группу.
Группы для скорости выбора хочется выбирать из выпадающего списка, а не из формы. В обработку добавил табличную часть "Номенклатура", там два реквизита с типом НоменклатураСсылка - Нома и Родик. Эту табличную часть вынес на форму. Поставил галочку "РежимВыбораИзСписка" у Родик. Как теперь заполнить этот список? Что-то в этом роде? &НаКлиенте Процедура ПриОткрытии(Отказ) Объект.Номенклатура["Родик"].СписокВыбора.Добавить... |
|||
1
Мимохожий Однако
14.01.18
✎
09:31
|
Покажи запрос, как получаешь список.
|
|||
2
21stas
14.01.18
✎
09:42
|
Вот так я заполняю таблицу на форме:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Нома, | Номенклатура.Родитель КАК Родик |ИЗ | Справочник.Номенклатура КАК Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); ТЗ=РезультатЗапроса.Выгрузить(); Объект.Номенклатура.Загрузить(ТЗ); Примерно так хочу заполнять список для выбора: &НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК НоменклатураСсылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект.Номенклатура["Папочка"].СписокВыбора.Добавить(ВыборкаДетальныеЗаписи.НоменклатураСсылка); КонецЦикла; КонецПроцедуры |
|||
3
patya
14.01.18
✎
09:48
|
А почему не Шнурок?
|
|||
4
21stas
14.01.18
✎
09:59
|
(3) Имеется в виду 1С-Быстрый старт?
Да, проходил, но пишу мало, подзабывается. Где примерно там посмотреть? |
|||
5
patya
14.01.18
✎
10:04
|
Нет. Имеется в виду Родик и Папочка. В современных курсах так и рекомендуется?
|
|||
6
mistеr
14.01.18
✎
10:36
|
(0) >Как теперь заполнить этот список?
В обработчике события НачалоВыбора для поля в ТЧ. |
|||
7
breezee
14.01.18
✎
16:40
|
(2) У вас на клиенте запрос не отработает
РезультатЗапроса = Запрос.Выполнить(); ТЗ=РезультатЗапроса.Выгрузить(); Объект.Номенклатура.Загрузить(ТЗ); Это вообще ад, что будет, если у вас список реквизитов измениться в таблице? >Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); АААААА А по задаче - смотрите свойства элемента формы, кодить тут не надо. |
|||
8
21stas
14.01.18
✎
19:31
|
Хорошо, сделал функцию для заполнения списка групп номенклатуры- как теперь его использовать в виде списка выбора?
&НаСервере Функция ЗаполнитьСписок() СписокГруппНоменклатуры=Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК НоменклатураСсылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СписокГруппНоменклатуры.Добавить(ВыборкаДетальныеЗаписи.НоменклатураСсылка); КонецЦикла; Возврат СписокГруппНоменклатуры; КонецФункции |
|||
9
21stas
14.01.18
✎
19:37
|
Попробовал вот такое. Список групп выдаётся для выбора (при этом ругается на использование модальных окон), но выбор ничего не меняет:
&НаКлиенте Процедура НоменклатураРодикНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; Элемент = ЭтаФорма.ВыбратьИзСписка(ЗаполнитьСписокГруппНоменклатуры(), Элемент); КонецПроцедуры &НаСервере Функция ЗаполнитьСписокГруппНоменклатуры() СписокГруппНоменклатуры=Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК НоменклатураСсылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СписокГруппНоменклатуры.Добавить(ВыборкаДетальныеЗаписи.НоменклатураСсылка); КонецЦикла; Возврат СписокГруппНоменклатуры; КонецФункции |
|||
10
PiotrLoginov
14.01.18
✎
20:31
|
ТС, перечитайте (7)
|
|||
11
21stas
15.01.18
✎
06:12
|
(10) В (7) несколько рекомендаций, речь идёт про "смотрите свойства элемента формы, кодить тут не надо"?
Да, при очередном просмотре нашёл - действительно, кодить не надо. Спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |