Вход | Регистрация
 

ВвестиЧисло(). Нужна помощь с решением

ВвестиЧисло(). Нужна помощь с решением
Я
   Varlant1n
 
19.02.21 - 17:18
Здравствуйте. Есть табличная часть формы. Там товары. Есть два столба таблицы КоличествоВЗаказе и КоличествоРеализации. У товаров есть штрихкод. При считывании штрихкода, программа находит строку с этим товаром и добавляет + 1 к КоличествоРелизации. Так вот для ситуации когда товаров слишком много, чтобы пользователю не пришлось вводить все сканером, хочу сделать кнопку для ввода числа к текущей строке, которую выбрал сканер. Написал следующий код, но не знаю рпавильный он или нет, потому что у меня в принципе уже не работает и дает ошибку.

Код:
&НаКлиенте
Процедура ДобавитьТовар(Команда)
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    Если ТекущаяСтрока.КоличествоРеализации> 1 Тогда
        Если ВвестиЧисло(ТекущаяСтрока.КоличествоРеализации, "Введите количество для товара: " + ТекущаяСтрока.Номенклатура, 10,3) Тогда
            Если ТекущаяСтрока.КоличествоРеализации> ТекущаяСтрока.КоличествоВЗаказе Тогда
                 Предупреждение(Нстр("ru = 'Переданное количество превышает объем заказа!'"));
                 Возврат;
             Иначе
                 ТекущаяСтрока.Сумма = ТекущаяСтрока.КоличествоВЗаказе  * ТекущаяСтрока.Цена;
            КонецЕсли;
        КонецЕсли;        
    КонецЕсли;
КонецПроцедуры

Ошибка:
начение не является значением объектного типа (КоличествоРеализации)
    Если ТекущаяСтрока.КоличествоРеализации > 1 Тогда


Помогите, пожалуйста
   Varlant1n
 
1 - 19.02.21 - 17:20
(0) "Так вот для ситуации когда товаров слишком много" Тут я имел в виду, когда количества товара слишком большое.
   Kassern
 
2 - 19.02.21 - 17:23
(1) слишком большое это даже 2 судя по коду?))
   Kassern
 
3 - 19.02.21 - 17:26
(0) зачем эта писюлька? ТекущаяСтрока.Сумма = ТекущаяСтрока.КоличествоВЗаказе  * ТекущаяСтрока.Цена; 
Если у тебя в коде ни ТекущаяСтрока.КоличествоВЗаказе ни ТекущаяСтрока.Цена не изменились?
   Varlant1n
 
4 - 19.02.21 - 17:27
(2) Типа уже больше 1 давать возможность ввода через клаву.
(3) Для пересчета суммы на форме
   Kassern
 
5 - 19.02.21 - 17:28
(0) разреши им мышкой 2 раза кликнуть по полю и ввести количество, а при изменении поля проверяй с количеством в заказе
   Varlant1n
 
6 - 19.02.21 - 17:28
Значение не является значением объектного типа (КоличествоРеализации)
    Если ТекущаяСтрока.КоличествоРеализации > 1 Тогда

Вот это я даже близко не понимаю как исправить.. Понимаю, что я на клиенте, но все же
   Kassern
 
7 - 19.02.21 - 17:29
(6) Что отладчик говорит по поводу ТекущаяСтрока?
   Kassern
 
8 - 19.02.21 - 17:29
(7) вот будет весело, если в текущей строке хранится индекс строки и не сама строка)
   Злопчинский
 
9 - 19.02.21 - 17:32
Все-таки правильно что я на 8-ке не прогаю, прогать то что прогал лет 10 назад на 77 - повторять это на 8-ке...? ;-)
   Varlant1n
 
10 - 19.02.21 - 17:33
(8) Я только щас чекунул, оказывается "Неопределенно"
   Varlant1n
 
11 - 19.02.21 - 17:35
(10) А по идее он же должен ловить. Текущую строку. Потому что сканер выделяет текущую строку
   Kassern
 
12 - 19.02.21 - 17:36
(10) А это о чем говорит? А о том что у тебя таблица пустая...
   Kassern
 
13 - 19.02.21 - 17:36
(12) по крайней мере в момент вызова строчки Элементы.Товары.ТекущиеДанные
   Varlant1n
 
14 - 19.02.21 - 17:37
(12) Она изначально уже заполнена, при открытии
   МимохожийОднако
 
15 - 19.02.21 - 17:40
Добавь проверку на Неопределено для текущих данных. И отладчик в руки+стёк вызовов и анализируй код
   Kassern
 
16 - 19.02.21 - 17:41
Элементы.Товары.ТекущаяСтрока что возвращает?
   Varlant1n
 
17 - 19.02.21 - 17:54
(16) Тоже неопределенно
   МимохожийОднако
 
18 - 19.02.21 - 17:59
(17) Значит смотри по стёку предыдущие шаги. Там ошибка
   mikecool
 
19 - 19.02.21 - 21:43
(0) ошибка в том, что надо использовать показать ввод числа
   Kassern
 
20 - 20.02.21 - 09:49
(19) он еще не дошел до этой строчки)) он строку нужную из ТЧ получить не может

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.