Имя: Пароль:
1C
1C 7.7
v7: Заполнение табличной части из модуля формы документа
,
0 Анонимус
 
11.02.14
15:05
При попытке заполнения табличной части, из модуля формы документа в процедуре ВводНаОсновании(), строки таблицы остаются не заполненными. В чем может быть ошибка?

    ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений");
    ДокОснование.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента);    
        
    ТаблицаДокумента.ВыбратьСтроки();
    
        Пока ТаблицаДокумента.ПолучитьСтроку() = 1 Цикл
    
    НоваяСтрока();
    Наименование = ДокОснование.Номенклатура;
    КонецЦикла;    
        
    КонецЕсли;
1 KishMish
 
11.02.14
15:07
Наименование = ТаблицаДокумента.Номенклатура;
2 1Сергей
 
11.02.14
15:08
реквизит табличной части с идентификатором "Наименование". Как мило :)
3 Chum
 
11.02.14
15:09
> ДокОснование.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента);  

1. что мешает делать цикл по таблице документа-основания без переливки в тЗ?

2. цикл по ТЗ, а пытаешься получить данные из таблицы документа-основание. ???

3. Что мешает использовать ВыгрузитьТабличнуюЧасть и загрузитьтабличную часть?
4 dk
 
11.02.14
15:11
(0) зачем выбратьстроки + новаястрока?
либо читай, либо пиши
5 Анонимус
 
11.02.14
15:13
(1) Точно, не заметил, но после исправления табличная часть так же осталась пустой.
(3) ВыгрузитьТабличнуюЧасть Разве работает при разной структуре табличных частей?
6 KishMish
 
11.02.14
15:15
(5) работает при с одинаковыми идентификаторами колонок
ДокОснование - точно ВЫБРА()=1?
в нем точно есть строки?
7 Анонимус
 
11.02.14
15:17
(6) Да, строки есть.
Привел к такому виду

    ДокОснование.ВыбратьСтроки();
    
    Пока ДокОснование.ПолучитьСтроку() = 1 Цикл
    
    НоваяСтрока();
    Наименование = ДокОснование.Номенклатура;

    КонецЦикла;    
            
    
    Сообщить(КоличествоСтрок());
    
    ВыбратьСтроки();
    
    Пока ПолучитьСтроку() = 1 Цикл
    
    Сообщить(Строка(Наименование.Наименование));    
        
    КонецЦикла;    

Во время выполнения сообщает количество строк и наименование позиций, но табличная часть документа пуста.
8 KishMish
 
11.02.14
15:21
(7) волшебство. У тебя точно Таблица на форме, а не таблица значений?
это происходит в открытой форме документа?
Транзакции?
в таблице КОЛОНКИ или Текстовые столбцы?
и 1Сергей прав - Наименование.Наименование - хехе.
9 Анонимус
 
11.02.14
15:25
(8) Да таблица на форме, заполнение происходит до открытия формы при вводе на основании. Таблицу пробовал пересоздать с помощью размещения реквизитов документа.
10 KishMish
 
11.02.14
15:29
попробуй шрифт в параметрах уменьши или измени, может у тебя просто не отображается данные в таблице
11 Анонимус
 
11.02.14
15:33
(10) Точно не шрифты, заполненность табличной части проверял запросом. А в табличной части просто нет строк, при добавлении вручную начинает с первой строки.
12 Мимохожий Однако
 
11.02.14
15:35
Отладчик включи
13 Анонимус
 
11.02.14
15:36
(12) Этот кусок отрабатывает полностью, смотрел в отладчике.
14 KishMish
 
11.02.14
15:41
Поиск по тексту "УдалитьСтроки" "УдалитьСтроку"
15 Анонимус
 
11.02.14
15:41
Всем спасибо, разобрался. Переместил кусок кода в процедуру ПриЗаписи(), видимо после заполнения на основании где-то зачищается табличная часть.
16 Анонимус
 
11.02.14
15:42
(14) Да, так и есть.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн