Имя: Пароль:
1C
 
Срез последних непериодического регистра сведений
↓ (Волшебник 27.04.2024 10:58)
0 NIGHTHUNTER
 
26.04.24
14:48
Как выбрать срез последних не периодического регистра сведений, подчиненного регистратору ?
1 Волшебник
 
26.04.24
14:48
у него нет среза последних
2 NIGHTHUNTER
 
26.04.24
14:50
(1) Это понятно. Но нужно выбрать последнюю сумму по последней дате регистратора. Пока если их две, выбирается две. Как выбрать только последнюю?
3 Кондер
 
26.04.24
14:52
выбрать первую 1 при сортировке по дате регистратора
4 Волшебник
 
26.04.24
15:24
(3) Вы ему сейчас мозг сломаете, потом сами чинить будете
5 maxab72
 
26.04.24
15:52
Почему в запросе 1С есть агрегатные функции МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, а нет ЛУЧШЕЕ, ХУДШЕЕ и ЛЮБОЕ...
6 Кондер
 
26.04.24
15:55
(5) Потому что могут быть только существительные, а вы тулите прилагательные
7 Garykom
 
26.04.24
15:55
(5) потому что ЛУЧШЕЕ и ХУДШЕЕ надо самому описывать языком запросов
а насчет ЛЮБОЕ ты не прав! оно есть! достаточно никакого условия не накладывать и без сортировки
8 Волшебник
 
26.04.24
16:00
(5) Потому что это нравственные понятия, которые не используются в бизнес-программировании. Мы же деньги зарабатываем, а не лайки собираем.
9 maxab72
 
26.04.24
16:01
(6) "СРЕДНЕЕ" существительное? тогда "ДВЕРЬ" прилагательное, ибо к своему месту приложена...
10 maxab72
 
26.04.24
16:06
(8) Значит "СРЕДНЕЕ" и "МАКСИМУМ" это понятия безнравственные... А когда покупатель спрашивает "дайте лучшую цену", он тоже лайки зарабатывает.
11 Волшебник
 
26.04.24
16:07
(10) Не просто безнравственные, а аморальные. Это ещё хуже, чем безнравственные.
12 Кондер
 
26.04.24
16:08
(9) СРЕДНЕЕ - Это опечатка
13 maxab72
 
26.04.24
16:12
Кстати, недавно, с месяц назад, с внучкой проходили виды средних, и сейчас подумалось: среднее арифметическое в расчетах используется постоянно, среднее квадратичное - маркетологи используют для учета отклонений и колебаний, а для каких-либо учетных задач нужны среднее геометрическое и среднее гармоническое?
14 Кондер
 
26.04.24
16:16
(13) Ну среднее гармоническое это из названия и так понятно
15 yopQua
 
26.04.24
16:34
(0) можно выбрать максимум по дате регистратора, поместить в вт, потом опять выборка из регистра, уже со связкой с вт и соединением по дате регистратора + если надо еще поля связи
можно сортировать по дате и выбрать первые 1
что из этого подходит больше
написали уже и то и то, но одно неявно

ладно вам стебаться, там похоже серьезно все
16 d4rkmesa
 
26.04.24
16:47
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних(...)
17 NIGHTHUNTER
 
27.04.24
06:13
Подскажите пожалуйста если можно по запросу.
Никак не соображу как это сделать.
Необходимо что бы в первом запросе объединения, выбирались документы с последней датой.


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    ГрафикОплатУслугПоАренде.Регистратор.Дата КАК РегистраторДата
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата,
    ГрафикОплатУслугПоАренде.УслугаПоАренде,
    ГрафикОплатУслугПоАренде.Регистратор.Дата

ОБЪЕДИНИТЬ ВСЕ

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

УПОРЯДОЧИТЬ ПО
    Договор,
    РегистраторДата УБЫВ
18 NIGHTHUNTER
 
27.04.24
06:17
Вот я добавляю функцию МАКСИМУМ.
Есть один договор где 2 документа, то есть 2 даты.
Я пробую выбрать максимальную. Последнюю.
То есть как срез последних. Но предыдущая дата, так же остается в запросе. Почему?

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата,
    ГрафикОплатУслугПоАренде.УслугаПоАренде

ОБЪЕДИНИТЬ ВСЕ

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

УПОРЯДОЧИТЬ ПО
    Договор,
    РегистраторДата УБЫВ
19 NIGHTHUNTER
 
27.04.24
06:26
20 lEvGl
 
27.04.24
06:32
группирует по различным вариациям Всех полей в выборке
значит есть поля с различными значениями в двух строках
21 NIGHTHUNTER
 
27.04.24
06:39
(20) В (19) видно, что есть даты 6 апреля и 10 апреля.
Наверное из за этого? Но эти даты нужны в выборке. Как тут быть? Или убрать это поле? Так как нужна будет все равно одна дата? Пытаюсь разобраться.
22 lEvGl
 
27.04.24
06:42
(21) да. сначала выборка максимум с группировкой, помещение этого в вт, потом выборка из регистра и притягивание из вт нужных данных
23 Гена
 
27.04.24
06:42
(20) т.е. Макс ошибочно внутри каждого рукава и сама себя из одного максирует? Тогда по логике сначала надо где-то рукава сохранить и только потом Макс.
24 lEvGl
 
27.04.24
06:49
ну да, для простоты надо взять один запрос, без объединения, довешивать потом
(23) или макс каждого рукава делать, потом объединять смотря что нужно, максимальная дата чего
25 NIGHTHUNTER
 
27.04.24
06:51
Изменил так, ввел &НачДата в первый запрос объединения. Но все равно максимум не работает.


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    &НачДата КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата,
    ГрафикОплатУслугПоАренде.УслугаПоАренде

ОБЪЕДИНИТЬ ВСЕ

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

УПОРЯДОЧИТЬ ПО
    Договор,
    РегистраторДата УБЫВ
26 NIGHTHUNTER
 
27.04.24
06:52
(22) Не совсем понимаю как, сразу не выбрать?
27 Гена
 
27.04.24
06:54
(24) Автор упорно не раскрывает конечную цель, но вроде как просматривается, что есть некий график дата/сумма и он хочет вывести из него последнюю дату. Если мы правильно поняли задачу, то алгоритм исполнения выбран неудачно, через задницу.
28 Гена
 
27.04.24
07:00
(26) Какая изначальная постановка задачи и её конечная цель?
29 NIGHTHUNTER
 
27.04.24
07:20
(22) Имелось ввиду наверное это


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    &НачДата КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    ГрафикОплатУслугПоАренде.Регистратор.Дата КАК РегистраторДата
ПОМЕСТИТЬ ВТ_УслугиПоАрендеСрезПоследних
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_УслугиПоАрендеСрезПоследних.Договор КАК Договор,
    ВТ_УслугиПоАрендеСрезПоследних.ДатаДоговора КАК ДатаДоговора,
    ВТ_УслугиПоАрендеСрезПоследних.Контрагент КАК Контрагент,
    ВТ_УслугиПоАрендеСрезПоследних.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ_УслугиПоАрендеСрезПоследних.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ_УслугиПоАрендеСрезПоследних.ДатаПлатежа КАК ДатаПлатежа,
    ВТ_УслугиПоАрендеСрезПоследних.Сумма КАК Сумма,
    МАКСИМУМ(ВТ_УслугиПоАрендеСрезПоследних.РегистраторДата) КАК РегистраторДата
ИЗ
    ВТ_УслугиПоАрендеСрезПоследних КАК ВТ_УслугиПоАрендеСрезПоследних

СГРУППИРОВАТЬ ПО
    ВТ_УслугиПоАрендеСрезПоследних.ДатаПлатежа,
    ВТ_УслугиПоАрендеСрезПоследних.Сумма,
    ВТ_УслугиПоАрендеСрезПоследних.Договор,
    ВТ_УслугиПоАрендеСрезПоследних.НомерИДатаДоговора,
    ВТ_УслугиПоАрендеСрезПоследних.ДатаДоговора,
    ВТ_УслугиПоАрендеСрезПоследних.СтатьяЗатрат,
    ВТ_УслугиПоАрендеСрезПоследних.Контрагент

УПОРЯДОЧИТЬ ПО
    ВТ_УслугиПоАрендеСрезПоследних.Договор.Наименование
30 lEvGl
 
27.04.24
07:49
(29) в простом случае: надо взять максимальную дату платежа по договору

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    Максимум(ГрафикОплатУслугПоАренде.Дата) КАК ДатаПлатежа
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата
СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор;

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    ГрафикОплатУслугПоАренде.Регистратор.Дата КАК РегистраторДата,
    ВТ.ДатаПлатежа
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ
По ГрафикОплатУслугПоАренде.Договор = ВТ.Договор
И ГрафикОплатУслугПоАренде.Дата = ВТ.ДатаПлатежа

это есть аналог среза последних. вопросы?
31 Волшебник
 
27.04.24
07:51
И зачем нужен последний платёж по аренде?...
32 lEvGl
 
27.04.24
07:59
Если мы правильно поняли задачу, то алгоритм исполнения выбран неудачно, через задницу.

это известно априори

Какая изначальная постановка задачи и её конечная цель? 

а это априори ну его, ненадо) таблиц две, что то с чем то сводится, сейчас выяснится, что объединять по смыслу эти данные нельзя и так далее
33 Гена
 
27.04.24
08:15
(32) Извините, но так нельзя работать. Это же тогда онанизм, а не программирование.
34 Irbis
 
27.04.24
08:25
(33) Иногда процесс важнее результата. Например, изготовление человеческих детёнышей
35 lEvGl
 
27.04.24
08:37
(33) согласен, нельзя, но бывает кому то можно
36 NIGHTHUNTER
 
27.04.24
09:19
Как я могу исправить вот этот запрос, что бы выбирался максимум? Тут, должна быть именно эта дата, -
ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
а не &НачДата, как я попробовал. Они различаются по этому не выбирается максимум. Можно ли это как то сделать?


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    ГрафикОплатУслугПоАренде.Регистратор.Дата КАК РегистраторДата
ПОМЕСТИТЬ ВТ_ГрафикОплатУслугПоАрендеСрезПоследних
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор КАК Договор,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаДоговора КАК ДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Контрагент КАК Контрагент,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаПлатежа КАК ДатаПлатежа,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Сумма КАК Сумма,
    МАКСИМУМ(ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.РегистраторДата) КАК РегистраторДата
ИЗ
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних КАК ВТ_ГрафикОплатУслугПоАрендеСрезПоследних

СГРУППИРОВАТЬ ПО
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Контрагент,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.СтатьяЗатрат,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.НомерИДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаПлатежа,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Сумма

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец,
    ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец.Дата,
    ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец.Контрагент,
    ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец.ХарактерДоговора,
    ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец.Номер + "\" + СТРОКА(ГрафикОплатКредитовИДепозитов.ВариантГрафика.Владелец.Дата),
    ГрафикОплатКредитовИДепозитов.Период,
    ГрафикОплатКредитовИДепозитов.Сумма + ГрафикОплатКредитовИДепозитов.Проценты,
    &КонДата
ИЗ
    РегистрСведений.ГрафикОплатКредитовИДепозитов КАК ГрафикОплатКредитовИДепозитов
ГДЕ
    ГрафикОплатКредитовИДепозитов.Период МЕЖДУ &НачДата И &КонДата
37 NIGHTHUNTER
 
27.04.24
09:22
Я не пойму как мне сделать (22) ? Можете подсказать по запросу? Учитывая что сейчас он такой (36).
38 NIGHTHUNTER
 
27.04.24
09:27
(27) Нужно выбрать срез последних по регистру сведений на дату документа. Не получается выбрать максимум так как в
ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа, разные даты.
В выборку попадают все значения, как и было.
39 NIGHTHUNTER
 
27.04.24
09:29
(20) Да есть, это
ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
но нужны именно эти различные даты. Как тогда тут мне выбрать запись с максимальной датой регистратора?
40 lEvGl
 
27.04.24
09:33
из первого запроса надо убрать все лишнее, оставить только то, по чем надо посчитать последнюю дату, поместить в вт и во втором запросе обозначить связь с этой вт. кхм во так

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    Максимум(ГрафикОплатУслугПоАренде.Дата) КАК ДатаПлатежа
Поместить ВТ
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата
СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата);

ВЫБРАТЬ
    ВТ.Договор КАК Договор,
    ВТ.ДатаДоговора КАК ДатаДоговора,
    ВТ.Контрагент КАК Контрагент,
    ВТ.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ.ДатаПлатежа КАК ДатаПлатежа,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК Сумма,
    ГрафикОплатУслугПоАренде.Регистратор.Дата КАК РегистраторДата
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ
    По ГрафикОплатУслугПоАренде.Договор = ВТ.Договор

а второй запрос после Объеденить уберите пока. Что получилось?
41 lEvGl
 
27.04.24
09:35
(37) там написано Сначала Максимум и помещение в ВТ, а потом выборка из регистра и вт. Где у вас в первом запросе, который помещается в ВТ, Максимум, почему его нет?
42 Гена
 
27.04.24
09:35
(38) Нужно выбрать срез последних по регистру сведений на дату документа

Вы же сами выше сказали, что РС независимый. Ну какой документ? Когда кто-то вручную справочник заполнял?
43 lEvGl
 
27.04.24
09:36
аа регистратора, ну это я уже залип
44 NIGHTHUNTER
 
27.04.24
09:41
(42) выяснилось что этот регистр подчинен регистратору.
А что идет через объединить, независимый. Я думал они оба независимые.
45 NIGHTHUNTER
 
27.04.24
09:43
(40) Тут у вас максимум берется из
    Максимум(ГрафикОплатУслугПоАренде.Дата) КАК ДатаПлатежа
А максимум должен браться из
МАКСИМУМ(ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.РегистраторДата) КАК РегистраторДата

мне кажется что не верное берется максимум в (40).
46 NIGHTHUNTER
 
27.04.24
09:44
(40) Точнее вот от сюда должен браться максимум

    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
47 2S
 
27.04.24
09:47
(44) два дня, чтобы узнать подчинение регистратору 🤦
48 lEvGl
 
27.04.24
09:50
(46) вот-вот-вот давай-давай, вперед, пиши
49 NIGHTHUNTER
 
27.04.24
09:59
(48) Я попробовал сделать вот так. Как считал правильно по логике, но выбралась какая то ерунда (((. Не подскажете как это можно подправить, что бы попробовать выборку?

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ПОМЕСТИТЬ ВТ_ГрафикОплатУслугПоАрендеСрезПоследних
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор КАК Договор,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаДоговора КАК ДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Контрагент КАК Контрагент,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаПлатежа КАК ДатаПлатежа,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.РегистраторДата КАК РегистраторДата,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК УслугаПоАренде
ИЗ
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних КАК ВТ_ГрафикОплатУслугПоАрендеСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
        ПО ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор = ГрафикОплатУслугПоАренде.Договор
50 ptiz
 
27.04.24
10:03
(13) Иногда требуется "среднее, вычисленное через зад, так как именно это захотел фин.отдел"
51 NIGHTHUNTER
 
27.04.24
10:06
Изменил вот так, но в выборке нет того договора, по которому я пытаюсь отследить правильность отбора по максимальной дате регистратора. И так же в выборке всякая ерунда. Можно ли ее дорабатывать далее? Или небудет ничего?


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ПОМЕСТИТЬ ВТ_ГрафикОплатУслугПоАрендеСрезПоследних
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор КАК Договор,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаДоговора КАК ДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Контрагент КАК Контрагент,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.ДатаПлатежа КАК ДатаПлатежа,
    ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.РегистраторДата КАК РегистраторДата,
    ГрафикОплатУслугПоАренде.УслугаПоАренде КАК УслугаПоАренде
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГрафикОплатУслугПоАрендеСрезПоследних КАК ВТ_ГрафикОплатУслугПоАрендеСрезПоследних
        ПО ГрафикОплатУслугПоАренде.Договор = ВТ_ГрафикОплатУслугПоАрендеСрезПоследних.Договор
52 lodger
 
27.04.24
10:08
(47) может криво мысль придумал. в (0) было сразу обозначено подчинение регу.
53 Гена
 
27.04.24
10:15
(50) Финики все такие, хуже сисов. Сисы просто отмороженные на всю голову, а финики - как есть либералы, бербоки и шольцы. Врут в каждом слове и сами понимают что врут.

Я как-то не выдержал и обложил такого, да не просто обложил, а публично, при всём его отделе, в открытую. Минуты три и сплошным матом - не вру! Причём ни разу не повторился )

Он потом целый год ходил по верхам чтоб меня уволили )
54 NIGHTHUNTER
 
27.04.24
10:15
Вот в этой выборке задвоенное значение по дате регистратора. По договору по которому я проверяю выборку. То есть мне не выбрать максимум?

ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ПОМЕСТИТЬ ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата),
    ГрафикОплатУслугПоАренде.Дата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.Договор КАК Договор,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.ДатаДоговора КАК ДатаДоговора,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.Контрагент КАК Контрагент,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.СтатьяЗатрат КАК СтатьяЗатрат,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.НомерИДатаДоговора КАК НомерИДатаДоговора,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.ДатаПлатежа КАК ДатаПлатежа,
    МАКСИМУМ(ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.РегистраторДата) КАК РегистраторДата
ИЗ
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде КАК ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде

СГРУППИРОВАТЬ ПО
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.Договор,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.ДатаДоговора,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.Контрагент,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.СтатьяЗатрат,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.НомерИДатаДоговора,
    ВТ_СрезПоследнихГрафикНачисленийУслугПоАренде.ДатаПлатежа
55 NIGHTHUNTER
 
27.04.24
10:25
вот тут выбирается максимум, потому что я убрал
  ГрафикОплатУслугПоАренде.Дата КАК ДатаПлатежа,
как мне тепери ее получить эту дату?


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата)
56 NIGHTHUNTER
 
27.04.24
10:34
Первый раз увидел в выборке подходящий мне результат.
Можно ли это использовать? Не будет ли искажений в выборках?


ВЫБРАТЬ
    ГрафикОплатУслугПоАренде.Договор КАК Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата КАК ДатаДоговора,
    ГрафикОплатУслугПоАренде.Договор.Контрагент КАК Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора КАК СтатьяЗатрат,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата) КАК НомерИДатаДоговора,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата,
    МИНИМУМ(ГрафикОплатУслугПоАренде.Дата) КАК Дата,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.УслугаПоАренде)
ИЗ
    РегистрСведений.ГрафикОплатУслугПоАренде КАК ГрафикОплатУслугПоАренде
ГДЕ
    ГрафикОплатУслугПоАренде.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ГрафикОплатУслугПоАренде.Договор,
    ГрафикОплатУслугПоАренде.Договор.Дата,
    ГрафикОплатУслугПоАренде.Договор.Контрагент,
    ГрафикОплатУслугПоАренде.Договор.ХарактерДоговора,
    ГрафикОплатУслугПоАренде.Договор.Номер + "\" + СТРОКА(ГрафикОплатУслугПоАренде.Договор.Дата)
57 lEvGl
 
27.04.24
10:54
будет
58 NIGHTHUNTER
 
27.04.24
10:56
(57) Как мне сделать что бы не было искажений?
59 NIGHTHUNTER
 
27.04.24
10:58
(57) Что именно будет? Я выбрал срез последних.
А остальные функции, относительные. Что бы поля попали в выборку только.


МАКСИМУМ(ГрафикОплатУслугПоАренде.Регистратор.Дата) КАК РегистраторДата,
    МИНИМУМ(ГрафикОплатУслугПоАренде.Дата) КАК Дата,
    МАКСИМУМ(ГрафикОплатУслугПоАренде.УслугаПоАренде)
60 Волшебник
 
27.04.24
10:58
бессмысленные запросы
61 NIGHTHUNTER
 
27.04.24
11:53
(57) Почему у меня не заработала предложенная вами технология написания выборки?
62 lEvGl
 
27.04.24
12:05
(61) расскажите, в чем заключается технология получения среза последних из непериодического регистра, как вы ее понимаете? на словах
63 NIGHTHUNTER
 
27.04.24
12:19
(62) Поставлена задача для разработки отчетов.
Это выборка для первого из них. Мне показали, что есть документы. И данные нужно брать из последнего.
Явно в отчете, по одному договору, есть запись сделанная в одним документом. есть сделанная другим. и обе суммы вывелись в отчет. От той которая сделана ранее нужно избавиться. такая была постановка. Я посмотрел структуру данных, и понял, что мне нужно сделать срез последних. Так я его назвал. И начал разбираться. пока вот такой я владею информацией, и понимаю что несколько запутался. И мне нужно утро нового дня. что бы более активно позаниматься данной задачей. Так как в данный момент понимаю что силы на исходе. Спрашиваю что могу тут.
64 lEvGl
 
27.04.24
12:33
(63) я спрашивал о технологии, которая используется в примерах запросов в этом топике вроде (30)(40), там одно и тоже, принцип один тот же, вот как вы этот принцип понимаете

конкретно по задаче
От той которая сделана ранее нужно избавиться. такая была постановка

избавиться нужно от всей строки или строка должна остаться (в ней же другая дата.. дата чего-то), но в ней должна быть последняя сумма?
65 NIGHTHUNTER
 
27.04.24
20:10
Да все там ништяк пацаны!!!
Кому не в падлу помогите просто и все!
66 Сергиус
 
01.05.24
05:09
(2)В два запроса. Первым выбираешь Регистратор с Макс датой. 2-м уже соединяешь по ней.
67 NIGHTHUNTER
 
03.05.24
08:36
(66) А что именно соединяю? Как то не сильно дается в понимании.