Получение списка всех документов через метаданные

1. NicolasCage 21.06.24 16:11 Сейчас в теме
Здравствуйте. Направьте на правильнй путь.Дали дз. Сказали простая, но что-то нифига. На форме обработки должно быть 3 табличные части. В таб.частях выводится список всех справочников, документов и отчетов. Прям как в конфигураторе/предприятии. Когда пользователь выбирает, например, документ открывается форма списка.

Через метаданные я получил имена документов (скрин):

Для каждого Элементик Из Метаданные.Документы Цикл
		ТабЧастьДок = Объект.Документы.Добавить();
		ТабЧастьДок.Имя = Элементик.Имя;
		ТабЧастьДок.Синоним = Элементик.Синоним;		
КонецЦикла;


Потом на таб.часть повесил событие "Выбор" и просто попытался открыть форму списка.

Документ = Элементы.Документы.ТекущиеДанные;	
ИмяДокумента = Документ.Имя;
	
Форма = "Документ."+ИмяДокумента+".ФормаСписка";
ОткрытьФорму(Форма);


Но тут такая проблема. Некоторые формы открываются либо пустые, либо непонятно какие. Например, документ Отпуск открывает форму Отпуска (Т-6). Объясните, пожалуйста, что не так я делаю и как правильно, а то я не понимаю.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Vitaly1C8 23.06.24 20:29 Сейчас в теме
(1) Советую избегать использования переменных с именами совпадающими с объектами языка ...
_Документ = Элементы.Документы.ТекущиеДанные;    // Если на форме есть реквизит Документ присвоение не произойдет, ошибки тоже ... ?!
_ИмяДокумента = _Документ.Имя;
    
Форма = "Документ."+_ИмяДокумента+".ФормаСписка";
ОткрытьФорму(Форма);

Это единственное объеснение которое приходит в голову
NicolasCage; +1 Ответить
2. soft_wind 21.06.24 17:01 Сейчас в теме
да все правильно вы делаете! только у некоторых документов стандартные формы (элемента,списка,выбора,...) могут быть переопределены! т.е. Разработчики могут задать совсем другие формы и даже других объектов!
(в событии формы открывать вообще что-то другое)
NicolasCage; +1 Ответить
3. NicolasCage 22.06.24 18:32 Сейчас в теме
(2) я даже не подумал об этом. Спасибо. Просто как тогда открывать переопределенные формы?
5. Vadim-SH 24.06.24 06:25 Сейчас в теме
(3) Их для того и переопределяют, чтобы открывалось то, что задумано.
А так, все верно:
Форма = "Документ."+ИмяДокумента+".ФормаСписка"
NicolasCage; +1 Ответить
6. NicolasCage 24.06.24 08:55 Сейчас в теме
Даааа,мужики, я еще тот паникер) В предприятии нажал на форме списка "открыть в конфигураторе" и оказалось,что часть документов просто открывается из журнала документов. А я никогда раньше не замечал этот объект конфигурации)
Спасибо ребят за помощь!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот