1

Запрос к регистру сведений "... ГДЕ ВРЕГ(ФизЛицо.Наименование) ИЗ ТаблЗначений"

#1С 8.3#1С Зарплата и кадры#Таблица значений

Всем привет ! Помогите правильно написать Запрос. Конфа: ЗП и Кадры; Дано: РегистрСведений.ФизЛица ФизЛицо.Наименование = “Иванов Петр АнатольевиЧ” Заполненая ТаблицаЗначений фамилиями Физических лиц ТаблЗначений.ФИО=“ИВАНОВ ПЕТР АНАТОЛЬЕВИЧ”

Нужно: написать запрос в который попадут только те ФизЛица, которые присутствуют в заполненной ТаблицеЗначений; Что то вроде: … ГДЕ ВРЕГ(ФизЛицо.Наименование) ИЗ ТаблЗначений; Но как правильно это написать ?! Тут без помощи старожилов не обойтись …

 1842 4
ДобавленоVitaly1C8627 дней назад
Последняя активность610 дней назад


Добавить комментарий

Кирилл написал:627 дней назад0

Вообще лучше искать по ссылке, если она есть в табличной части.

Если по ссылке никак, то по идее в запросе строки вида “СТРОКА” ПОДОБНО “строка” скорее всего будут равны Это зависит от СУБД, чаще всего регистр в запросах не играет роли. Надо проверить на вашей базе.

Примерный текст запроса:

ВЫБРАТЬ
    ТаблицаЗначений.ФИОФизЛица
ПОМЕСТИТЬ ВТ
ИЗ
    &ТаблицаЗначений КАК ТаблицаЗначений
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.ФИОФизЛица
ИЗ
    ВТ КАК ВТ
ГДЕ
    ВТ.ФИОФизЛица В
            (ВЫБРАТЬ
                РегистрСведений.ФизЛица.Наименование
            ИЗ
                РегистрСведений.ФИОФизЛиц)

Как поместить ТЗ в запрос - ссылка

Ответить

Vitaly1C8 написал:624 дня назад0

Спасибо за Инфу ! Начал пробовать столкнулся со следующей проблемой:

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
МенеджерВТ = Запрос.МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ
    | *
    | ПОМЕСТИТЬ ВТаб
    | ИЗ
    | &Таб КАК Таб";

Запрос.УстановитьПараметр("Таб", ТабСНИЛС);

РезультатЗапроса = Запрос.Выполнить(); 
Выборка = РезультатЗапроса.Выбрать();
ЗаписейВЗапросе1 = 0;
Пока Выборка.Следующий() Цикл
    // Сообщить(Выборка.ФИО);    // Пишет поле .ФИО не обнаружено
    ЗаписейВЗапросе1 = ЗаписейВЗапросе1 + 1;
КонецЦикла;
Сообщить("Записей в запросе1 := "+Строка(ЗаписейВЗапросе1));

В результате “Записей в запросе1 := 1”; Хотя если в режиме отладки смотрю Выборка.Количество = 1075 как и должно быть (1075 строк в ТабСНИЛС)

И ты был прав: преобразование ВРЕГ() не требуется, (“СТРОКА=сТрОкА”)

В итоге пришлось изменить код следующим образом: (извиняюсь за неточность в условии задачи ФизЛица это Справочник а не Регистр)

ВсеФИО = Новый Массив;
ВсеФИО.Добавить(ФИО);    // Формируем массив с ФИО выбираемых в запросе ФизЛиц

Запрос2 = Новый Запрос;
// Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос2.Текст =  "ВЫБРАТЬ
        | Справочник.ФизическиеЛица.Наименование КАК ФИО,
        | Справочник.ФизическиеЛица.Ссылка КАК Ссылка
        | ГДЕ
        | Справочник.ФизическиеЛица.Наименование В (&СписокФизЛиц)
        | Упорядочить ПО ФИО";
Запрос2.УстановитьПараметр("СписокФизЛиц", ВсеФИО);
РезультатЗапроса = Запрос2.Выполнить(); 
Выборка = РезультатЗапроса.Выбрать();
ЗаписейВЗапросе2 = 0;
Пока Выборка.Следующий() Цикл ...

Ответить

Кирилл написал:623 дня назад0

Ты немного некорректно используете помещение таблицы в запрос.

Его нужно поместить, потом добавить еще один запрос и использовать созданную временную таблицу во втором запросе, немного сложно, но так надо :)

В твоем случае будет так:

ВЫБРАТЬ
*
ПОМЕСТИТЬ ВТаб
ИЗ
&Таб КАК Таб
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    *
ИЗ
    ВТаб КАК ВТаб

Тогда заработает.

Ответить

Добавить комментарий

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Простой запрос к справочнику 1С 8.2

Привет Всем Начал изучать построение запросов в восьмерке, решил создать простой...

Помогите пожалуйста составить правильный запрос

в 1с есть таблица: номер цвет 1 красный 2 null 3 null 4 синий 5 null 6 белый 7 n...

Запрос к бухгалтерским итогам по месяцам

Привет Всем Столкнулся с такой задачей, нужно было составить запрос к бухгалтерс...

Запрос к регистру накопления выводит двойные записи

Добрый день. Из регистра накопления требуется выбрать начальный, конечный остатк...

Запрос, возрат поиск документа

Добрый день ребята. Такой вопрос, мне нужно написать запрос. Который бы брал из ...

Новое

Ошибка при выгрузке информационной базы

При выгрузке ИБ в конфигураторе возникает ошибка (Запись дампа и “Программа "1cv...

Vendita UGG, Ugg economici Pantofole Stivali Online

ugg boots per le donne ugg boots. [b][url=http://www.uggsmen.top/it/]ugg vendita...

Gioielli Pandora Uscita, Pandora gioielli a buon mercato a Pandora Jewelly deposito

Pandora Bracciali e collane per le donne Bracciali Pandora fai da te con charms ...

Donna Canada Goose Goose Parka Dawson Summit Rosa - €295.74 : orologi replica Omega, canadagooseonsale.top

canada - 2016il canada goosecanada - vest [b][url=http://www.canadagooseonsale.t...