Вывод в табличное поле данных
☑
0
Vladislava-smile
30.06.15
✎
02:45
В первой строке делаю выбор, на основании него должны заполняться строки ниже.
Изделие = ВыбранноеЗначение;
//ЭтотОбъект.СоставИзделия.Очистить();
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| НормативыСписанияСырьяСырье.Номенклатура как номенклатура,
| НормативыСписанияСырьяСырье.Количество как выпуск
|ИЗ
| Документ.НормативыСписанияСырья.Сырье КАК НормативыСписанияСырьяСырье
|ГДЕ
| НормативыСписанияСырьяСырье.Ссылка.Номенклатура = &Изделие
| И НормативыСписанияСырьяСырье.Ссылка.Проведен = истина";
Запрос.УстановитьПараметр("Изделие", Изделие);
Результат = Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ЭлементыФормы.ТабличноеПоле1.ДобавитьСтроку();
Строка = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
Строка.Номенклатура = Выборка.Номенклатура;
КонецЦикла;
Результат - первая строка пустая, первая смещается в самый низ. Как исправить?
1
Мистикан
30.06.15
✎
03:09
ЭлементыФормы.ТабличноеПоле1.Очистить();
Добавь перед запросом
2
Vladislava-smile
30.06.15
✎
04:08
Мне нужно, чтобы эта первая строка оставалась (
3
el-gamberro
30.06.15
✎
05:15
Работай не с табличным полем, а с таблицей значений. Таблицу значений назначь источником данных для табличного поля. Если табличное поле надо раскрасить используй обработчик ПриВыводеСтроки()
4
el-gamberro
30.06.15
✎
05:16
Таблицу значений назначь реквизитом формы.
5
Рэйв
30.06.15
✎
06:13
(2)В буфер сохрани, потом верни на место
6
Vladislava-smile
30.06.15
✎
06:35
el-gamberro, спасибо )
Процедура ТабличноеПоле1НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ЭтотОбъект.СоставИзделия.Очистить();
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| НормативыСписанияСырьяСырье.Номенклатура КАК номенклатура,
| НормативыСписанияСырьяСырье.Количество КАК выпуск
|ИЗ
| Документ.НормативыСписанияСырья.Сырье КАК НормативыСписанияСырьяСырье
|ГДЕ
| НормативыСписанияСырьяСырье.Ссылка.Номенклатура = &Изделие
| И НормативыСписанияСырьяСырье.Ссылка.Проведен = ИСТИНА";
Запрос.УстановитьПараметр("Изделие", ВыбранноеЗначение);
Результат = Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ЭтотОбъект.СоставИзделия.Добавить().Номенклатура=Выборка.Номенклатура;
КонецЦикла;
КонецПроцедуры
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн