Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

1с 83 выбрать последний договор у всех контрагентов

1с 83 выбрать последний договор у всех контрагентов
Я
   buketovav
 
30.01.20 - 16:16
Добрый день, Дорогие Форумчане!
Что-то я совсем голову сломал: как выбрать у всех контрагентов последний договор?
ДОговор - справочник. В договоре есть дата. Регистров сведений с этими данными нет.
Делал одну таблицу с максимумом по дате и вторую с максимумом по ссылке, но это не работает.
Подскажите или поделитесь кодом рабочим.
Заранее благодарю
   Timon1405
 
1 - 30.01.20 - 16:17
поделитесь нерабочим кодом, будет видно что именно не получается
   dka80
 
2 - 30.01.20 - 16:18
Выбрать Ссылка, максимум(дата) 
Поместить ВТ
из договоры группировать по ссылка
;
Выбрать ссылка из Договоры
Внутреннее соединение ВТ
По договоры.Дата=ВТ.Дата И Договоры.Ссылка=ВТ.ССылка
   buketovav
 
3 - 30.01.20 - 16:23
(1) аналогично хотел выбрать последние приобретения товаров услуг

ВЫБРАТЬ
    МАКСИМУМ(ПриобретениеТоваровУслугТовары.Ссылка.Дата) КАК Дата,
    ПриобретениеТоваровУслугТовары.Ссылка КАК ПТУ
ПОМЕСТИТЬ ВТ_ПТУДатаМаксимум
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
ГДЕ
    ПриобретениеТоваровУслугТовары.Ссылка.Дата <= &ДатаОтчета

СГРУППИРОВАТЬ ПО
    ПриобретениеТоваровУслугТовары.Ссылка
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    МАКСИМУМ(ПриобретениеТоваровУслугТовары.Ссылка) КАК ПТУ2,
    ПриобретениеТоваровУслугТовары.Ссылка.Дата КАК Дата
ИЗ
    ВТ_ПТУДатаМаксимум КАК ВТ_ПТУДатаМаксимум
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
        ПО ВТ_ПТУДатаМаксимум.ПТУ = ПриобретениеТоваровУслугТовары.Ссылка
            И ВТ_ПТУДатаМаксимум.Дата = ПриобретениеТоваровУслугТовары.Ссылка.Дата

СГРУППИРОВАТЬ ПО
    ПриобретениеТоваровУслугТовары.Ссылка.Дата
   buketovav
 
4 - 30.01.20 - 16:25
по ПриобретениюТоваровУслуг хотел получить последнюю закупочную цену
   dka80
 
5 - 30.01.20 - 16:28
(3) теперь человеческим языком напиши, что ты выбираешь в первом запросе, а что во втором.
Потому что в первом запросе у тебя фигня, и как следствие во втором тоже
   buketovav
 
6 - 30.01.20 - 16:31
брал пример (кажется) из Радченко и хотел реализовтаь что-то подобное для своих целей

ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура, 
    МАКСИМУМ(ТоварыНаСкладах.Регистратор) КАК Регистратор 
ИЗ 
    (ВЫБРАТЬ 
        ТоварыНаСкладах.Номенклатура КАК Номенклатура, 
        МАКСИМУМ(ТоварыНаСкладах.Период) КАК Период 
    ИЗ 
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах 
    ГДЕ 
        ТоварыНаСкладах.Период <= &ДатаОтчета И (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) 
    СГРУППИРОВАТЬ ПО 
        ТоварыНаСкладах.Номенклатура 
    ) КАК ВложенныйЗапрос 
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах 
    ПО 
        ВложенныйЗапрос.Номенклатура = ТоварыНаСкладах.Номенклатура И ВложенныйЗапрос.Период = ТоварыНаСкладах.Период 
ГДЕ 
    (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) 
СГРУППИРОВАТЬ ПО 
    ВложенныйЗапрос.Номенклатура
   buketovav
 
7 - 30.01.20 - 16:32
(5) вот и спрашиваю у Вас всех, как сделать правильно
   hhhh
 
8 - 30.01.20 - 16:34
(7) как в (2) пробуй
   Масянька
 
9 - 30.01.20 - 16:35
(6) Ну, написано же "человеческим языком"!
Словами, пальцами (а, нет, пальцев не видно) :)
   unenu
 
10 - 30.01.20 - 16:35
   buketovav
 
11 - 30.01.20 - 16:43
(9) не совсем понял, что Вы хотели этим сказать, поясните, пожалуйста
   buketovav
 
12 - 30.01.20 - 16:43
(10) спасибо, почитаю
   unenu
 
13 - 30.01.20 - 16:45
(11) женская логика прост, может у нее суп закипел или еще чего
   Масянька
 
14 - 30.01.20 - 16:47
(11) В (5) написано "теперь человеческим языком напиши, что ты выбираешь в первом запросе, а что во втором. ".
А в (6) запрос.
(13) Про женскую логику говорят все и везде. Про мужскую молчат... А есть ли она?
   dka80
 
15 - 30.01.20 - 16:50
(7) ты скажи, что ты хочешь в первом запросе выбрать? Я вот вижу, что в первом запросе у тебя выбираются все документы с датой меньше заданной и выбирается максимальная дата из все документов.
Т.е. из исходных данных
Реализация1  01.01.2019
Реализация2  01.02.2019
Реализация3  01.03.2019

у тебя будет результат

Реализация1  01.03.2019
Реализация2  01.03.2019
Реализация3  01.03.2019

Зачем он тебе?
   unregistered
 
16 - 30.01.20 - 16:52
Выбрать Владелец КАК Владелец, максимум(дата) 
Поместить ВТ
из договоры группировать по Владелец
;
Выбрать ВТ.Владелец КАК Контрагент, ссылка КАК Договор из Договоры
Внутреннее соединение ВТ
По договоры.Дата = ВТ.Дата И Договоры.Владелец = ВТ.Владелец


Если у контрагента договоров с одинаковой датой может быть несколько, то придется еще и по МАКСИМУМ(ссылка) группировать, чтобы отобрать только один договор для контрагента.
   dka80
 
17 - 30.01.20 - 16:52
если ты хочешь получить последнюю закупочную цену, то тебе надо найти последний документ поступления КОНКРЕТНОЙ НОМЕНКЛАТУРЫ, а из него найти уже цену.
   D_E_S_131
 
18 - 30.01.20 - 17:28
Что-то тема началась с "Договора, у которого есть дата", а уже из ТЧ документа "ПриобретениеТоваровУслуг" данные выбирают. Как так? :)
   buketovav
 
19 - 31.01.20 - 09:22
(18) да не, тема в том, чтобы выбрать последние данные, если нет у тебя регистров сведений необходимых
   DrWatson
 
20 - 31.01.20 - 09:32
(19) Тема разве не закрыта? В (16) написали же все.
Насчет регистров сведений - ты знаешь, что он просто хранит данные почти так же как справочник? Когда ты пишешь СрезПоследних, то платформа за тебя генерирует текст запроса с обычной выборкой и группировкой. Т.е. иметь РС не обязательно, это можно сделать самому. Разница только в скорости работы на очень больших объёмах.
   buketovav
 
21 - 31.01.20 - 20:56
(20) да, все получилось, спасибо


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.