Исключить группы после выполнения запроса метаданных
☑
0
_leon4uk_
22.12.15
✎
13:31
Задача: необходимо получить ПОСЛЕДНИЙ ЭЛЕМЕНТ по коду справочника. Если нет кода - любой ЭЛЕМЕНТ.
Не получается сделать уникальность, т.к. существуют справочники, у которых нет кода.
Пока делаю так:
Процедура ПолученияПоследнегоПоКодуЭлемента()
СписокСправочников.Очистить();
Для Каждого Спр из Метаданные.Справочники Цикл
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| Справочник.Ссылка Как Ссылка
|ИЗ
| Справочник."+ Спр.Имя+ " КАК Справочник
|УПОРЯДОЧИТЬ ПО
|Ссылка УБЫВ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество()=1 Тогда //если справочник совсем пуст
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Попытка
ОткрытиеЗаписьЗакрытиеФормыСправочника(ВыборкаДетальныеЗаписи.Ссылка, спр); //здесь открывается форма, перезаписывается элемент, закрывается форма
ТЗ=СписокСправочников.Добавить();
ТЗ.КакВКонфигураторе = Спр.Имя;
ТЗ.НаименованиеСправочника = Спр.Синоним;
Тз.Код = ВыборкаДетальныеЗаписи.Ссылка.Код;
Тз.Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
Тз.Перезаписан=Истина;
Исключение
ТЗ=СписокСправочников.Добавить();
ТЗ.КакВКонфигураторе = Спр.Имя;
ТЗ.НаименованиеСправочника = Спр.Синоним;
Тз.Код = ВыборкаДетальныеЗаписи.Ссылка.Код;
Тз.Ссылка = ВыборкаДетальныеЗаписи.Ссылка;
Тз.Перезаписан=Ложь;
Тз.Ошибка = ОписаниеОшибки();
КонецПопытки;
КонецЦикла;
Иначе
ТЗ=СписокСправочников.Добавить();
ТЗ.КакВКонфигураторе = Спр.Имя;
ТЗ.НаименованиеСправочника = Спр.Синоним;
Тз.Перезаписан=Ложь;
Тз.Ошибка = "Справочник не содержит элементов.";
КонецЕсли;
КонецЦикла;
СписокСправочников.Сортировать("НаименованиеСправочника",+);
КонецПроцедуры
1
Fannasankh
22.12.15
✎
13:36
Проверяй до запроса через попытку есть ли реквизит код, а в зависимости от этого получай 1 элемент с последний кодом или любой
2
_leon4uk_
22.12.15
✎
13:44
(1) код может быть и у группы.
мне нужно исключить группы.
3
butterbean
22.12.15
✎
13:48
(2) НЕ ЭтоГруппа
4
_leon4uk_
22.12.15
✎
13:51
(3) запрос не выполнится, если в каком-либо справочнике нет группы.
5
butterbean
22.12.15
✎
13:52
(4) ну проверяй есть ли иерархия у справочника, какие проблемы?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший