Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 13:35

Заполнить табличную часть документа из справочника

Автор Светана, 26 ноя 2017, 20:01

0 Пользователей и 1 гость просматривают эту тему.

Светана

Люди добрые, подскажите пожалуйста как заполнить табличную часть документа из справочника. У меня есть справочник Блюда с табличной частью Ингредиенты. И есть документ Заказ с табличной частью Перечень блюд. Хочу чтобы в документе в табличной части при выборе какого-либо блюда из справочника Блюда заполнялась табличная часть в документ.
Вот уже что-то начала, но оно не работает.
&НаСервере
Процедура ЗаполнитьПоляНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| БлюдаИнгредиенты.Ссылка.Наименование КАК Блюдо,
| БлюдаИнгредиенты.Игредиент.Наименование КАК Ингредиенты,
| БлюдаИнгредиенты.Количество КАК КоличествоИнгредиентов,
| БлюдаИнгредиенты.ЕдиницаИзмерения
|ИЗ
| Справочник.Блюда.Ингредиенты КАК БлюдаИнгредиенты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Заказ.ПереченьБлюд КАК ЗаказПереченьБлюд
| ПО БлюдаИнгредиенты.Ссылка.Наименование = ЗаказПереченьБлюд.Блюдо
|ГДЕ
| БлюдаИнгредиенты.Ссылка.Наименование = ЗаказПереченьБлюд.Блюдо.Наименование";
Объект.ПереченьБлюд.Загрузить( Запрос.Выполнить().Выгрузить());
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьПоля(Команда)
ЗаполнитьПоляНаСервере();
КонецПроцедуры

Masaraksh



AIFrame

Чет вы как-то странно запрос запрашиваете.
Во-первых, избавьтесь от наименований. Представление Ссылки и будет наименованием.
Как следствие, тут ПО БлюдаИнгредиенты.Ссылка.Наименование = ЗаказПереченьБлюд.Блюдо вы сравниваете Строку с Ссылкой. СОЕДИНЕНИЕ уже не отработает.
ЦитироватьХочу чтобы в документе в табличной части при выборе какого-либо блюда из справочника Блюда заполнялась табличная часть в документ.
Для этого нужно вешать обработчик ПриИзменении, ПриДобавлении или ОкончаниеВыбора на строки этой ТЧ. И запрос будет ровно по одной таблице:

    Запрос.Текст =
        "ВЫБРАТЬ
        |    БлюдаИнгредиенты.Ссылка КАК Блюдо,
        |    БлюдаИнгредиенты.Игредиент КАК Ингредиенты,
        |    БлюдаИнгредиенты.Количество КАК КоличествоИнгредиентов,
        |    БлюдаИнгредиенты.ЕдиницаИзмерения
        |ИЗ
        |    Справочник.Блюда.Ингредиенты КАК БлюдаИнгредиенты
        |ГДЕ
        |    БлюдаИнгредиенты.Ссылка = &СсылкаНаБлюдо";
    Запрос.УстановитьПараметр("СсылкаНаБлюдо", РезультатВыбораБлюда);

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск