Имя: Пароль:
1C
1С v8
Вывод в табличную часть данных
0 Mitka90
 
29.11.17
10:15
Доброго времени суток, уважаемые!
Нужно вывести данные из справочника "Материалы" в табличную часть "Материалы" документа "Начисления ВДГО" по нажатию кнопки "Подбор", но при попытке добавить данные появляется ошибка вида:
[code]{Документ.НачисленияВДГО.Форма.ФормаДокумента.Форма(1637)}: Метод объекта не обнаружен (ДобавитьСтроку)
        материалы.ДобавитьСтроку();[/code]

Вот сама процедура:

[code]Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    
Сообщить(ВыбранноеЗначение);    
    //  Для СчетчикЦикла = 0 по ВыбранноеЗначение.ВГраница() цикл
    //    НоваяСтрока = Материалы.Добавить();
    //    НоваяСтрока.Материал = ВыбранноеЗначение[СчетчикЦикла];
    //КонецЦикла;

    Для Каждого Элемен из Материалы Цикл
        
        Если Элемен.Материал=ВыбранноеЗначение Тогда
        Элемен.Количество=Элемен.Количество+1  Иначе
        КонецЕсли        
    КонецЦикла;
        Элемент=0;      
     Для Каждого Элемен из Материалы Цикл    
        Если Элемен.Материал = ВыбранноеЗначение Тогда Элемент=Элемент+1
        КонецЕсли    
        КонецЦикла;
       Если Элемент=0  Тогда
        материалы.ДобавитьСтроку();
        материалы.ТекущиеДанные.материал=ВыбранноеЗначение;
        КонецЕсли
    
             
КонецПроцедуры[/code]

Подскажите, в чём может быть проблема? Заранее спасибо!
1 Волшебник
 
модератор
29.11.17
10:28
Добавлять надо в табличную часть, а не в табличное поле

НовСтрока = материалы.Добавить();
НовСтрока.Материал = ВыбранноеЗначение;
2 Mitka90
 
29.11.17
13:13
Волшебник,
большое спасибо, всё работает!
3 Mitka90
 
01.12.17
13:16
Кстати, как можно сделать так, чтобы в табличную часть "Материалы" добавлялось также, кроме столбца "Материал", ещё и данные из столбца "Цена", например?
4 _Дайвер_
 
01.12.17
13:33
(3) НовСтрока.Цена= ВыбранноеЗначение[индекс];
5 vicof
 
01.12.17
13:59
За такое форматирование, имена переменных, отстуствие точек с запятыми - пожизненный эцих с гвоздями.
6 Mitka90
 
04.12.17
14:59
Спасибо, получилось так вывести:
[code]
       Если Элемент=0  Тогда
           НовСтрока = материалы.Добавить();
        НовСтрока.Материал = ВыбранноеЗначение;
        НовСтрока.Количество = 1;
        НовСтрока.Цена = ВыбранноеЗначение.Цена;
        НовСтрока.Стоимость = НовСтрока.Цена * НовСтрока.Количество;
        КонецЕсли
[/code]