1. ВеликийДуматель 8 11.08.19 16:37 Сейчас в теме

Как программно изменить состав выводимых полей динамического списка?

Нужно получить Схему и Настройки компоновки динамического списка, очистить все отборы, и вывести в результат все доступные поля. Делаю так:

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

В результат выводится только то, что добавлено на форму, хотя в доступных полях есть все. При этом Настройки.Выбор.Элементы - пусто. Пробовал добавлять туда нужные мне поля - не помогает.
Не пойму, от чего тогда зависит состав выводимых в результат полей?
Ответы
Избранное Подписка Сортировка: Древо
2. Xershi 683 11.08.19 17:52 Сейчас в теме
(1) если запрос произвольный, то кроме самого запроса нужно еще и добавить реквизиты на форму и прописать им путь.
В теории примерно так это работает.
3. ВеликийДуматель 8 11.08.19 18:07 Сейчас в теме
(2) Произвольный запрос отсутствует, есть просто основная таблица. Мне вообще не надо ничего выводить на форму. Нужно просто получить результат запроса СхемыКомпоновкиДанных с заданным в настройках списка Периодом и отбором по Организации, остальные отборы очистить, все доступные поля вывести.
Сейчас смотрю в СхемеКомпоновки - запрос набора данных содержит все поля, после выполнения КомпоновщикаМакета - запрос набора данных МакетаКомпоновки подменяется и уже содержит только те поля, которые видны в форме списка. При этом НастройкиКомпоновкиДанных не содержат никаких отборов и параметров, доступные поля - все из запроса.
Не понятно как это работает
4. Xershi 683 11.08.19 19:31 Сейчас в теме
(3)основная таблица определяет реквизиты списка. Далее их можно вынести на форму.
Раз выносить не надо, то просто удалите фиксированные и пользовательские отборы. А затем поставьте свои!
Схемы вам не нужно использовать, т.к. запрос у вас не произвольный.
5. ВеликийДуматель 8 11.08.19 21:27 Сейчас в теме
(4) Все отборы в настройках итак пустые
6. buganov 57 12.08.19 05:39 Сейчас в теме
Попробуйте декомпилировать форму
7. VmvLer 12.08.19 08:29 Сейчас в теме
из компоновщика списка получайте соответствующую коллекцию доступных полей.
в исполняемой схеме - факт, а вам нужен план.
проще всего в отладке посмотреть, что содержит компоновщик и не разводить хухры-мухры.
8. SlavaKron 12.08.19 09:16 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

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

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

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

Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день