Имя: Пароль:
1C
1С v8
КД 2.1 Перенос справочников ограничено списком
0 spiller26
 
02.04.24
10:59
Где ограничить выгружаемые справочники запросом?
Допустим спр.ФизическиеЛица запросом отобрать тех, которые работают с определенной даты и по сегоднешний день.
1 OldCondom
 
02.04.24
11:21
В ПВД запросом описать
2 spiller26
 
02.04.24
11:39
(1) Сделал ПВД:
СпособВыборки = Произвольный алгоритм
ПравилоКонвертации = ФизическиеЛица

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

В ПКО объекта, нужно что либо ещё?
3 OldCondom
 
02.04.24
11:51
Нет, выгружаться будут только выбранные тобой документы
4 spiller26
 
02.04.24
12:18
(3) Почему-то выгружается только один из 50-ти.
5 Гена
 
02.04.24
12:23
(4) потому что у Вас для периодов работы ДатаНачала >= 01.01.2024, т.е. будут выгружаться только свежепринятые сотрудники в текущем году.
6 spiller26
 
02.04.24
13:26
Всё разобрался вот в ПВД только нужно написать

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

Пока РезультатЗапроса.Следующий() Цикл
    ВыгрузитьПоПравилу(РезультатЗапроса.Ссылка, , , , "ФизическиеЛица");
КонецЦикла;
7 spiller26
 
02.04.24
13:26
(5) Так и нужно
8 spiller26
 
02.04.24
13:26
(7) Парметром сделаю потом
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший