Имя: Пароль:
1C
1С v8
Вывод в табличное поле данных
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НоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

ЭтотОбъект.СоставИзделия.Очистить();
Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    НормативыСписанияСырьяСырье.Номенклатура КАК номенклатура,
                 |    НормативыСписанияСырьяСырье.Количество КАК выпуск
                 |ИЗ
                 |    Документ.НормативыСписанияСырья.Сырье КАК НормативыСписанияСырьяСырье
                 |ГДЕ
                 |    НормативыСписанияСырьяСырье.Ссылка.Номенклатура = &Изделие
                 |    И НормативыСписанияСырьяСырье.Ссылка.Проведен = ИСТИНА";
    Запрос.УстановитьПараметр("Изделие", ВыбранноеЗначение);
    Результат = Запрос.Выполнить();
    Выборка=Результат.Выбрать();
        
    Пока Выборка.Следующий() Цикл
    ЭтотОбъект.СоставИзделия.Добавить().Номенклатура=Выборка.Номенклатура;
    КонецЦикла;
    
КонецПроцедуры
Закон Брукера: Даже маленькая практика стоит большой теории.