Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Зарплата и управление персоналом 8]

Сделать оптимальный запрос: левое соединение только одного значения ближайшее к дате

gucci76
читатель
офлайн
Дата регистрации: 16.03.2008
Сообщений: 364
Пост №1
 
11.12.2012 15:43

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

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №2
 
11.12.2012 15:45

СрезПервых и СрезПоследних

gucci76
читатель
офлайн
Дата регистрации: 16.03.2008
Сообщений: 364
Пост №3
 
11.12.2012 15:47

Это как?<br>Я срезаю на ОсновнойРегистрСведений.ДатаДействия, а она всегда разная.<br>Я не знаю как в параметры добавить данные из другой таблицы (((((

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
11.12.2012 16:05

В 2 пакета надо делать.<br><br> - Определяешь самую раннюю или самую позднюю дату по сотруднику (функции минимум и максимум в группировке).<br> - Соединяешь с данными через связь максимальной (или минимальной даты) с датой данных.

gucci76
читатель
офлайн
Дата регистрации: 16.03.2008
Сообщений: 364
Пост №5
 
11.12.2012 16:10

> - Определяешь самую раннюю или самую позднюю дату по сотруднику (функции минимум и максимум в группировке).<br>Теоретически могут быть три даты на одного сотрудника. Как быть со средней датой тогда?<br> <br><br>> - Соединяешь с данными через связь максимальной (или минимальной даты) с датой данных.<br>А тут не понятно условие связи (((

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №6
 
11.12.2012 17:43

У тебя есть выборка<br> <br>Сотрудник | ДатаДействия<br> <br>в первом пакете получаешь<br> <br>Сотрудник | ДатаДействия | Дата1<br><span> </span> Дата2<br><span> </span> Дата3<br> <br>группируешь и получаешь<br> <br>Сотрудник | ДатаДействия | МинДата<br> <br>получаешь значения на минимальную дату<br> <br>Сотрудник | ДатаДействия | МинДата = ДатаN | Значение<br> <br>Вот вроде бы на пальцах расписал. Если и сейчас не понятно, то давай выкладывай структуру регистров и четкое описание задачи.

gucci76
читатель
офлайн
Дата регистрации: 16.03.2008
Сообщений: 364
Пост №7
 
12.12.2012 07:59

По одному сотруднику это понятно, а когда много сотрудников?<br><br>> группируешь и получаешь<br>> <br>> Сотрудник | ДатаДействия | МинДата<br> <br>Как сгруппировать и получить МинДата у каждого сотрудника?

gucci76
читатель
офлайн
Дата регистрации: 16.03.2008
Сообщений: 364
Пост №8
 
12.12.2012 08:05

"Вот запрос, которые можно допилить (состоит из временных таблиц):<br> <br>ВЫБРАТЬ<br> ДанныеРегистра.Сотрудник,<br> ДанныеРегистра.Дата,<br> ДанныеРегистра.Значение<br>ПОМЕСТИТЬ ВТ_ДанныеРегистра<br>ИЗ<br> ДанныеРегистра КАК ДанныеРегистра<br>;<br><br>////////////////////////////////////////////////////­////////////////////////////<br>ВЫБРАТЬ<br> ОсновнойРегистрСведений.Сотрудник КАК Сотрудник1,<br> ОсновнойРегистрСведений.ДатаДействия КАК Дата1<br>ПОМЕСТИТЬ ВТ_ОсновнойРегистр<br>ИЗ<br> ОсновнойРегистрСведений КАК ОсновнойРегистрСведений"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №9
 
12.12.2012 09:26

> ...то давай выкладывай структуру регистров и четкое описание задачи.

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №10
 
12.12.2012 09:32

Денис, может я что-то не поняла в задании, но ведь виртуальная таблица срезпоследних это то что надо ?

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация