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

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

ВвестиЧисло(). Нужна помощь с решением
Я
   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 или кнопку "Обновить" в браузере.