Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:11

Обнулиние результатов ВыборкаДетальныеЗаписи

Автор Кобзик, 10 окт 2023, 17:53

0 Пользователей и 1 гость просматривают эту тему.

Максим75

Кобзик, смотрите, у Вас ТекСтрока как переменная используется в самом начале обработки проведения, когда Вы обходите табличную часть и пишете в регистр просто количество.
А уже когда проверяете на отрицательные остатки и начинаете списывать партии, у Вас цикл по ВыборкаТовар и дальше по детальным записям (т.е. по партиям). В этом цикле ТекСтрока никак не определяется и не меняется. Должна последний товар туда писать, но ругается. Замените ТекСтрока на товар из ВыборкаТовар

Кобзик

Максим75, Спасибо, с этим разобрался. Пошел дальше колдовать

Кобзик

Максим75, Теперь у меня снова проблема) В этот раз в Запрос1 = Новый Запрос;
    Запрос1.Текст =
        "ВЫБРАТЬ
        |    ТоварыНаСкладахОстатки.Склад,
        |    ТоварыНаСкладахОстатки.Номенклатура,
        |    ТоварыНаСкладахОстатки.КоличествоОстаток
        |ИЗ
        |    РегистрНакопления.ТоварыНаСкладах.Остатки(
        |            ,
        |            Склад = &Склад
        |                И Номенклатура В
        |                    (ВЫБРАТЬ
        |                        РеализацияТоваровТовар.Товар
        |                    ИЗ
        |                        Документ.РеализацияТоваров.Товар КАК РеализацияТоваровТовар
        |                    ГДЕ
        |                        РеализацияТоваровТовар.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки
        |ГДЕ
        |    ТоварыНаСкладахОстатки.КоличествоОстаток < 0";
   
    Запрос1.УстановитьПараметр("Склад", Склад);
    Запрос1.УстановитьПараметр("Ссылка", Ссылка);
   
    РезультатЗапроса1 = Запрос1.Выполнить();
    Движения.ТоварыНаСкладах.Очистить();

По идеи запрос должен возвращать пустоту, когда есть товары на остатках, а он возвращает три элемента
Что может быть?

LexaK

Цитата: Кобзик от 23 окт 2023, 11:49По идеи запрос должен возвращать пустоту
Но если у вас в базе полно отрицательных остатков, то очень даже "не пустота" вернется!  :befhbt:
если помогло нажмите: Спасибо!

Кобзик

LexaK, В том то и дело, что нет отрицательных остатков, а значит что-то работает некорректно

LexaK

Кобзик, попробуйте в консоли запросов построить несколько проверочных запросов, проверьте остатки, обороты, движения и др.
если помогло нажмите: Спасибо!

Максим75

Кобзик, выведите в таблицу значений сначала остатки ДО проведения, потом после проведения, сравните (визуально), посмотрите, сколько в документе должно было списать и сколько списало. Может у Вас списалось больше остатка, поэтому и лезет минус.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск