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

Как отобразить справочник в табличной части

Автор Greiv, 26 янв 2015, 11:47

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

Greiv

Приветствую, есть обработка в которой есть табличный документ, которой должен тянуть из справочника данные и отображать их, также в справочнике эти данные сгруппированы по наименованию, и у элемента в справочнике есть ещё табличная часть данные в которой относятся исключительно к данному элементу, а в обработке должно всё отображаться не группировано. Делаю так, но грузятся только наименования оно и понятно, потому, что я не знаю как обратиться к конкретному элементу и загрузить всё что к нему относится, как это сделать, вот код:
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| Курьеры.Наименование КАК ФИО,
| Курьеры.КодДоставки КАК КодДоставки,
| Курьеры.КодКурьера КАК КодКурьера,
| Курьеры.Дома.(
| Ссылка,
| НомерСтроки,
| НаселенныйПункт КАК НаселенныйПункт,
| Улица КАК Улица,
| НомерДома КАК НомерДома
| )
|ИЗ
| Справочник.Курьеры КАК Курьеры";


РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();



Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

ТаблицаОбработки = Объект.НазначениеКурьеров.Добавить();
ТаблицаОбработки.ФИО = Справочники.Курьеры.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ФИО);
ТаблицаОбработки.КодКурьера = Справочники.Курьеры.НайтиПоРеквизиту("КодКурьера", ВыборкаДетальныеЗаписи.КодКурьера);
ТаблицаОбработки.КодДоставки = Справочники.Курьеры.НайтиПоРеквизиту("КодДоставки", ВыборкаДетальныеЗаписи.КодДоставки);

КонецЦикла;

cska-fanat-kz

вместо
ТаблицаОбработки.ФИО = Справочники.Курьеры.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ФИО);
ТаблицаОбработки.КодКурьера = Справочники.Курьеры.НайтиПоРеквизиту("КодКурьера", ВыборкаДетальныеЗаписи.КодКурьера);
ТаблицаОбработки.КодДоставки = Справочники.Курьеры.НайтиПоРеквизиту("КодДоставки", ВыборкаДетальныеЗаписи.КодДоставки);

попробуйте
ЗаполнитьЗначенияСвойств(ТаблицаОбработки, ВыборкаДетальныеЗаписи);
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Greiv

На сколько я знаю такая конструкция работает если совпадают названия реквизитов на 100%, но я всё ровно проверил это не помогло. Мне удаётся выгрузить список в таблицу только если поля коддоставки и КодКурьера имеют тип "строка" тогда всё нормально, ну и поиск по ноименованию тоже работает и даже устанавливает ссылку на справочник, а вот подтянуть подчинённые реквизиты формы ссылками на них не получается только строкой.
Добавлено: 27 янв 2015, 12:18


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

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();



Пока ВыборкаДетальныеЗаписи.Следующий() Цикл


//************************************************************
ТаблицаОбработки = Объект.НазначениеКурьеров.Добавить();
ТаблицаОбработки.ФИО = Справочники.Курьеры.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ФИО);
ТаблицаОбработки.КодКурьера = ВыборкаДетальныеЗаписи.КодКурьера;
ТаблицаОбработки.КодДоставки = ВыборкаДетальныеЗаписи.КодДоставки;
ТаблицаОбработки.НаселенныйПункт = ВыборкаДетальныеЗаписи.НаселенныйПункт;
ТаблицаОбработки.Улица = ВыборкаДетальныеЗаписи.Улица;
ТаблицаОбработки.Дом = ВыборкаДетальныеЗаписи.НомерДома;

//************************************************************


ТаблицаУдалениеСправочников = Объект.УданиеКурьеров.Добавить();
ТаблицаУдалениеСправочников.ФИО = Справочники.Курьеры.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ФИО);

КонецЦикла;

Нужно было вытащить из табличной части ссылку и также пришлось в таблице в которую я грузил изменить все реквизиты с сылок на конкретные значения число или строка, кроме наименования.

Теги:

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

Рейтинг@Mail.ru

Поиск