Имя: Пароль:
1C
1С v8
Список выбора в поле табличной части обработки на управляемой форме
,
0 Мимохожий Однако
 
02.12.19
12:44
Сюжет таков. Есть табличная часть обработки на управляемой форме. Есть потребность при заполнении реквизита табличной части выбирать значение из подготовленного списка, который меняется (дополняется, уменьшается). Моя проблема в том, что я не могу добиться выбора значений из этого списка. Можно, конечно, сделать дополнительную форму для выбора, но пока пытаюсь разобраться без костылей.
1 lubitelxml
 
02.12.19
12:50
Как пытаешься. Покажи код, там вроде все просто было
2 Мимохожий Однако
 
02.12.19
12:55
Сработал эффект вопроса на Мисте.
1. Написал 2. Погуглил по буковке Я
Вот результат
//Пример с яндекса
//Элементы.НазваниеЭлемента.СписокВыбора.ЗагрузитьЗначения(СписокВыбораВВидеМасива);
рабочий код
Элементы.Товарыmanufactured.СписокВыбора.ЗагрузитьЗначения(Списокmanufactured);
..
Ошибка была в том, что пытался заполнить список не из массива, а из списка значений.
(1) Отдельное спасибо за участие )
3 Sasha_H
 
02.12.19
12:59
(2) Ну так и сделай, чтобы список загружался из массива в чем проблемы
4 Мимохожий Однако
 
02.12.19
13:00
(3) Вот я сделал. ) Спасибо
5 Мимохожий Однако
 
02.12.19
22:20
Понадобилось ввести в поле новое значение. Не получилось. Полагаю, надо добавить в настройку поля какой-то признак или команду, чтобы отменить ввод из списка значений и ввести строку (тип поля "строка").
6 FIXXXL
 
03.12.19
08:50
(5) РежимВыбораИзСписка
7 Мимохожий Однако
 
03.12.19
09:53
(6) Я не понял. Когда установлен это флажок, то я выбираю значение из списка. Именно это мне и надо было.
Но при необходимости ввести значение,которое отсутствует в списке, я нарываюсь "на непонимание"). Ты намекаешь на что-то другое?
8 PuhUfa
 
03.12.19
10:21
(7) Табличная часть "Работы":

&НаКлиенте
Процедура РаботыПриАктивизацииСтроки(Элемент)
    НастроитьНаличиеКнопкиСпискаВыбораНоменклатуры();
КонецПроцедуры

&НаКлиенте
Процедура НастроитьНаличиеКнопкиСпискаВыбораНоменклатуры()
    
    Если мОсновныеУслугиСотрудников <> Неопределено Тогда
        КнопкаСписка = Ложь;
        ТекущиеДанные = Элементы.Работы.ТекущиеДанные;
        Если ТекущиеДанные <> Неопределено Тогда
            ТекущийСотрудник = ПолучитьРаботыТекущегоСотрудника(ТекущиеДанные, Объект.Мастер, Объект.НесколькоМастеров);
            Если ЗначениеЗаполнено(ТекущийСотрудник) Тогда
                СписокРабот = ПолучитьОсновныеРаботыСотрудника(ТекущийСотрудник);
                Если СписокРабот.Количество() <> 0 Тогда
                    КнопкаСписка = Истина;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        
        Если КнопкаСписка Тогда
            Элементы.РаботыРабота.КнопкаВыпадающегоСписка = КнопкаСписка;
            Элементы.РаботыРабота.СписокВыбора.ЗагрузитьЗначения(СписокРабот.ВыгрузитьЗначения());
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

У колонки Элементы.РаботыРабота РежимВыбораИзСписка НЕ установлено
Работает так: https://sun9-7.userapi.com/c850608/v850608615/4a544/Kts64wb--_A.jpg
Соответственно если нужно выбрать того что нет в списке, то жмем "показать все".
9 FIXXXL
 
03.12.19
10:22
(7) "нет ножек - нет мультиков"
или РежимВыбораИзСписка или самому обрабатывать поведение...
при включенном РежимВыбораИзСписка при вводе идет поиск в Списке и подстановка
10 Мимохожий Однако
 
03.12.19
18:50
(9) Доступно объяснил ).
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс