Если ЗначениеЗаполнено(шк) тогда
Если Не ПустаяСтрока(шк) Тогда
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец КАК Владелец,
| РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры КАК СерияНоменклатуры,
| РегШК.Качество КАК Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод = &Штрихкод");
Запрос.УстановитьПараметр("Штрихкод", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Отбор = Новый Структура();
Отбор.Вставить("номенклатура",РезультатЗапроса.владелец);
Строки = ТабличноеПоле1.НайтиСтроки(Отбор);
Если Строки.Количество() > 0 Тогда
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = Строки[0];
новстр=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
иначе
новстр.номенклатура= РезультатЗапроса.владелец;
если ЗначениеЗаполнено(новстр.Количество) тогда
новстр.Количество=новстр.Количество+1;
иначе
новстр.Количество=1;
конецесли;
///////найдем цену товара и посчитаем сумму
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", РезультатЗапроса.владелец);
Отбор.Вставить("ТипЦен", Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Расходная"));
Цены = РегистрыСведений.ЦеныНоменклатуры;
ТекЦена = Цены.ПолучитьПоследнее(ТекущаяДата(), Отбор);
новстр.цена=ТекЦена.Цена;
новстр.Сумма=новстр.количество*новстр.цена;
//закончили искать цену
КонецЕсли;
КонецЕсли;
конецесли;
шк="";
//1300220035
// 1300220054
// 1300220033
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ШК;
если строка добавилась в ТЗ то фокус на поле ввод "ШК" не устанавливается, форма обычная, на самом элементе стоит активизироватьпоумолчанию. Что делаю не так?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший