Имя: Пароль:
1C
1С v8
Ежедневные остатки - список дней
,
0 tochki
 
30.03.15
13:03
Ув. гуру! Вопрос ежедневных остатков очень популярен среди новичков. Есть решение длинное (это для месяцев):

ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2007, 1, 1), МЕСЯЦ, Месяцы.Количество) КАК Период
ИЗ
    (ВЫБРАТЬ
        Лет.a * 12 + Месяцев.a КАК Количество
    ИЗ
        (ВЫБРАТЬ
            0 КАК a
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            1
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            2
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            3
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            4
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            5
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            6
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            7
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            8
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            9
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            10
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            11) КАК Месяцев,
        (ВЫБРАТЬ
            0 КАК a
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            1
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            2
        ОБЪЕДИНИТЬ ВСЕ
        ВЫБРАТЬ
            3) КАК Лет) КАК Месяцы
УПОРЯДОЧИТЬ ПО
    Период

И есть решение короткое. Каким именно коротким пользуетесь именно вы?
1 tochki
 
30.03.15
13:06
Вопрос конечно же в том как вытащить список месяцев от января 2007 до декабря 2010 (запрос only)
2 asady
 
30.03.15
13:06
(0) хвастаешься?
3 tochki
 
30.03.15
13:07
4 Defender aka LINN
 
30.03.15
13:07
Чем итоги не устраивают?
5 Cube
 
30.03.15
13:12
(0) Пользуюсь этим решением, если результат запроса обрабатывает не СКД. Никакими короткими не пользуюсь вообще.
6 tochki
 
30.03.15
13:13
(4) я раньше вообще брал такое поле: НачалоПериода(Документ.РеализацияТоваровУслуг, Месяц) с нужными условиями. Я уверен, что в каждом месяце есть хотя бы одна реализация, поэтому могу получить начало месяца. Подозреваю, что это очень медленное решение. Потом нашел пример в книге знаний и стал делать по правильному. Но все равно, это решение какое-то длинное. Я думаю, через параметр, где сидит массив, было бы элегантнее.

Какое выражение использовать для итогов?
7 GROOVY
 
30.03.15
13:14
Дополнение периода в запросе ПЕРИОДАМИ.
И в СКД дополнение группировки.

Зачем поделка в (0) не понял.
8 tochki
 
30.03.15
13:15
(5) Мне для СКД и надо. Там есть какой-то хитрый трюк?
9 tochki
 
30.03.15
13:18
(7) Спасибо. Пойду читать Хрусталеву!
10 Maniac
 
30.03.15
13:20
Уже 100500 раз тема. и есть готовые ответы.

в 1С есть календари. там запрос в 10 строк кода.
11 Cube
 
30.03.15
13:21
12 Maniac
 
30.03.15
13:21
в УТ11 РегистрСведений.КалендарныеГрафики
13 Maniac
 
30.03.15
13:22
(11) туфта полная. Не учитывает празщдники и выходные.
14 GROOVY
 
30.03.15
13:23
(13) А нафига их учитывать?
15 DirecTwiX
 
30.03.15
13:24
(6) я раньше вообще брал такое поле: НачалоПериода(Документ.РеализацияТоваровУслуг, Месяц) с нужными условиями. Я уверен, что в каждом месяце есть хотя бы одна реализация, поэтому могу получить начало месяца. Подозреваю, что это очень медленное решение.

О каком решении речь? ВЫБРАТЬ РАЗЛИЧНЫЕ НАЧАЛОПЕРИОДА(Документ.РеализацияТоваровУслуг, Месяц)?
16 Maniac
 
30.03.15
13:28
(14) как это нафига. Вот вопрос странный.

Я менеджер. Хочу получить наличие товара на складе. в Январе было 11 дней выходных.
Если мне прибавится лишних 11 дней - я назакажу непонятно чего.
17 Maniac
 
30.03.15
13:29
еще раз говорю всем - во всех типовых есть календари.

в УТ11 свой.
в УТ10 - РегистрСведений.РегламентированныйПроизводственныйКалендарь
18 Maniac
 
30.03.15
13:29
(15) за такие запросы с Документ.РеализацияТоваровУслуг - уволил бы сразу.
19 1976vas
 
30.03.15
13:29
(17) Уже обсуждалось, вроде, что не во всех конфигурациях есть календари.
20 DirecTwiX
 
30.03.15
13:32
(18) Возможно, он имел в виду Регистр.Период, который можно использовать для (0), если я правильно понимаю ТС
21 GROOVY
 
30.03.15
13:33
(16) А я хочу получить график остатков, если 11 дней не будет, у меня что, провал в 0 на графике будет?
22 Cube
 
30.03.15
13:33
(13) От задачи зависит... Мы предлагаем варианты, а ТС пусть сам решает, что ему подходит лучше для его задачи.
23 Maniac
 
30.03.15
13:59
(19) ты кого слушаешь. Я тебе говорю во всех.
24 Maniac
 
30.03.15
14:00
(21) вообще то правилом хорошего тона в разработке является настройка рабочей недели. Где можно указать 5-6-7 дневную раборчую неделю. а также указать учитывтаь праздники или нет.
25 Maniac
 
30.03.15
14:02
в УТ11 например сразу можно в календарях все настроить. и назвать их. пятидневнй и так далее.

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

Если фирма розничная там может быть все время работа, а у оптовых - выходные и праздники очень сильно влиять могут.
26 Maniac
 
30.03.15
14:03
Ладно бог с ними даже праздниками и тп.

Там специальный регистры сведений в типовых  которые хранят весь календарь.

Запрос со скоростью звука отрабатывает.
27 GROOVY
 
30.03.15
14:07
(24)  А у меня трехсменная работа, непрерывное производство.
28 GROOVY
 
30.03.15
14:10
А еще бывают вахты. Вон на МКС полетели, у них вахта 12 месяцев. А график работы 12 месяцев через 5 лет.
29 Maniac
 
30.03.15
14:12
То о чем я говорю - универсально средство для абсолютно любой компании.

Могу больше добавить - 1С в своимх- программах именно так и программирует.
30 GROOVY
 
30.03.15
14:14
(29)  О чем ты говоришь? Что везде всегда все работают по неделям? И всегда у всех заполнены регистры сведений?
31 Maniac
 
30.03.15
14:19
(30) если есть подобные задачи - да. тогда нужно вывести кнопку с заполнением.

Это является правилом хорошего тона программирования.
32 GROOVY
 
30.03.15
14:28
(30)  Но не все работают по неделям, и автозаполнение для всех не реализовать. А есть те кому вообще календари не нужны.
33 Maniac
 
30.03.15
14:31
Ок раз программист решает кому что нужно или нет - ну пусть программирует как умеет.

... пока не прийдет нормальный программист.
34 mistеr
 
30.03.15
14:46
Генерация последовательностей в запросах бывает нужна, и не только для дат и графиков. "Короткое" (в смысле текста запроса) решение - заполнить массив и загрузить в ВТ.