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

    ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ШК;

если строка добавилась в ТЗ то фокус на поле ввод "ШК" не устанавливается, форма обычная, на самом элементе стоит активизироватьпоумолчанию. Что делаю не так?
1 Grigory123456789
 
21.07.13
11:29
Неужто все правильно написано?
2 К_Дач
 
21.07.13
12:23
Разверни в отладчике коллекцию элементов формы.
3 Grigory123456789
 
21.07.13
20:30
развернул, и ? не понял а что дальше?