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

Автор Тема: нумерация в запросе по одинаковым датам  (Прочитано 352 раз)

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

Оффлайн aleeex

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-03
  • Сайт: 
  • Профессия: Ученик 1С
Есть таблица вида:

Период / Подразделение / Сумма / НомерЗаписи

Надо сделать нумерацию, когда Период одинаков. Если Период меняется, то нумерация начинается с начала. За одну дату Подразделение и Сумма могут быть одинаковыми, но НомерЗаписи всегда везде разный и порядок в нем не соблюдается.

Например:
МойНомер /Период/ Подразделение / Сумма / НомерЗаписи
1/ 01.01.2016/ Подразделение1 / 1500 / 8
2/ 01.01.2016/ Подразделение1 / 1500 / 7
3/ 01.01.2016/ Подразделение2 / 1500 / 15

1/ 01.02.2016/ Подразделение1 / 2500 / 10

1/ 01.03.2016/ Подразделение2 / 1500 / 30
2/ 01.03.2016/ Подразделение1 / 5000 / 9

1/ 01.04.2016/ Подразделение1 / 1500 / 14

Пробовал так:
ВЫБРАТЬ 

рс.НомерЗаписи,
рс.Период,
ВЫБОР КОГДА КОЛИЧЕСТВО(вт.Период) ЕСТЬ NULL Тогда
0 иначе КОЛИЧЕСТВО(вт.Период) конец как МойНомер ,
рс.Подразделение,
рс.Сумма

из
ВТ_расходы как рс
левое  соединение ВТ_расходы как вт
по рс.Период  >= вт.Период

СГРУППИРОВАТЬ ПО
рс.Период,
рс.Подразделение,
рс.Сумма,
рс.НомерЗаписи

упорядочить по рс.Период



Но, результат выглядит так(номерация не правильная) 
МойНомер /Период/ Подразделение / Сумма / НомерЗаписи
3/ 01.01.2016/ Подразделение1 / 1500 / 8
3/ 01.01.2016/ Подразделение1 / 1500 / 7
3/ 01.01.2016/ Подразделение2 / 1500 / 15

4/ 01.02.2016/ Подразделение1 / 2500 / 10

6/ 01.03.2016/ Подразделение2 / 1500 / 30
6/ 01.03.2016/ Подразделение1 / 5000 / 9

7/ 01.04.2016/ Подразделение1 / 1500 / 14

Понятно, что связал не правильно. Помогите исправить, пожалуйста.


Оффлайн LexaK

  • *****
  • Сообщений: 1210
  • РЕПУТАЦИЯ: 333
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
как таковой автонумерации в 1С-ном СКЛ нет, как вариант получите таблицу значений результата, отсортированную по нужным полям (в вашем случае по периоду)
и просто, без всяких затей, в цикле пронумеруйте, вот пример
    лкРезультат = лкЗапрос.Выполнить().Выгрузить();
    лкПериод = 0;
    лкНомер = 0;
    Для каждого лкСтр Из лкРезультат Цикл

Если лкПериод <> лкСтр.Период Тогда
//произошла смена периода, сбрасываем счетчик
лкНомер = 0;
//запоминаем новый период
лкПериод = лкСтр.Период;
КонецЕсли;

//увеличиваем счетчик и нумеруем строку
лкНомер = лкНомер + 1;
лкСтр.Номер = лкНомер;

КонецЦикла;

простенько, работает быстро, и СКЛ запрос не загроможден. :)
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Делать нумерацию в запросе - глупая затея. Имхо. Сделать нумерацию можно, но время выполнения запроса будет расти в геометрической прогрессии от количества записей в базе.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс


Теги:
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 3086
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
РС "СостояниеОСОрганизаций" в запросе

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

Ответов: 1
Просмотров: 897
Последний ответ 07 Янв 2015, 05:33
от ILLUMI
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

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

Ответов: 1
Просмотров: 1554
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Поле не найдено" в запросе, но оно есть.

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

Ответов: 3
Просмотров: 1797
Последний ответ 27 Окт 2015, 10:29
от vitasw
Оставить в запросе только те поля, у которых тип значение "Номенклатура"

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

Ответов: 4
Просмотров: 2916
Последний ответ 16 Апр 2012, 02:00
от DirecTwiX

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

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

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


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

* Реклама

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
95 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
66 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
57 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
34 Сообщений
magnifico61
22 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal