Имя: Пароль:
1C
1С v8
Дублирование Ключевых Значений
0 GoodDeiDie
 
05.08.21
11:00
Всем Привет!
Имею такой код
1 Василий Алибабаевич
 
05.08.21
11:02
Это конечно йес!
2 GoodDeiDie
 
05.08.21
11:02
ВЫБРАТЬ РАЗЛИЧНЫЕ
    АктуальныеЭСФ.СчетФактура.ДокументОснование КАК ДокументОснование,
    АктуальныеЭСФ.ЭСФ.Дата КАК ЭСФДата,
    АктуальныеЭСФ.СчетФактура.Дата КАК СчетФактураДата
ПОМЕСТИТЬ ЭСФ
ИЗ
    РегистрСведений.АктуальныеЭСФ КАК АктуальныеЭСФ
ГДЕ
    АктуальныеЭСФ.СчетФактура.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг

ИНДЕКСИРОВАТЬ ПО
    ДокументОснование,
    ЭСФДата,
    СчетФактураДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЭСФ.ДокументОснование КАК ДокументОснование,
    МАКСИМУМ(ЭСФ.СчетФактураДата) КАК СчетФактураДата
ПОМЕСТИТЬ ПервыеЭСФ
ИЗ
    ЭСФ КАК ЭСФ

СГРУППИРОВАТЬ ПО
    ЭСФ.ДокументОснование

ИНДЕКСИРОВАТЬ ПО
    СчетФактураДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЭСФ.ЭСФДата КАК ЭСФДата,
    ЭСФ.СчетФактураДата КАК СчетФактураДата,
    ПервыеЭСФ.ДокументОснование КАК ДокументОснование
ПОМЕСТИТЬ ДокументыЭСФ
ИЗ
    ЭСФ КАК ЭСФ
        ЛЕВОЕ СОЕДИНЕНИЕ ПервыеЭСФ КАК ПервыеЭСФ
        ПО ЭСФ.СчетФактураДата = ПервыеЭСФ.СчетФактураДата
;

У меня есть документ, реализацияТМЗ, у него два сф и эсф, я пытался убрать это этим запросом, но что то не получается, не подскажите в чем ошибаюсь?
3 Бишбармак
 
05.08.21
11:14
Убрать запросом из 1С не получится. Запрос это выборка (select). Он сам по себе не может менять данные.
4 GoodDeiDie
 
05.08.21
11:15
(3) Ну я в смысле, что бы выбирало только Тот документ, у которого сф Больше, а другой игнорировало и не выводило в список
5 GoodDeiDie
 
05.08.21
11:20
Вообще мой запрос изначально вот так выглядил

ВЫБРАТЬ РАЗЛИЧНЫЕ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    АктуальныеЭСФ.ЭСФ.Дата КАК ЭСФДата,
    АктуальныеЭСФ.СчетФактура.Дата КАК СчетФактураДата
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АктуальныеЭСФ КАК АктуальныеЭСФ
        ПО РеализацияТоваровУслуг.Ссылка = АктуальныеЭСФ.СчетФактура.ДокументОснование


Но, он дуплили это место, и выводил так

Реализация ТМЗ и услуг 00000000023 от 29.02.2020 14:22:18    02.03.2020 0:00:00    02.03.2020 0:00:00
Реализация ТМЗ и услуг 00000000023 от 29.02.2020 14:22:18    13.03.2020 0:00:00    29.02.2020 14:22:19

Запросом который Выше я пытался избежать такого выбора, и что бы выбрало только вторую строку, но я видимо чего то не понял
6 BeerHelpsMeWin
 
05.08.21
11:26
МАКСИМУМ(АктуальныеЭСФ.ЭСФ.Дата) КАК ЭСФДата,
7 GoodDeiDie
 
05.08.21
11:31
(6) Поле не входит в группу "РеализацияТоваровУслуг.Ссылка", Вычкакивает Такая ошибка
8 GoodDeiDie
 
05.08.21
11:46
(6) Сгруппировал и взял Максимум, но он все равно дублирует эти значения
9 GoodDeiDie
 
05.08.21
14:16
Вопрос решил, Просто в первом запросе надо было Внутренее соединение поставить, и связать по документу в последней таблице
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший