Имя: Пароль:
1C
1С v8
запрос остатки
0 who respawn
 
13.10.23
07:00
оцедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                   |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                   |    ТоварыНаСкладахОстатки.Склад КАК Склад,
                   |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
                   |    ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков КАК НоменклатураЕдиницаХраненияОстатков
                   |ИЗ
                   |    РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Склад = &Склад) КАК ТоварыНаСкладахОстатки
                   |ГДЕ
                   |    ТоварыНаСкладахОстатки.КоличествоОстаток < 0
                   |    И ТоварыНаСкладахОстатки.Склад = &Склад";
                       Запрос.УстановитьПараметр("Склад", ЭтаФорма.СкладОтчет);
                       Запрос.УстановитьПараметр("Дата", КонецДня(ЭтаФорма.ДатаОтчета));


почему этот запрос непоказывает что есть отрицательные остатки, если выбрать например дату  30.09.23, а если выбрать 13.10.23, то они есть?
1 Гена
 
13.10.23
07:07
(0) Не думай о секундах (23:59:59) свысока (с)
К вопросу о времени записей регистров накопления
2 who respawn
 
13.10.23
07:15
(1) всё равно не понял, мне нужно указывать не 235959, а следующий день 1ую секунду?
3 2S
 
13.10.23
07:21
"если выбрать например дату  30.09.23, а если выбрать 13.10.23, то они есть"
движения-то проверяли  за этот период?
4 Гена
 
13.10.23
07:23
(2) ВидГраницы.Включая
5 who respawn
 
13.10.23
07:39
(1) (4) вообще я думаю дело не в этом
6 who respawn
 
13.10.23
07:40
(3) ну отчет Товары на складах показывает, что минусы есть на 30.09.23, а мой запрос - показывает что их нет, но если сделать 13.10.23, то те же самые минусы что и в товары на складах
7 Mankubus
 
13.10.23
07:41
(6) если сделать не 13.10.2023, а 01.10.2023, то что показывает?
8 who respawn
 
13.10.23
07:45
(7) то же, что и на 13.10
вопрос в другом
отчет Товары на складах показывает минусы 30,09,2023 235959
а мой запрос показывает, Что их нет
9 2S
 
13.10.23
07:45
(8) Вам в (1) уже ответили
10 who respawn
 
13.10.23
07:47
(9) я не проснулся видимо и решил, что 235959 тут не при чем, хотя там некст дата 1 число))) (1) спасибо
11 who respawn
 
13.10.23
08:12
а в запросе эту ВидГраницы.Включая никак не сделать?
12 Stepashkin
 
13.10.23
08:15
(11) Как вы себе это представляете?
13 who respawn
 
13.10.23
08:15
(12) да я хз, просто в консоли запросов как мне это сделать чтобы проверить всё ли ок?
14 Stepashkin
 
13.10.23
08:17
(13) ВидГраницы.Включая делается уже после того как вы получили Выборку из результата запроса
15 Stepashkin
 
13.10.23
08:18
(13) потом вы в цикле обходите  выборку
16 who respawn
 
13.10.23
08:18
(14) ну я понял, я спрашиваю как мне быть если я в консоли запросов работаю сейчас
17 Stepashkin
 
13.10.23
08:19
(16) Консоль запросов предназначена для составления запросов и проверки правильности запросов
18 Stepashkin
 
13.10.23
08:20
(17) я так понимаю, у вас есть некий документ, который делает движение в регистр остатков и вы хотите добавить туда запрос?
19 who respawn
 
13.10.23
08:21
Граница = Новый Граница(ЭтаФорма.ДатаОтчета, ВидГраницы.Включая);      
Запрос.УстановитьПараметр("Дата",
Граница );

я правильно понял?)
20 Stepashkin
 
13.10.23
08:21
(16) Или делаете отчет?
21 who respawn
 
13.10.23
08:21
(18) нет конкретного документа
22 who respawn
 
13.10.23
08:22
(20) ну типа отчет по отрицательным остаткам, просто нужно их получить и создать перемещение чтобы в ноль остатки списать
23 Гена
 
13.10.23
08:26
ДОБАВИТЬКДАТЕ(Дата, СЕКУНДА, 1)
24 who respawn
 
13.10.23
08:30
(23) ну так если я добавлю, то это уже будет не 30,09, а 01,01
25 who respawn
 
13.10.23
08:30
(24) 01,10
26 Гена
 
13.10.23
08:36
(25) Будет 01.10.2023 00:00:00 с невключённой границей для остатков на конец.
27 who respawn
 
13.10.23
08:43
(26) ну мне в таком случае подойдёт и  Запрос.УстановитьПараметр("Дата", ЭтаФорма.ДатаОтчета+1);

не?
28 who respawn
 
13.10.23
08:44
КонецДня(ЭтаФорма.ДатаОтчета) +1
29 Гена
 
13.10.23
08:47
Делайте уже как-нибудь. Не рассуждения, а практика - критерий истины.
30 who respawn
 
13.10.23
08:55
(29) проблема в том, что я не понимаю у меня  01.10.2023 00:00:00 с невключённой границей для остатков на конец или нет
31 Мимохожий Однако
 
13.10.23
09:06
(30) Начни сначала. Сформулируй ради чего ты формируешь запрос и чего хочешь добиться в конечном результате. Возможно, дело не в запросе и параметрах к нему
32 Гена
 
13.10.23
09:09
тяжёлый случай )
33 who respawn
 
13.10.23
09:21
(31) мне нужно получить отрицательные остатки на дату и я боюсь, Что 30,09,2023 235959 и 01,10,2023 000000 это разные дни и разные остатки могут быть
34 2S
 
13.10.23
09:24
Граница = Новый Граница(Дата(2023,09,30,23,59,59), ВидГраницы.Включая);
Запрос.УстановитьПараметр("КонГраница", Граница);
35 Mankubus
 
13.10.23
11:42
(19) правильно
(16) консоли бывают разные. Есть консоли в которых можно устанавливать границу как параметр
36 lubitelxml
 
13.10.23
12:12
(32) +1
37 lubitelxml
 
13.10.23
12:17
(33) "и я боюсь" - у тебя есть документы от 01,10,2023 00.00.00? скорее всего нет, не бойся
38 maxab72
 
13.10.23
12:42
Пару лет назад было какое-то изменение в правилах учета ОС ЕМНИП, что в типовой БУ формировались движения между концом 31 декабря одного года и началом 1 января следующего года. Таким образом стандартная оборотка за один год давала одно конечное сальдо, а та же оборотка за следующий день давала другое начальное сальдо. Там, вроде, какая-то недокументированная возможность использовалась.
39 Eiffil123
 
13.10.23
12:53
(38) это документированная возможность, появилась в регистре бухгалтерии года 2 назад. Называется "Уточнение периода".

При указании движения в любом из уточнений периода, такое движение не будет учитываться в конечных остатках одного периода, но будет учитываться в начальных остатках следующего, смежного, периода, не искажая обороты каждого из двух смежных периодов. В то же время движения, сделанные в уточнениях периода, будут отражаться в оборотах в том случае, если период анализа целиком захватывает момент времени, в который выполнялись движения с указанием уточнения периода. Уточнение периода логически расположено между периодом и регистратором.
Закон Брукера: Даже маленькая практика стоит большой теории.