1. piskunov.maksim.a 5 09.01.19 17:32 Сейчас в теме

Выпадающий списсок в колонке ТЧ, из реквизита составного типа

Здравствуйте, если в кратции история в следующем:
В базе УНФ 1Сники реализовали возможность вводить не только основную единицу измерения но и дополнительные со своими коэффициентами.
Вся проблема в том что основная единица измерения и дополнительные находятся в разных справочниках, смог добавить их все в массив по конкретной номенклатуре через запрос, но не могу понять как мне вывести их все вместе.
Т.е. либо выпадающим списком чтобы пользователь видел все варианты, либо в форме выбора.
Подскажите пожалуйста как это можно реализовать и заранее спасибо за помощь!)
P.S. Платформа 8.3 Конфигурация УНФ 1.6.
Найденные решения
6. dhurricane 10.01.19 07:38 Сейчас в теме
(4) Вы сделали не так, как Вам сказали. Вы пытаетесь установить список выбора для реквизита формы, а Вам привели пример для настройки списка выбора элемента формы.
Если у Вас разный список выбора для разных номенклатурных позиций в рамках одной ТЧ, в купе с флагом "РежимВыбораИзСписка" используйте обработчик события "НачалоВыбора", где переопределите стандартное формирование списка выбора:
СтандартнаяОбработка = Ложь;

ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.Добавить("Первый");
ДанныеВыбора.Добавить("Второй");
piskunov.maksim.a; mark_oilbass; +2 Ответить
3. mark_oilbass 10.01.19 06:49 Сейчас в теме
У реквизита установите составной тип и выберите нужные справочники или укажите Произвольный тип. У элемента установите РежимВыбораИзСписка.
В процедуре ПриСозданииНаСервере в цикле заполните список выбора.
Элементы.Реквизит1.СписокВыбора.Добавить("ВашеЗначение");
Прикрепленные файлы:
piskunov.maksim.a; +1 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо
2. piskunov.maksim.a 5 10.01.19 06:46 Сейчас в теме
3. mark_oilbass 10.01.19 06:49 Сейчас в теме
У реквизита установите составной тип и выберите нужные справочники или укажите Произвольный тип. У элемента установите РежимВыбораИзСписка.
В процедуре ПриСозданииНаСервере в цикле заполните список выбора.
Элементы.Реквизит1.СписокВыбора.Добавить("ВашеЗначение");
Прикрепленные файлы:
piskunov.maksim.a; +1 Ответить
4. piskunov.maksim.a 5 10.01.19 07:24 Сейчас в теме
(3)
Элементы.Реквизит1.СписокВыбора.Добавить("ВашеЗначение")


Попробовал как вы сказали, сделал вот так:

НаименованиеЗаказа=ПОдборЕдИзм(НомерСтроки);

Для Каждого Элемент Из НаименованиеЗаказа Цикл
Объект.Материалы[НомерСтроки].ЕдиницаИзмерения.СписокВыбора.Добавить(Элемент);
КонецЦикла;

Выдает какую то странную ошибку:

{Документ.ЗаявкаВПроизводство.Форма.ФормаДокумента.Форма(6213)}: Поле объекта недоступно для записи (Имя)
Для Каждого Элемент Из НаименованиеЗаказа Цикл
5. mark_oilbass 10.01.19 07:29 Сейчас в теме
(4)У вас для каждой номенклатуры разный состав единиц измерений будет?
7. piskunov.maksim.a 5 10.01.19 08:00 Сейчас в теме
(5)Да, с той проблемой разобрался, сам не правильно назвал переменную. Но никак не получается создать список выбора, теперь выдает:

{Документ.ЗаявкаВПроизводство.Форма.ФормаДокумента.Форма(6214)}: Поле объекта не обнаружено (СписокВыбора)
Объект.Материалы[НомерСтроки].ЕдиницаИзмерения.СписокВыбора.Добавить(Массив);
9. piskunov.maksim.a 5 10.01.19 08:58 Сейчас в теме
(5)
(6)

Спасибо огромное за помощь, все что вы подсказали очень помогло, для истории решение получилось следующим:


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


Массив я получил в функции ПОдборЕдИзм() куда и засунул нужные мне значения из обоих справочников, если у кого то будет вопрос по такой же теме и решение не понятно, то пишите постараюсь помочь.
6. dhurricane 10.01.19 07:38 Сейчас в теме
(4) Вы сделали не так, как Вам сказали. Вы пытаетесь установить список выбора для реквизита формы, а Вам привели пример для настройки списка выбора элемента формы.
Если у Вас разный список выбора для разных номенклатурных позиций в рамках одной ТЧ, в купе с флагом "РежимВыбораИзСписка" используйте обработчик события "НачалоВыбора", где переопределите стандартное формирование списка выбора:
СтандартнаяОбработка = Ложь;

ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.Добавить("Первый");
ДанныеВыбора.Добавить("Второй");
piskunov.maksim.a; mark_oilbass; +2 Ответить
8. piskunov.maksim.a 5 10.01.19 08:01 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 120 000 руб.
Полный день

Аналитик 1С
Санкт-Петербург
зарплата от 80 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день