Имя: Пароль:
1C
1С v8
Контроль остатков
0 malex18
 
24.08.17
12:58
Сделал контроль остатков по "новой" методике.по "старой" все работает.а по "новой" не получается.проводит реализацию.в регистр записывается все.а почему не проверяет остатки?

Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РасходнаяНакладнаяТовары.Товар КАК Товар,
    |    СУММА(РасходнаяНакладнаяТовары.Количество) КАК Количество
    |ПОМЕСТИТЬ РасходнаяНакладнаяТовары
    |ИЗ
    |    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
    |ГДЕ
    |    РасходнаяНакладнаяТовары.Товар.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |    РасходнаяНакладнаяТовары.Товар
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    РасходнаяНакладнаяТовары.Товар КАК Товар,
    |    РасходнаяНакладнаяТовары.Количество КАК Количество
    |ИЗ
    |    РасходнаяНакладнаяТовары КАК РасходнаяНакладнаяТовары";
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    РезультатЗапроса = Запрос.Выполнить();
        Движения.Остатки.Очистить();
    ВыборкаТовары = РезультатЗапроса.Выбрать();
    Пока ВыборкаТовары.Следующий() Цикл
        Движение = Движения.Остатки.ДобавитьРасход();
        Движение.Период = Дата;
        Движение.Товар = ВыборкаТовары.Товар;
        Движение.Количество = ВыборкаТовары.Количество();
    КонецЦикла;
    
    Движения.Остатки.Записывать = Истина;    
    Движения.Записать();
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ОстаткиОстатки.Товар КАК Товар,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ОстаткиОстатки.Товар) КАК ТоварПредставление,
    |    -ОстаткиОстатки.КоличествоОстаток КАК Дефицит
    |ИЗ
    |    РегистрНакопления.Остатки.Остатки(
    |            &МоментВремени,
    |            Товар В
    |                (ВЫБРАТЬ
    |                    Товары.Товар КАК Товар
    |                ИЗ
    |                    РасходнаяНакладнаяТовары КАК Товары)) КАК ОстаткиОстатки
    |ГДЕ
    |    ОстаткиОстатки.КоличествоОстаток < 0";
    
    ГраницаКонтроля = Новый Граница(МоментВремени(), ВидГраницы.Включая);
    Запрос.УстановитьПараметр("МоментВремени", ГраницаКонтроля);
    РезультатЗапроса = Запрос.Выполнить();
    
    Если НЕ РезультатЗапроса.Пустой() Тогда
        Отказ = Истина;
        ВыборкаОшибки = РезультатЗапроса.Выбрать();
        Пока ВыборкаОшибки.Следующий() Цикл
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Товара "+ВыборкаОшибки.ТоварПредставление+" недостаточно в количестве "+ВыборкаОшибки.Дефицит+" шт.";
            Сообщение.Сообщить();
        КонецЦикла;
    КонецЕсли;
1 Любопытная
 
24.08.17
13:08
Движения надо откатить по-моему. Ты же их записал в середине процедуры. Надо очистить
2 malex18
 
24.08.17
13:11
Сделал все идентично, как здесь
"Старая" проверяет все, а начальник просит по "новой"
3 malex18
 
24.08.17
13:11
4 term1t52
 
24.08.17
13:16
А остатков то у тебя точно НЕ хватает?
5 malex18
 
24.08.17
13:17
точно
6 Любопытная
 
24.08.17
13:19
(2) ну это прекрасно, теперь надо голову включить и посмотреть, что происходит, а не только просто скопировать текст из статьи. Можно еще отладчик включить, кроме головы
7 term1t52
 
24.08.17
13:19
Попробуй получить текущие остатки, без отбора по дате
8 term1t52
 
24.08.17
13:21
(6) какая вы агрессивная :3
9 Любопытная
 
24.08.17
13:22
(8) Ну извините. Если сюсюкаться со всеми, то так и будут форум вместо головы использовать. А зарплату с форумом при этом делить не будут
10 malex18
 
24.08.17
13:24
Простите, но а для чего тогда форум нужен?
я пытаюсь рахзобраться
11 Любопытная
 
24.08.17
13:33
У документа в движениях какие настройки стоят?
12 Бубр
 
24.08.17
13:54
(0)
-почисти набор записей перед  записью движений
-при  получении остатков необходимо  учитывать движения текущего документа.
13 RS2017
 
24.08.17
14:27
ошибка здесь

    |ГДЕ
    |    РасходнаяНакладнаяТовары.Товар.Ссылка = &Ссылка

Под этот фильтр ничего не попадает, поэтому никаких движений, никаких минусов.
14 malex18
 
24.08.17
15:03
Разобрался!
Спасибо большое!!!
Ошибка? Это не ошибка, это системная функция.