Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:19

Ошибка "Поле объекта не обнаружено" при записи табл.части документа "ОперацияБух"

Автор Q37, 18 авг 2018, 13:50

0 Пользователей и 1 гость просматривают эту тему.

Q37

Здравствуйте! Документ ОперацияБух, у которого в табличной части содержатся таблицы регистров и сведений.
Нужно достать все значения, которые там присутствуют. Вот такой код:
ДокументОбъект = ВыбранныйДокумент.ПолучитьОбъект();
Для Каждого НаборЗаписей Из ДокументОбъект.Движения Цикл
Сообщить(НаборЗаписей);
НаборЗаписей.Прочитать();
для каждого измерение из НаборЗаписей.Метаданные().Измерения цикл
Сообщить(НаборЗаписей[измерение.Имя]);
конецЦикла;
конецЦикла;

но выводится ошибка "Поле объекта не обнаружено (имя измерения)"
И впринципе я понимаю, что так пишется, потому что у конкретно этого документа его нет, но как мне получить то, что есть ? все данные, которые касаются нужного документа ?
Подскажите пожалуйста!

бухг123

Думаю так проще увидеть все записи в документе ОперацияБух



    НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Объект.Докум); //Документ ОперацияБух
    НаборЗаписей.Прочитать();
    Если НаборЗаписей.Количество()>0 Тогда
        ТЗ = НаборЗаписей.Выгрузить();
        Для СтрокаТЗ=0 По ТЗ.Количество()-1 Цикл
            Для КолТЗ=0 По ТЗ.Колонки.Количество()-1 Цикл
                Сообщить("Строка № "+СтрокаТЗ+1+""". Реквизит табличной части: """+ТЗ.Колонки[КолТЗ].Заголовок + """ со значением: "+?(ЗначениеЗаполнено(ТЗ[СтрокаТЗ][ТЗ.Колонки[КолТЗ].Имя]), ТЗ[СтрокаТЗ][ТЗ.Колонки[КолТЗ].Имя], "Не заполненно значение..."));
            КонецЦикла;
        КонецЦикла;
        Сообщить("Есть записи!");
    Иначе
        Сообщить("Нет записей!");
    КонецЕсли;

Q37

Цитата: бухг123 от 18 авг 2018, 15:04
Думаю так проще увидеть все записи в документе ОперацияБух



    НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Объект.Докум); //Документ ОперацияБух
    НаборЗаписей.Прочитать();
    Если НаборЗаписей.Количество()>0 Тогда
        ТЗ = НаборЗаписей.Выгрузить();
        Для СтрокаТЗ=0 По ТЗ.Количество()-1 Цикл
            Для КолТЗ=0 По ТЗ.Колонки.Количество()-1 Цикл
                Сообщить("Строка № "+СтрокаТЗ+1+""". Реквизит табличной части: """+ТЗ.Колонки[КолТЗ].Заголовок + """ со значением: "+?(ЗначениеЗаполнено(ТЗ[СтрокаТЗ][ТЗ.Колонки[КолТЗ].Имя]), ТЗ[СтрокаТЗ][ТЗ.Колонки[КолТЗ].Имя], "Не заполненно значение..."));
            КонецЦикла;
        КонецЦикла;
        Сообщить("Есть записи!");
    Иначе
        Сообщить("Нет записей!");
    КонецЕсли;



Спасибо большое за помощь!

Теги:  ошибка 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск