Имя: Пароль:
1C
1С v8
Заполнение ТЧ из регистра сведений за определнный день
0 mitexo
 
04.02.15
17:59
Добрый вечер! А подскажите, пожалуйста, вот что: как запросить данные из регистра сведений - это понятно, а вот каким образом запросить за конкретную дату, пока не разобралась. Подскажите, пожалуйста
1 deniseek
 
04.02.15
18:06
(0) Ограничить выборку по дате? КЭП
2 mitexo
 
04.02.15
18:09
(1) КЭП, тогда, встречный вопрос: если мне нужно ежедневно получать данные за вчерашний/позавчерашний день, как в таком случае быть? Т.е., например, ТЧ документа заполнять ПриОткрытии? Как ограничить дату позавчерашним днем?
3 deniseek
 
04.02.15
18:11
(0) А в чем проблема? Дату можно в отбор передавать любую. Можно вообще запросом получить даты года и получать данные на каждый день отдельно.
4 silent person
 
04.02.15
18:11
(2) надо выбрать записи регистра за заданный период или значения регистра сведений на определенную дату ?
5 palpetrovich
 
04.02.15
18:11
(2) дык, СрезПоследних-же

ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НужнаяДата, ) КАК ЦеныНоменклатурыСрезПоследних
6 mitexo
 
04.02.15
18:14
(4) из регистра накопления за определенный день. Т.е. у меня есть ТЧ со списком, я хочу при открытии видеть заполненные колонки за последние три дня. Я не знаю, как формализовать пресловутые вчера, позавчера, позапозавчера. Т.е. &20140101 мне понятно, а вот &позавчера - нет.
7 mitexo
 
04.02.15
18:15
Документ Резерв, Регистр Накопления РезервацииОстаткиОбороты
8 mitexo
 
04.02.15
18:16
"ВЫБРАТЬ

| Заказ.Дата,
| Заказ.ДатаЗаказа,
| Заказ.ТабличнаяЧасть1.(
| Ссылка,
| НомерСтроки,
| Номенклатура,
| Количество,

| РезервацииОстаткиОбороты.Номенклатура,
| РезервациОстаткиОбороты.КоличествоОборот,

|ИЗ
| Документ.Заказ КАК Заказ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервацииОстатки.Обороты КАК ЗазказыОстаткиОбороты
| ПО Заказ.ТабличнаяЧасть1.Вчера = РезервацииОстаткиОбороты.КоличествоОборот"
9 mitexo
 
04.02.15
18:16
Как сгруппировать по этим дням... :(
10 silent person
 
04.02.15
18:19
позавчера это сегодня минус 2 дня или минус 24*60*60*2 секунд.

(8) а где тут регистр сведений ? О_о
11 palpetrovich
 
04.02.15
18:21
(6) ты уж определись, и регистра накопления или сведений :)
12 palpetrovich
 
04.02.15
18:24
и это, стесняюсь спросить, а "РезервацииОстатки" - это стандартный регистр?
13 mitexo
 
04.02.15
18:25
(12) конфа самописная.
14 anatoly
 
04.02.15
18:25
в Запросе - НАЧАЛОПЕРИОДА, ДОБАВИТЬКДАТЕ - подробнее смотри в СП.
15 silent person
 
04.02.15
18:25
| Заказ.Дата,
| Заказ.ДатаЗаказа,
| Заказ.ТабличнаяЧасть1.(
| Ссылка,
| НомерСтроки,
| Номенклатура,
| Количество,

| РезервацииОстаткиОбороты.Номенклатура,
| РезервациОстаткиОбороты.КоличествоОборот,

|ИЗ
| Документ.Заказ КАК Заказ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервацииОстатки.Обороты КАК ЗазказыОстаткиОбороты
| ПО Заказ.ТабличнаяЧасть1.Вчера = РезервацииОстаткиОбороты.КоличествоОборот"
|ГДЕ
|    Заказ.Дата < &НачалоПериода(&Позавчера,День)
|    И Заказ.Дата > &КонецПериода(&Сегодня,День)
16 mitexo
 
04.02.15
18:25
(11) накопления
17 silent person
 
04.02.15
18:26
блин
|    Заказ.Дата > &НачалоПериода(&Позавчера,День)
|    И Заказ.Дата < &КонецПериода(&Сегодня,День)
18 mitexo
 
04.02.15
18:26
(15) спасибо вам, попробую.
19 silent person
 
04.02.15
18:27
и & перед НачалоПериода и КонецПериода не надо :). конструктор зараза поставил
20 deniseek
 
04.02.15
18:28
(9) ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаСегодня,
    0 КАК ЦенаВчера,
    0 КАК ЦенаПозавчера
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), ) КАК ЦеныНоменклатурыСрезПоследних

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

ВЫБРАТЬ
    0,
    ЦеныНоменклатурыСрезПоследних.Цена,
    0
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), ДЕНЬ, -1), ) КАК ЦеныНоменклатурыСрезПоследних

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

ВЫБРАТЬ
    0,
    0,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), ДЕНЬ, -2), ) КАК ЦеныНоменклатурыСрезПоследних
21 anatoly
 
04.02.15
18:28
(17) МЕЖДУ )))
22 mitexo
 
04.02.15
18:29
(20) спасибо
23 mitexo
 
04.02.15
18:36
(15) позвольте еще уточнить, а результаты в табличную часть как вывести? ТабличннаяЧасть1.Вчера
выгрузить(); ?
24 deniseek
 
04.02.15
18:38
(23) Ну да.
25 deniseek
 
04.02.15
23:59
+(24) (23) ВашаТаблица.Загрузить(Запрос.Выполнить.Выгрузить());

Опять же при условии, что в запросе и в вашей таблице имена совпадать будут