Выбор только тех автомобилей, которые относятся к данному клиенту
Имеется справочник "Клиенты" с табличной частью "Автомобиль" с такими полями как "Наименование", "НомерДоговора", "Количество". Имеется документ "ОказаниеУслуг" с полями на форме "Клиент" (СправочникСсылка.Клиенты) и "Автомобиль" (СправочникСсылка.Автомобили). Необходимо при выборе клиента из справочника в поле "Автомобиль" выводить список Автомобилей принадлежащих данному клиенту для дальнейшего выбора.
По теме из базы знаний
- 1С:Управление строительной организацией. 1С:ERP Управление строительной организацией 2
- Как организовать прогнозирование пробега автомобилей и приглашение на техническое обслуживание в Альфа-Авто
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
- Безопасный переезд базы 1С с персональными данными в облако
- Механизм анализа данных. Кластеризация.
Найденные решения
//СЛУЖЕБНАЯ ПРОЦЕДУРА
//Получаем список автомобилей клиента и загружаем их в список выбора
&НаСервере
Процедура СформироватьСписокАвтомобилейКлиентаНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КлиентыАвтомобили.Автомобиль КАК Автомобиль
|ИЗ
| Справочник.Клиенты.Автомобили КАК КлиентыАвтомобили
|ГДЕ
| КлиентыАвтомобили.Ссылка = &КлиентСсылка";
Запрос.УстановитьПараметр("КлиентСсылка", Объект.Клиент);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
массАвтомобилейКлиента = РезультатЗапроса.ВыгрузитьКолонку("Автомобиль");
//Очищаем переменную в объекте
Объект.Автомобиль = Справочники.Автомобили.ПустаяСсылка();
//Очищаем список выбора и загружаем полученные значения
Элементы.Автомобиль.СписокВыбора.Очистить();
Элементы.Автомобиль.СписокВыбора.ЗагрузитьЗначения(массАвтомобилейКлиента);
КонецПроцедуры
//ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Заполняем список значениями по клиенту
Если ЗначениеЗаполнено(Объект.Клиент) Тогда
СформироватьСписокАвтомобилейКлиентаНаСервере();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура КлиентПриИзменении(Элемент)
//При изменении клиента получаем его список автомобилей
СформироватьСписокАвтомобилейКлиентаНаСервере();
КонецПроцедуры
Показатьу реквизита формы Автомобили, в палитре свойств поставить флажок "Режим выбора из списка"
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
//СЛУЖЕБНАЯ ПРОЦЕДУРА
//Получаем список автомобилей клиента и загружаем их в список выбора
&НаСервере
Процедура СформироватьСписокАвтомобилейКлиентаНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КлиентыАвтомобили.Автомобиль КАК Автомобиль
|ИЗ
| Справочник.Клиенты.Автомобили КАК КлиентыАвтомобили
|ГДЕ
| КлиентыАвтомобили.Ссылка = &КлиентСсылка";
Запрос.УстановитьПараметр("КлиентСсылка", Объект.Клиент);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
массАвтомобилейКлиента = РезультатЗапроса.ВыгрузитьКолонку("Автомобиль");
//Очищаем переменную в объекте
Объект.Автомобиль = Справочники.Автомобили.ПустаяСсылка();
//Очищаем список выбора и загружаем полученные значения
Элементы.Автомобиль.СписокВыбора.Очистить();
Элементы.Автомобиль.СписокВыбора.ЗагрузитьЗначения(массАвтомобилейКлиента);
КонецПроцедуры
//ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Заполняем список значениями по клиенту
Если ЗначениеЗаполнено(Объект.Клиент) Тогда
СформироватьСписокАвтомобилейКлиентаНаСервере();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура КлиентПриИзменении(Элемент)
//При изменении клиента получаем его список автомобилей
СформироватьСписокАвтомобилейКлиентаНаСервере();
КонецПроцедуры
Показатьу реквизита формы Автомобили, в палитре свойств поставить флажок "Режим выбора из списка"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот