Заполнить префиксы в справочниках и документах

1. ivangrant 10 24.04.19 07:06 Сейчас в теме
Как можно настроить по нажатию на кнопки, чтобы отдельно выгрузились нужные Справочники,либо отдельено нужные Документы?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Dmitrij-2 45 24.04.19 07:15 Сейчас в теме
(1) Сделайте меню, нажимаете на заполнить справочники выходит меню со справочниками. А в коде в зависимости от выбранного справочника делайте выборку из нужного справочника
4. ivangrant 10 24.04.19 08:14 Сейчас в теме
(3) Зачем усложнять? Не нужно никакие меню.
Есть две кнокпи для справочников и отдельно для документов.
Кнопку нажали -> все НУЖНЫЕ типы документов выгрузились списком. Кнопку нажал "Сменить Префикс" - > все префиксы поменялись.
Сейчас загвоздка в первом. Надо выгржать типы документов и справочников в таблицу.
Пока дошёл до такого кода, но список не грузится :(
_____
&НаСервере
Процедура ЗаполнитьДокументыНаСервере()
		
	 Запрос=Новый Запрос;
Текст="";
Для Каждого Документ Из Метаданные.Документы Цикл
	Текст=Текст+"ВЫБРАТЬ Ссылка ИЗ Документ."+Документ.Имя+" ОБЪЕДИНИТЬ ";
КонецЦикла;
Запрос.Текст=Лев(Текст,СтрДлина(Текст)-СтрДлина(" ОБЪЕДИНИТЬ "));
Выборка=Запрос.Выполнить().Выбрать();	
	
	Объект.Список.Очистить();
	Пока Выборка.Следующий() Цикл
		
		Список_ = Объект.Список.Добавить();
		Список_.НаименованиеОбъекта = Выборка.НаименованиеОбъекта;
		Список_.ТипОбъекта = Выборка.ТипОбъекта;
		
	КонецЦикла;
		
КонецПроцедуры
________
Показать
2. acanta 24.04.19 07:10 Сейчас в теме
Вы можете добавить таблицы с видами справочников и документов, нужные отметить галочка и и сформировать запрос динамически по выбранным нужным видам.
5. ivangrant 10 24.04.19 08:15 Сейчас в теме
(2) Нет. Есть уже такие обработки здесь на форуме. Они не подходят. У клиента свыше 20-30 типов справочников и документов, которые нужно периодически обновлять. Устать можно тыкать галочки ))) нужен более универсальный вариант.
6. PhoenixAOD 62 24.04.19 09:57 Сейчас в теме
(5)оригинально, и в чем должен заключаться этот универсальный вариант? 1с должна прочитать мысли оператора и понять, чего ему нужно изменять?))) Звучит все это примерно так, я хочу что бы я нажал кнопочку и то что я хочу обновить само обновилось.
7. ivangrant 10 24.04.19 10:04 Сейчас в теме
8. user633533_encantado 11 24.04.19 10:10 Сейчас в теме
(7) Где у тебя в тексте запроса такие поля как "НаименованиеОбъекта" и "ТипОбъекта" ?
9. ivangrant 10 24.04.19 10:14 Сейчас в теме
(8)
"НаименованиеОбъекта" и "ТипОбъекта"
- это табличные данные. В запросе делается выборка по документам.
10. user633533_encantado 11 24.04.19 10:15 Сейчас в теме
(9) Так ты колонки таблицы заполняешь из выборки запроса ?

Откуда берется "Выборка.НаименованиеОбъекта" ? В запросе такого поля нет.
11. ivangrant 10 24.04.19 10:45 Сейчас в теме
(10)
Да, прошёлся отладчиком. Всё верно. Заменил на Метаданные.Документы.
Теперь код проходит, но вместо результатов, пустота.
И убрал из кода строку: Список_.ТипОбъекта = Выборка.ТипОбъекта;
12. user633533_encantado 11 24.04.19 10:49 Сейчас в теме
(11) "НаименованиеОбъекта" в тексте запроса есть ?
13. ivangrant 10 24.04.19 12:26 Сейчас в теме
(12) запрос с выбором всех типов документов получился.
&НаСервере
Процедура ЗаполнитьДокументыНаСервере()	
		
Для Каждого Документ Из Метаданные.Документы Цикл
	
	Список_ = Объект.Список.Добавить();
	Список_.НаименованиеОбъекта = Документ;
		
КонецЦикла;
		
КонецПроцедуры
Показать

_____
Теперь нужно отобрать типы документов из списка.
14. user633533_encantado 11 24.04.19 14:10 Сейчас в теме
(13) Разрешаю, отбирай. Также по метаданным отбираешь нужный тебе тип.
15. ivangrant 10 24.04.19 14:39 Сейчас в теме
(14) Да, получилось уже.
&НаСервере
Процедура ЗаполнитьДокументыНаСервере()	 //для Документов
	
	Объект.Список.Очистить();
//Задать список документов для отображения
МассивВыбранных = Новый Массив;
МассивВыбранных.Добавить("ПриходнаяНакладная");
МассивВыбранных.Добавить("РасходнаяНакладная");	

//вывести в табличную часть список документов
Для Каждого Документ Из МассивВыбранных Цикл	
	СписокДокумент_ = Объект.Список.Добавить();
	СписокДокумент_.НаименованиеОбъекта = Документ;		
КонецЦикла;
		
КонецПроцедуры
Показать

____
Но меня беспокоит, что в массиве строковые значения, а значит они не могут передать список всех документов по определённому типу.
Оставьте свое сообщение

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