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

Контроль остатков: в результате запроса не находится строка

Автор KaffLime, 12 дек 2021, 23:07

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

DmitriyF

Остаток выбирается с знаком минус. Ну это ладно. Просто по коду у вас получается, что вы от минуса вычитаете минус. Выложите скрин что находится в таблице значений и списке значений

KaffLime

Цитата: DmitriyF от 13 дек 2021, 14:27Остаток выбирается с знаком минус. Ну это ладно. Просто по коду у вас получается, что вы от минуса вычитаете минус. Выложите скрин что находится в таблице значений и списке значений

Не знаю как получить то, что в переменной Товар, но вот что выдает shift + F9 по названию

LexaK

KaffLime,
Цитировать"Неопределено" быть не может
может - может! в 1С все может!  :D   

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

KaffLime

LexaK, без него я бы не определил где проблема, ибо ошибку выбивает "Значение не является значением объектного типа (КоличествоОстаток)". Судя по этой ошибке нужно смотреть что не так с переменной "КоличествоОстаток", но благодаря отладчику я понял, что пытаюсь получить "КоличествоОстаток" из переменной "НайденнаяСтрока", которая имеет значение "Неопределено". Почему? Потому что функция "Найти" возвращает значение типа "Неопределено". С этой проблемой я и пришел

LexaK

KaffLime,
Цитироватьфункция "Найти" возвращает значение типа "Неопределено". С этой проблемой я и пришел

пошли по второму кругу.

как обойти эту проблему, вам выше выслали код!
надо попробовать!

(а перед этим в отладчике посмотреть содержание таблицы тзРезультатЗапроса)
а?
если помогло нажмите: Спасибо!

KaffLime

LexaK, так я написал, что если убрать "Наименование", то ничего не изменится. А если я раскоментирую код, который у меня записан в цикле, то у меня будет всегда выводиться сообщение о том, что товара попросту нет. Но ведь он есть!

LexaK

а вот этот код пробовали?
    НетОстатка = Новый Структура("КоличествоОстаток", 0);//+
    Для Каждого ТекСтрокаТовар из Товар Цикл
        НайденнаяСтрока = тзРезультатЗапроса.Найти(ТекСтрокаТовар.Товар, "Товар");
        Если НайденнаяСтрока = Неопределено Тогда //+
            НайденнаяСтрока = НетОстатка;
        КонецЕсли;
        НаличиеТовара = НайденнаяСтрока.КоличествоОстаток - ТекСтрокаТовар.Количество;
        ...       


и вот эту таблицу тзРезультатЗапроса - в отладчике посмотрели? что в ней?
если помогло нажмите: Спасибо!

KaffLime

LexaK, ну вот я написал тот код, что вы предоставили. Я начисляю 50 кг сыра и 20 буханок хлеба. Затем пытаюсь продать 10 кг сыра и 60 буханок хлеба. Мне пишет, что не хватает -10 кг сыра и -60 буханок хлеба

KaffLime

Цитата: LexaK от 13 дек 2021, 14:57и вот эту таблицу тзРезультатЗапроса - в отладчике посмотрели? что в ней?

Посмотрите, пожалуйста, на первой странице вопроса. Я там в ответе на свой вопрос прикрепил изображение с тем, что в этой переменной

LexaK

Цитата: KaffLime от 13 дек 2021, 14:57LexaK, ну вот я написал тот код, что вы предоставили. Я начисляю 50 кг сыра и 20 буханок хлеба. Затем пытаюсь продать 10 кг сыра и 60 буханок хлеба. Мне пишет, что не хватает -10 кг сыра и -60 буханок хлеба

а таблицу тзРезультатЗапроса  в отладчике вы так и не посмотрели! (не умеете?)

но и по сообщениям понято, что у вас нет остатков!
если помогло нажмите: Спасибо!

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

Рейтинг@Mail.ru

Поиск