Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 16:30
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отбор по максимальной дате  (Прочитано 4545 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн G13ma

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-28
  • Сайт: 
  • Профессия: Разработчик 1С
Добрый день.
Есть таблица вида
Сотрудник,Вид начисления,Сумма,Дата,КадровыйДокумент

соответственно в таблицу попадают все кадровые документы по сотруднику.

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

Пример результата во вложении

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

СГРУППИРОВАТЬ ПО
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Сотрудник,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка.Дата

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

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

СГРУППИРОВАТЬ ПО
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Сотрудник,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.ВидРасчета,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Показатель1,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка.Дата,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка

УПОРЯДОЧИТЬ ПО
    Сотрудник,
    Дата УБЫВ


Оффлайн pavl_vs

  • *****
  • Сообщений: 1070
  • РЕПУТАЦИЯ: 168
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
G13ma, используйте в запросе функцию МАКСИМУМ по дате;
примеров этого в интернете предостаточно - по-моему Вы поленились.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
должен оставаться последний из всех документов или только из документов одного вида?

просто те же данные (по идее, не утверждаю) можно получить из регистра ПлановыхНачислений.
а если взять СрезПоследних, то и получите последние документы...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн kolil

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-09-25
  • Сайт: 
  • Профессия: Программист 1С
Доброго дня. Попробуйте так:
ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ (
// Ваш запрос:
ВЫБРАТЬ
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Сотрудник КАК Сотрудник,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1 КАК Сумма,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка.Дата КАК Дата,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка КАК Документ
ИЗ
    Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
ГДЕ
    (ПриемНаРаботуВОрганизациюОсновныеНачисления.Сотрудник.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1)
            ИЛИ ПриемНаРаботуВОрганизациюОсновныеНачисления.Сотрудник.ДатаУвольнения > &Дата)

СГРУППИРОВАТЬ ПО
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Сотрудник,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка,
    ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка.Дата

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

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

СГРУППИРОВАТЬ ПО
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Сотрудник,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.ВидРасчета,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Показатель1,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка.Дата,
    КадровоеПеремещениеОрганизацийОсновныеНачисления.Ссылка

УПОРЯДОЧИТЬ ПО
    Сотрудник,
    Дата УБЫВ
) КАК ПоследнееПеремещение

Можно еще посмотреть решение с использованием функции РАЗНОСТЬДАТ() в запросе.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
kolil, так вы получите только 1 самый последний из всех документ!
а ему надо по каждому сотруднику последний документ...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн G13ma

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-28
  • Сайт: 
  • Профессия: Разработчик 1С
Из регистров сведений данные не получить, т.к. был перенос и не перенесли основные начисления по работникам, собственно для этого все и затевается, нужно взять последний кадровый документ по сотруднику и посмотреть вид и сумму начисления по сотруднику после чего добавить его в документ ВводПостоянныхНачисленийУдержанийРаботникаОрганизации.

Вышел из ситуации следующим образом создал таблицу со столбцами Сотрудник, МАКСИМУМ(Дата), и левое соединение по сотруднику и дате с первоначальной таблицей.


Теги:
 

Программный отбор в "Документы"

Автор SeolkinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4260
Последний ответ 06 Окт 2012, 18:08
от Seolkin
Отбор при "быстром выборе"

Автор Gregory78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3112
Последний ответ 15 Фев 2015, 12:13
от Gregory78
Дин.список отбор данных - не работает код при тех же данных

Автор Аля ТинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 133
Последний ответ 15 Дек 2017, 14:36
от alex0402
Отбор по номенклатуре в отчете "ВЕдомость выдачи мц"

Автор notaSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 2354
Последний ответ 08 Авг 2015, 15:40
от ppkmlite
Отключение кнопки "Отключить отбор" на панели формы списка документа

Автор AlterMannРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 10365
Последний ответ 13 Мар 2013, 09:41
от AlterMann

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
139 Сообщений
AIFrame
69 Сообщений
ilyay ilyay
65 Сообщений
alex0402
51 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
BuhRust
31 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 723
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal