|
Запрос: Все субконто с типом Справочник | ☑ | ||
---|---|---|---|---|
0
AugustBlack
05.09.12
✎
12:27
|
привет, нужен хелп с запросом необходимо выбрать из плана счетов все субконто с типом справочник.
пишу ВЫБРАТЬ ХозрасчетныйВидыСубконто.ВидСубконто, ХозрасчетныйВидыСубконто.ВидСубконто.ТипЗначения ИЗ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто не пойму как сделать чтото вроде где ВидыСубконто "содержит" тип справочник, помогите. |
|||
1
DrShad
05.09.12
✎
12:28
|
что будешь делать с субконто, у которых составной тип?
|
|||
2
AugustBlack
05.09.12
✎
12:32
|
вот вот в запросе так указать нельзя получается
|
|||
3
DrShad
05.09.12
✎
12:33
|
ща попробую поглядеть запросом, никогда до этого не приходилось так извращаться, а вообще накуя это нужно?
|
|||
4
AugustBlack
05.09.12
✎
12:35
|
нужно выгрузить данные в (excel к примеру) из справочников которые привязаны к счетам
|
|||
5
ptiz
05.09.12
✎
12:36
|
А зачем запросом? Просто циклом по метаданным пройдись и выбери нужные справочники.
|
|||
6
AugustBlack
05.09.12
✎
12:39
|
да хочется как можно более "оптимизировано" :-D
|
|||
7
DrShad
05.09.12
✎
12:40
|
(6) выборка ПВХ и циклом по ней имена объектов метаданных - потом выгружай
|
|||
8
Reset
05.09.12
✎
12:41
|
Вариант для пятницы: Не (Субконто.Предопределенный Есть NULL)
|
|||
9
Reset
05.09.12
✎
12:42
|
(8) а, хотя даже если и сработает, то ПВХ зацепит.
|
|||
10
AugustBlack
13.09.12
✎
12:10
|
(7) а как тут?
СтрокаПоиска = Строка(Строка.ВидСубконто) в этой строчке МетаданныеСправочника = Метаданные.Справочники.Найти(СтрокаПоиска); т.е я могу вытащить только синоним, а не наименование объекта метаданных. поиска по синониму нет.. гляньте СпрТЗ = Новый ТаблицаЗначений; СпрТЗ.Колонки.Добавить("Наименование",,"Наименование"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Хозрасчетный.Ссылка КАК Ссылка |ИЗ | ПланСчетов.Хозрасчетный КАК Хозрасчетный |ГДЕ | НЕ Хозрасчетный.ПометкаУдаления | |УПОРЯДОЧИТЬ ПО | Ссылка"; Счета = Запрос.Выполнить().Выгрузить(); Первый = Истина; Для Каждого Счет Из Счета Цикл Сообщить("Счет: " + Счет.Ссылка); Для Каждого Строка Из Счет.Ссылка.ВидыСубконто Цикл СтрокаПоиска = Строка(Строка.ВидСубконто); МетаданныеСправочника = Метаданные.Справочники.Найти(СтрокаПоиска); Если МетаданныеСправочника <> Неопределено Тогда Если Первый Тогда Сообщить(СтрокаПоиска); НоваяСтрока = СпрТЗ.Добавить(); НоваяСтрока.Наименование = СтрокаПоиска; Первый = Ложь; Иначе Если СпрТЗ.Найти(СтрокаПоиска, "Наименование") = Неопределено Тогда Сообщить(СтрокаПоиска); НоваяСтрока = СпрТЗ.Добавить(); НоваяСтрока.Наименование = СтрокаПоиска; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
11
AugustBlack
13.09.12
✎
12:14
|
т.е что я хочу спросить как по синониму в метаданных объект найти? наименование вытащить неоткуда
|
|||
12
AugustBlack
13.09.12
✎
12:16
|
епт это получается что все объекты с типом справочник перебирать, сравнить их свойство "Синоним" с моим
|
|||
13
Reset
13.09.12
✎
13:00
|
(12) А синоним откуда берется? Оттуда же и имя. Только не говори что порльзователь вводит ;)
|
|||
14
Reset
13.09.12
✎
13:02
|
Т.е. Строка.ВидСубконто.Метаданные().Имя
|
|||
15
Reset
13.09.12
✎
13:03
|
Хотя я опять видимо тему не прочитал
|
|||
16
Reset
13.09.12
✎
13:12
|
Вот так можно определить, является ли НекоеЗначениеЛюбогоТипа ссылкой либо объектом любого справочника
ЭтоСправочник=Метаданные.Справочники.Найти(Метаданные.НайтиПоТипу(ТипЗнч(НекоеЗначениеЛюбогоТипа)))<>Неопределено; |
|||
17
AugustBlack
13.09.12
✎
13:15
|
(16) спасибо, но я поиск по синониму так сделал
Функция ПоискСправочникиПоСинониму(Синоним) Мета = Неопределено; Для Каждого Спр Из Метаданные.Справочники Цикл Если Спр.Синоним = Синоним Тогда Мета = Спр; КонецЕсли КонецЦикла; Возврат Мета; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |