Группа: Основатель
Сообщений: 13983
Из: Киев
Спасибо сказали: 4553 раз
Рейтинг: 3682.7
Если Метаданные.Справочники.Найти(МетаданныеИЗТЗ) = Неопределено И Метаданные.Документы.Найти(МетаданныеИЗТЗ) = Неопределено Тогда // Строка подлежит удалению КонецЕсли;
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Запросом, к сожалению, а может - к счастью, не получается - "Тип не может быть выбран в запросе", а красивое и правильное решение в обход данной ошибки не придумалось. А "Метаданные.Справочники.Содержит(МетаданныеИЗТЗ) = Неопределено" - это решение, спасибо!
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Да какой тут код может быть, когда вся задача из двух строк(?)
Запрос= новый Запрос; Запрос.Текст= "ВЫБРАТЬ | * |ПОМЕСТИТЬ ВТ_ТЗ |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | 1 КАК ЧЧ"; Запрос.УстановитьПараметр("ТЗ", НайтиПоСсылкам(МассивСсылок)); Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
Кхм... кажется - проблема ясна Либо задачу не читаем, либо подразумеваем известным, и потому не освещаем, способ приведения ТЗ из НайтиПоСсылка(...) к ТЗ с типизированными колонками за сложность, не превышающую полный перебор этой самой ТЗ циклом. ?
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
ТЗ = НайтиПоСсылкам(МассивСсылок); Если ТЗ.Количество() Тогда Запрос= новый Запрос; МВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МВТ; Запрос.Текст= "ВЫБРАТЬ * ПОМЕСТИТЬ ВТ ИЗ ТЗ КАК ТЗ"; Запрос.УстановитьПараметр("ТЗ", ТЗ); Запрос.Выполнить();
Запрос.Текст = "ВЫБРАТЬ 1 КАК ЧЧ"; Запрос.Выполнить().Выгрузить().ВыбратьСтроку(); Иначе Сообщить("В ТЗ нифига нет, поэтому запрос выполнять бессмысленно"); КонецЕсли
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
МВТ = Новый МенеджерВременныхТаблиц;
От этой строки колонки ТЗ не становятся типизированными.
Косяк в самой возвращаемой ТЗ. Если отладчиком смотреть тип колонки, то там описание типов присутствует, но как получить состав описанных типов колонки - я не разобрался. Может, кстати, знаете?
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 0 раз
Рейтинг: 0
Итогом изысканий решение пришло на 6 секунд, взамен 32-ух при полном переборе от Vofka, который, в свою очередь, отправил в утиль тупой 17-ти минутный неправильный полный перебор:
ТЗ.Колонки.Добавить("Данные1", Новый ОписаниеТипов(Справочники.ТипВсеСсылки(), Документы.ТипВсеСсылки().Типы())); ТЗ.ЗагрузитьКолонку(ТЗ.ВыгрузитьКолонку("Данные"), "Данные1"); ТЗ.Свернуть("Данные1"); МассУд= ТЗ.НайтиСтроки(новый Структура("Данные1", Неопределено)); Для каждого Эл из МассУд Цикл ТЗ.Удалить(Эл); КонецЦикла;
ТЗ действительно работает ооочень быстро! 1С не обманывает, с чем всех и поздравляю! Всем спасибо!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!