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

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

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


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

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