Имя: Пароль:
1C
1С v8
Как исключить в запросе пересчитываемый документ (исходный), если такой имеется?
0 makkut
 
02.10.18
07:59
Делаю запросОплатаПраздничныхИвыходныхДней, необходимо вывести данные с документов . Есть документы которые исправлены с прошлых периодов. Мне необходимо вывести данные по такому условию если есть исправления  (исправленный документ) то взять данные по нему если нет исправлений то с исходного.
Подскажите как это реализовать?
1 Мимохожий Однако
 
02.10.18
08:05
(0) Начни с себя-выложи текст запроса с комментариями
2 makkut
 
02.10.18
08:10
(1)

ВЫБРАТЬ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода
......
            
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка
ИЗ
    Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций.Начисления КАК ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления
ГДЕ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.Проведен = ИСТИНА
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода МЕЖДУ &ДатаНачала И &ДатаКонца
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сторно = ЛОЖЬ (тут отсекаю строки сторнирования)

Получается остаются строки со старого документа и нового
3 makkut
 
02.10.18
08:11
(2) нужно исключить строки старого документа если есть документ пересчета
4 Мимохожий Однако
 
02.10.18
08:13
В пакетном запросе отбери документы ОплатаПраздничныхИВыходныхДнейОрганизаций, которые попадают в документы пересчета и в запросе добавь условие не входить в этот список
5 makkut
 
02.10.18
09:24
(4)
ВЫБРАТЬ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка
ПОМЕСТИТЬ пакет1
ИЗ
    Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций.Начисления КАК ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления
ГДЕ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.Проведен = ИСТИНА
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник = &Сотрудник
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода МЕЖДУ &ДатаНачала И &ДатаКонца
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сторно = ЛОЖЬ
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент <> &Пусто
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка КАК Ссылка1
ИЗ
    пакет1 КАК пакет1,
    Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций.Начисления КАК ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления
ГДЕ
    НЕ пакет1.Ссылка В (ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка) ТУТ ЧТО ТО НЕ ТАК СДЕЛАЛ СТРОКИ ЗАДВАИВАЕТ
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода МЕЖДУ &ДатаНачала И &ДатаКонца
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сторно = ЛОЖЬ
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник = &Сотрудник
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.Проведен = ИСТИНА
6 makkut
 
02.10.18
11:05
(4) все вроде бы ничего но когда из первого запроса пустой список во втором пустой список, а если есть хотя бы 1 документ то все норм

ВЫБРАТЬ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент
ПОМЕСТИТЬ пакет1
ИЗ
    Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций.Начисления КАК ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления
ГДЕ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.Проведен = ИСТИНА
    //И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник = &Сотрудник
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода МЕЖДУ &ДатаНачала И &ДатаКонца
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сторно = ЛОЖЬ
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент <> &Пусто
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ВидРасчета
ИЗ
    пакет1 КАК пакет1,
    Документ.ОплатаПраздничныхИВыходныхДнейОрганизаций.Начисления КАК ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления
ГДЕ
    НЕ пакет1.ПерерассчитываемыйДокумент В (ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка)И
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода МЕЖДУ &ДатаНачала И &ДатаКонца
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка.Проведен = ИСТИНА
    //И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник = &Сотрудник
    И ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сторно = ЛОЖЬ

СГРУППИРОВАТЬ ПО
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Ссылка,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.Сотрудник,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ДатаВыхода,
    ОплатаПраздничныхИВыходныхДнейОрганизацийНачисления.ВидРасчета
7 Chameleon1980
 
02.10.18
11:07
А точно из документов то нужно брать?
движений нет?
8 makkut
 
02.10.18
11:25
(7) нужны даты , дни
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.