D
DimanYa
1 вопрос:
Есть документ "Поступление Оборудования" в нёго при помощи штрих-кодов вносится информация. При первом считывании штрих-кода всё хорошо, но при повторном считывании ЗАПРОС формируемый в документе уже пустой получается. Как то может нужно запрос заново создать или как?
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"текст проблемной процедуры"</div></div><div class="sp-body"><div class="sp-content">Процедура ВнешнееСобытие(Источник, Событие, Данные,этаФорма)
Предупреждение (Данные) ;
Штрихкод = Данные;
ШК = Штрихкод;
Если Не ВводДоступен() Тогда
Возврат;
КонецЕсли;
ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец КАК Владелец,
| РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры КАК СерияНоменклатуры,
| РегШК.Качество КАК Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод = &Штрихкод");
Предупреждение ("хорошо");
Запрос.УстановитьПараметр("Штрихкод", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Предупреждение(РезультатЗапроса.Владелец);
Если ТипЗнч(РезультатЗапроса.Владелец)= Тип ("СправочникСсылка.Клиент") тогда
Предупреждение ("Клиент") ;
ЭлементыФормы.Клиент.Значение=РезультатЗапроса.Владелец;
КонецЕсли;
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип ("СправочникСсылка.ОборудованиеШтрихКода") тогда
Предупреждение ("оборудование") ;
ТекущиеДанные = ЭлементыФормы.ТабличноеПолеОборудование.ТекущиеДанные ;
ТекущиеДанные.Номенклатура= РезультатЗапроса.Владелец;
КонецЕсли;
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип ("СправочникСсылка.МаркиШтрихКода") тогда
Предупреждение ("Марка") ;
ТекущиеДанные = ЭлементыФормы.ТабличноеПолеОборудование.ТекущиеДанные ;
ТекущиеДанные.Марка= РезультатЗапроса.Владелец;
КонецЕсли
Иначе
ЭлементыФормы.Штрихкоды.ДобавитьСтроку();
Если Лев(Штрихкод,1)=Символы.ПС Тогда
Штрихкод=Сред(Штрихкод,2);
КонецЕсли;
ПолеШтрихКод = Штрихкод;
ТекущиеДанные = ЭлементыФормы.Штрихкоды.ТекущиеДанные ;
ТекущиеДанные. Штрихкод= Штрихкод;
КонецЕсли;
КонецПроцедуры
Помогите, пожалуйста.
Есть документ "Поступление Оборудования" в нёго при помощи штрих-кодов вносится информация. При первом считывании штрих-кода всё хорошо, но при повторном считывании ЗАПРОС формируемый в документе уже пустой получается. Как то может нужно запрос заново создать или как?
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"текст проблемной процедуры"</div></div><div class="sp-body"><div class="sp-content">Процедура ВнешнееСобытие(Источник, Событие, Данные,этаФорма)
Предупреждение (Данные) ;
Штрихкод = Данные;
ШК = Штрихкод;
Если Не ВводДоступен() Тогда
Возврат;
КонецЕсли;
ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец КАК Владелец,
| РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры КАК СерияНоменклатуры,
| РегШК.Качество КАК Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод = &Штрихкод");
Предупреждение ("хорошо");
Запрос.УстановитьПараметр("Штрихкод", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Предупреждение(РезультатЗапроса.Владелец);
Если ТипЗнч(РезультатЗапроса.Владелец)= Тип ("СправочникСсылка.Клиент") тогда
Предупреждение ("Клиент") ;
ЭлементыФормы.Клиент.Значение=РезультатЗапроса.Владелец;
КонецЕсли;
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип ("СправочникСсылка.ОборудованиеШтрихКода") тогда
Предупреждение ("оборудование") ;
ТекущиеДанные = ЭлементыФормы.ТабличноеПолеОборудование.ТекущиеДанные ;
ТекущиеДанные.Номенклатура= РезультатЗапроса.Владелец;
КонецЕсли;
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип ("СправочникСсылка.МаркиШтрихКода") тогда
Предупреждение ("Марка") ;
ТекущиеДанные = ЭлементыФормы.ТабличноеПолеОборудование.ТекущиеДанные ;
ТекущиеДанные.Марка= РезультатЗапроса.Владелец;
КонецЕсли
Иначе
ЭлементыФормы.Штрихкоды.ДобавитьСтроку();
Если Лев(Штрихкод,1)=Символы.ПС Тогда
Штрихкод=Сред(Штрихкод,2);
КонецЕсли;
ПолеШтрихКод = Штрихкод;
ТекущиеДанные = ЭлементыФормы.Штрихкоды.ТекущиеДанные ;
ТекущиеДанные. Штрихкод= Штрихкод;
КонецЕсли;
КонецПроцедуры
Помогите, пожалуйста.