Люди добрые может кто что подскажет. Конфигурация УТ 10.3 релиз от 11 года полностью переработана. В ней доработано версионирование объектов. И есть соответственно регистр "Версии объекта" там измерение "объект" который может быть как объект из справочника, так и документ. Вот и теперь вопрос, как мне сделать запрос и выбрать оттуда только все документы.
По теме из базы знаний
- Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)
- Функция ВыгрузитьПоПравилу - мощный инструмент расширения возможностей ваших правил конвертации. Конвертация данных 2.1
- Строковые отборы в 1С
- Обзор полезных методов БСП 3.1.4
- Регистрация изменений для обмена данными запросом
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Строить текст запроса в цикле типа
Явно не быстрый способ, но всё же )
Запрос = Новый Запрос();
Для Каждого Док ИЗ Метаданные.Документы Цикл
Запрос.текст = Запрос.текст + "ВЫбрать Т.Объект из регистрСведений.ВерсииОбъектов как Т Где Объект Ссылка Документ." + Док.Имя + " ОБЪЕДИНИТЬ ";
КонецЦикла;
Запрос.текст = Сред(Запрос.текст, 1, СТрдлина(Запрос.текст) -11); //убираем последнее слово "объединить"
ТабДокументов = Запрос.Выполнить().Выгрузить();
ПоказатьЯвно не быстрый способ, но всё же )
Можно выбрать конкретные документы используя оператор проверки ссылочного значение "ССЫЛКА". С указанием всех видов
И так далее по каждому типу.
...
ГДЕ ВерсииОбъектов.Объект ССЫЛКА Документ.СчетФактураВыданный
ИЛИ ВерсииОбъектов.Объект ССЫЛКА Документ.СчетФактураПолученный
...
И так далее по каждому типу.
Можно вот так попробовать сделать:
Смысл запроса: проверяем наличие реквизита, который есть только у документов. В данном запросе проверяем наличие поля "Проведен". Если оно есть, значит, это документ
ВЫБРАТЬ
ВерсииОбъектов.Объект,
ВерсииОбъектов.Объект.Проведен КАК Проведен
ПОМЕСТИТЬ ВтВерсии
ИЗ
РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВтВерсии.Объект,
ВЫБОР
КОГДА ВтВерсии.Проведен ЕСТЬ NULL
ТОГДА "Справочник"
ИНАЧЕ "Документ"
КОНЕЦ КАК ТипОбъекта
ИЗ
ВтВерсии КАК ВтВерсии
ПоказатьСмысл запроса: проверяем наличие реквизита, который есть только у документов. В данном запросе проверяем наличие поля "Проведен". Если оно есть, значит, это документ
(6) Консоль запросов "вешается" даже на первой части запроса, даже если отсечь по периодам... В то время как:
отрабатывает за секунды...
Лучше воспользоваться циклом как предлагает (4)
ВЫБРАТЬ
ВерсииОбъектов.Объект
ИЗ
РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
ВерсииОбъектов.Объект ССЫЛКА Документ.элдУсловияИзмерения
отрабатывает за секунды...
Лучше воспользоваться циклом как предлагает (4)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот