|
Обработка штрихкодов. Нужна помощь. | ☑ | ||
---|---|---|---|---|
0
Varlant1n
17.02.21
✎
17:11
|
Здравствуйте. Есть форма обработки. На форме появляются товары из заказа клиента. Мне нужно щас сделать обработку штрихкодов, чтобы при наведении на штрихкод товара. В таблице на форме обработки в колонке КоличествоРеализации добавлялось по одному. При этом если у товара Реквизит, если реквизит Отгружено = Истина (это проверяется через запрос к ЗаказыКлиентовОстатки), тогда должно быть что-то по типу предупреждения о том, что данный товар уже отгружен. На форме строка отгруженного товара через условное оформление вычеркивается. Я смог добиться того, что я могу через сканер найти строку и начать добавлять при сканировании, но как только количество в заказе и количество в реализации равны друг другу, мне выдает ошибку, хотя должно быть предупреждение о том, что данного товара уже достаточно. Вот код, который я смог написать, не ругайтесь только. Я знаю вы умеете. Спасибо заранее за помощь)
&НаКлиенте Процедура ОбработатьШтрихкоды(ДанныеШтрихкода) Если ЗначениеЗаполнено(Объект.Товары) Тогда Номенклатура = ПолучитьНоменклатуруПоШтрихкоду(ДанныеШтрихкода); Если Номенклатура <> Неопределено Тогда Активизировать(); ТекущиеДанные = Объект.Товары.НайтиПоИдентификатору(НайтиТовар(Номенклатура)); Если ТекущиеДанные.КоличествоРеализации = ТекущиеДанные.КоличествоВЗаказе И ТекущиеДанные.ПолностьюПоставлен Тогда Предупреждение("Данного товара уже достаточно! Верните товар на полку!"); КонецЕсли; Элементы.Товары.ТекущаяСтрока = ТекущиеДанные.НомерСтроки - 1; КонецЕсли; Иначе Предупреждение("Номенклатура со штрихкодом %1 не найдена"); КонецЕсли; КонецПроцедуры &НаСервере Функция НайтиТовар(Позиция) ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("Номенклатура", Позиция); ПараметрыОтбора.Вставить("Отгружено", Ложь); НайденныеСтроки = Объект.Товары.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() <> 0 Тогда НайденнаяСтрока = НайденныеСтроки[0]; Если НайденнаяСтрока.КоличествоРеализации < НайденнаяСтрока.КоличествоВЗаказе И НЕ НайденнаяСтрока.ПолностьюПоставлен Тогда НайденнаяСтрока.КоличествоРеализации = НайденнаяСтрока.КоличествоРеализации + 1; ИначеЕсли НайденнаяСтрока.КоличествоРеализации = НайденнаяСтрока.КоличествоВЗаказе Тогда НайденнаяСтрока.ПолностьюПоставлен = Истина; КонецЕсли; КонецЕсли; Возврат НайденнаяСтрока.ПолучитьИдентификатор(); КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |