|
ВвестиЧисло(). Нужна помощь с решением
|
Я
|
|
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 | |
МимохожийОднако 18 - 19.02.21 - 17:59 | ( 17) Значит смотри по стёку предыдущие шаги. Там ошибка |
mikecool 19 - 19.02.21 - 21:43 | ( 0) ошибка в том, что надо использовать показать ввод числа |
Kassern 20 - 20.02.21 - 09:49 | ( 19) он еще не дошел до этой строчки)) он строку нужную из ТЧ получить не может |