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