Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Помогите с запросом          
alex040269 Подменю пользователя
сообщение 17.10.13, 12:58
Сообщение #1

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Есть таблица

Цитата
Значение1 Дата1
Значение1 Дата2
Значение2 Дата3
Значение2 Дата4
Значение1 Дата5
Значение2 Дата6
Значение2 Дата7


Нужно получить

Цитата
Значение1 Дата1 Дата2
Значение2 Дата3 Дата4
Значение1 Дата5 Дата5
Значение2 Дата6 Дата7


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Vofka Подменю пользователя
сообщение 17.10.13, 13:00
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Вы б логику получения данных описали. Или вам написать запрос который будет работать только на этом наборе данных?

Сообщение отредактировал Vofka - 17.10.13, 13:01

Fynjy Подменю пользователя
сообщение 17.10.13, 13:08
Сообщение #3

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Цитата(alex040269 @ 17.10.13, 13:58) *
Есть таблица
Нужно получить


А если будет
Значение2 Дата6
Значение2 Дата7
Значение2 Дата8
Значение2 Дата9

?


Signature

alex040269 Подменю пользователя
сообщение 17.10.13, 13:11
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Ну в общем нужно из таблицы1 выбрать данные периодами, то есть если Значение повторяется с Дата1 по Дата2, то в итоговой таблице будет
Строка из трех колонок = Значение Дата1 Дата2

Цитата(Fynjy @ 17.10.13, 14:08) *
А если будет
Значение2 Дата6
Значение2 Дата7
Значение2 Дата8
Значение2 Дата9

?

Значение2 Дата7 Дата9.

Если Значение повторяется несколько дат подряд, то оно идет в одну строку в соответствующий период.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

pablo Подменю пользователя
сообщение 17.10.13, 13:14
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Цитата
Цитата(Fynjy @ 17.10.13, 14:08) *
А если будет

Значение2 Дата6
Значение2 Дата7
Значение2 Дата8
Значение2 Дата9


?

Значение2 Дата7 Дата9.

То есть дата6 выбрасываем из-за того, что она первая?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

alex040269 Подменю пользователя
сообщение 17.10.13, 13:20
Сообщение #6

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(alex040269 @ 17.10.13, 14:11) *
Значение2 Дата7 Дата9.

сори ошибся
Значение2 Дата6 Дата9.

Цитата(pablo @ 17.10.13, 14:14) *
То есть дата6 выбрасываем из-за того, что она первая?

ВСЕ значения подряд - в одну строку.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

pablo Подменю пользователя
сообщение 17.10.13, 13:40
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Уточняю, все даты содержат только дату и подряд - в смысле дней (например, 10.11.13 10.11.13 11.11.13 10.11.13 должны стать - 10.11.13 11.11.13)


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Vofka Подменю пользователя
сообщение 17.10.13, 13:55
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Мне кажется, чистым запросом это не сделать. Средствами СКД - может быть можно, не запросом - точно можно, а чистым запросом, который строится не динамически в коде - сомневаюсь.

alex040269 Подменю пользователя
сообщение 17.10.13, 14:01
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(pablo @ 17.10.13, 14:40) *
Уточняю, все даты содержат только дату и подряд - в смысле дней (например, 10.11.13 10.11.13 11.11.13 10.11.13 должны стать - 10.11.13 11.11.13)

да.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

pablo Подменю пользователя
сообщение 17.10.13, 14:10
Сообщение #10

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Если ограничить максимальную длину периода - то можно сделать запрос.
Например, для максимальной длины 3 будет приблизительно такой запрос (начальные данные хранятся в источнике данных Начало)
Выбрать 
значение,
дата как ПерваяДата,
ДобавитьКдате(Дата,день,1) как ВтораяДата,
ДобавитьКдате(Дата,день,2) как ТретьяДата
поместить ВсеДаты
из Начало;
Выбрать
ВсеДаты.значение,
ЕстьNull(Начало.Дата, ВсеДаты.Перваядата) КАК КонецПериода1,
ВсеДаты.ТретьяДата,
ВсеДаты.Перваядата
Поместить Период1
из ВсеДаты левое соединение Начало
   по ВсеДаты.Значение=Начало.Значение и ВсеДаты.ВтораяДата=Начало.Дата;

Выбрать
Период1.значение,
Период1.ПерваяДата как НачалоПериода,
ЕстьNull(Начало.Дата, Период1.КОнецПериода1) КАК КонецПериода
из Период1 левое соединение Начало
   по Период1.Значение=Начало.Значение и Период1.ТретьяДата=Начало.Дата


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: alex040269,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15.06.25, 17:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!