Имя: Пароль:
1C
1С v8
Как выбрать срез последних в регистре накопления "Свободные остатки"?
0 Осип944
 
19.05.22
07:18
Нужно запросом посмотреть остатки на начало дня 1 мая, как их выбрать?

ВЫБРАТЬ
|    СвободныеОстаткиОстатки.Склад как Склад,
|    СвободныеОстаткиОстатки.Номенклатура Как Номенклатура,
|    СвободныеОстаткиОстатки.Номенклатура.Код Как КодНоменклатуры,
|    СвободныеОстаткиОстатки.Качество как качество,
|    СвободныеОстаткиОстатки.ХарактеристикаНоменклатуры как Характеристика,
|    СвободныеОстаткиОстатки.СерияНоменклатуры Как Серия,
|    СвободныеОстаткиОстатки.КоличествоОстаток Как Остаток,
|    СвободныеОстаткиОстатки.КоличествоСУчетомСерииОстаток Как ОстатокСУчетомСерии
|ИЗ
|    РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки
1 Chai Nic
 
19.05.22
07:22
В регистре накопления нет "среза", там есть "остатки". Вот и получайте их. Обращаясь к соответствующей виртуальной таблице. Воспользуйтесь конструктором запроса.
2 Ryzeman
 
19.05.22
07:23
https://its.1c.ru/db/pubapplied#content:130:hdoc

Там есть и примеры
3 alarm2020
 
19.05.22
07:45
(1) Строго говоря, у 1С среза последних вообще нигде нет
4 Trance_1C
 
19.05.22
07:49
(0) Получайте остатки на конец, указав период начало завтрашнего дня, вот вам и срез последних.
5 alarm2020
 
19.05.22
07:51
(4) А на 1 мая как остатки получить?
6 Dmitry1c
 
19.05.22
07:51
(3) вы не прошли собеседование :)
7 alarm2020
 
19.05.22
07:57
(6) ))) Тем не менее - это факт. Виртуальная таблица среза последних устроена так, что выдает последние записи не всегда
8 Trance_1C
 
19.05.22
07:59
(5) да на любой момент времени можно получить остатки, достаточно указать в период виртуальной таблицы "Остатки" соответствующую дату выборки, в чем вопрос?

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказыПокупателейОстатки.Номенклатура,
        |    ЗаказыПокупателейОстатки.Склад,
        |    ЗаказыПокупателейОстатки.КоличествоОстаток,
        |    ЗаказыПокупателейОстатки.СуммаУпрОстаток
        |ИЗ
        |    РегистрНакопления.ЗаказыПокупателей.Остатки(&КонецПериода, ) КАК ЗаказыПокупателейОстатки";
    _1мая = НачалоМесяца(ТекущаяДата());
    _СрезПоследних = КонецДня(ТекущаяДата());
    _10мая = Дата("20220510");
    Запрос.УстановитьПараметр("КонецПериода",_СрезПоследних );
    
    табРезультатЗапроса = Запрос.Выполнить().Выгрузить();
    табРезультатЗапроса.ВыбратьСтроку();
9 Trance_1C
 
19.05.22
08:01
(7) Надо вместо даты передавать момент времени последнего регистратора, либо явно первую секунду завтрашнего дня, тогда гарантированно получишь срез последних...
10 alarm2020
 
19.05.22
08:04
(8) Вопрос в том, причем здесь завтрашний день?
11 Ryzeman
 
19.05.22
08:05
(10) Не только лишь все могут в него смотреть. Мало кто может это делать.
12 Trance_1C
 
19.05.22
08:10
(10) верно, границу надо ставить в параметр, а не завтрашний день :)
13 Trance_1C
 
19.05.22
08:11
Новый Граница(КонецДня(ТекущаяДата()),ВидГраницы.Включая);
14 ИУБиПовиц
 
19.05.22
08:28
(7) Подтверждаю. У меня периодически по пятницам остатки не выдает срез.
15 Chai Nic
 
19.05.22
08:33
(14) Это потому что только по субботам Коран разрешает евреям есть грибы
16 Осип944
 
19.05.22
08:52
(8) Спасибо)
17 alarm2020
 
19.05.22
08:58
(14) А у меня срез не выдает срез. Причем в любой день недели
18 hhhh
 
19.05.22
09:07
(17) просто вы не умеете его готовить.
19 alarm2020
 
19.05.22
09:20
(18) Я то умею. 1С-овская виртуальная таблица не умеет