1

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

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

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

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

 2172 4
ДобавленоVitaly1C8733 дня назад
Последняя активность716 дней назад


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

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

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

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

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

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

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

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

Ответить

Vitaly1C8 написал:731 день назад0

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

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

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

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

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

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

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

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

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

Ответить

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

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

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

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

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

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

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

Ответить

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

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

Наш канал на Youtube

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

Похожее

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

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

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

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

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

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

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

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

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

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

Новое

Расчет районного коэффициента в больничном листе

Добрый день! Очень нужна помощь! При расчете б/л не верно считает положительную ...

Отражение зарплаты в регламентирован ним учете

Использую Зуп 2.5 Потребовался отчёт для выборки данных по сотрудникам из докуме...

Возврат по картам по зарплате, в случае изменения реквизитов банка

По карте была перечислена зарплата, но платеж вернулся (изменились реквизиты бан...

Составление отчета

Здравствуйте!! Нужна помощь !!! что означает Ошибка получения информации набора ...

Не могу активировать настройку

Добрый день, скачал учебную версию 8.3 Захотел внести изменения в конфигурацию З...