С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 45
1

Выгрузить в табличную часть

18.04.2016, 15:42. Показов 1388. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, с загрузкой данных в табличную часть. Чтобы вывелись данные из узла Сем. Для разных диспицлин, количество таких строк разное.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<Строка Дис="Иностранный язык" НовЦикл="Б1.Б" НовИдДисциплины="Б1.Б.3" Цикл="Б1" ИдетификаторВидаПлана="2" ИдетификаторДисциплины="Б1.Б.3" ГОС="288" СР="107" ЧасовИнтер="46" КомпетенцииКоды="5" Компетенции="ОК-5" Кафедра="1" ПодлежитИзучению="288" КредитовНаДисциплину="8" ЧасовВЗЕТ="36" СемЭкз="4" СемЗач="123" СемКР="2" НовСемЗач="123">
        <Сем Ном="1" Пр="34" ИнтПр="14" СРС="20" ЗЕТ="1.5" Зач="1">
          <VZ ID="103" H="34" IntH="14" />
          <VZ ID="107" H="20" />
        </Сем>
        <Сем Ном="2" Пр="34" ИнтПр="10" СРС="20" ЗЕТ="1.5" Зач="1" КР="1">
          <VZ ID="103" H="34" IntH="10" />
          <VZ ID="107" H="20" />
        </Сем>
        <Сем Ном="3" Пр="34" ИнтПр="10" СРС="29" ЗЕТ="1.75" Зач="1">
          <VZ ID="103" H="34" IntH="10" />
          <VZ ID="107" H="29" />
        </Сем>
        <Сем Ном="4" Пр="34" ИнтПр="12" СРС="38" ЧасЭкз="45" ЗЕТ="3.25" Экз="1">
          <VZ ID="103" H="34" IntH="12" />
          <VZ ID="107" H="38" />
          <VZ ID="108" H="45" />
        </Сем>
Часть кода:
1C
1
2
3
4
5
6
Если Чтение.Имя = "Сем" Тогда 
ЭлементСпр = Справочники.РУП.ПолучитьОбъект();
Для Каждого ЭлементСпр ИЗ Объект.Часть Цикл
НоваяСтрока = ЭлементСпр.Часть.Добавить;
НоваяСтрока.Лекции = Чтение.ПолучитьАтрибут("Лек");
ЭлементСпр.Записать();
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2016, 15:42
Ответы с готовыми решениями:

Добавление реквизита в табличную часть
Здравствуйте! Есть два документа Приходная (реквизит - договор, вводится вручную и табличная часть...

Автозаполнение из шапки в табличную часть
Здравствуйте, я столкнулась с такой проблемой.. у меня в реквизитах шапки есть поле Дата1 и создана...

Данные из справочника в табличную часть документа
Здравствуйте. Ситуация следующая: Существует справочник &quot;Маршруты&quot; с реквизитами ПунктЗагрузки и...

Получение реквизитов через табличную часть
Ребят подскажите 1С8.3 с разделением сервер-клиент упр.формы. В Номенклатуре есть реквизит...

8
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
18.04.2016, 16:00 2
valexab, эту строку надо прочитать?
<Сем Ном="1" Пр="34" ИнтПр="14" СРС="20" ЗЕТ="1.5" Зач="1">
Здесь и получайте каждый атрибут:
1C
1
НоваяСтрока.Пр= Чтение.ПолучитьАтрибут("Пр");
Это неверно. Здесь надо бы получать последнюю прочитанную в файле дисциплину.
1C
1
ЭлементСпр = Справочники.РУП.ПолучитьОбъект();
Добавлено через 6 минут
Возвращаясь к теме Загрузка из XML
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Выводить Тогда
    Если Чтение.Имя = "Строка" Тогда
        НовЭлементСпр = Справочники.УчебныйПлан.СоздатьЭлемент(); //возможно справочник имеет другое имя
        НовЭлементСпр.Наименование = Чтение.ПолучитьАтрибут("Дис");
        НовЭлементСпр.НовЦикл = Чтение.ПолучитьАтрибут("НовЦикл");
        //
        НовЭлементСпр.Записать();
    КонецЕсли;
    Если Чтение.Имя = "Сем" Тогда 
        ЭлементСпр = НовЭлементСпр.ПолучитьОбъект();
        Для Каждого ЭлементСпр ИЗ ЭлементСпр.Часть Цикл
            НоваяСтрока = ЭлементСпр.Часть.Добавить();
            НоваяСтрока.Пр = Чтение.ПолучитьАтрибут("Пр");
            НоваяСтрока.ИнтПр = Чтение.ПолучитьАтрибут("ИнтПр");
            //и т.д.
        КонецЕсли;
        ЭлементСпр.Записать();    
    КонецЕсли;
КонецЕсли;
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 45
18.04.2016, 16:45  [ТС] 3
Все равно ошибка
{Справочник.РУП.Форма.ФормаСписка.Форма(36)}: Метод объекта не обнаружен (ПолучитьОбъект)
ЭлементСпр = НовЭлементСпр.ПолучитьОбъект();
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
18.04.2016, 17:03 4
valexab, а где у вас выполняется код? выложите всю процедуру
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 45
18.04.2016, 17:32  [ТС] 5
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
&НаСервере
Процедура Команда1НаСервере()
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("G:\document.xml");
Выводить = Ложь;
Пока Чтение.Прочитать()Цикл
    
    Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя="СтрокиПлана" Тогда
        Выводить = Истина;
    Конецесли;
    Если Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента И Чтение.Имя="СтрокиПлана" Тогда
        Выводить = Ложь;
    Конецесли;
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Выводить Тогда
    Если Чтение.Имя = "Строка" Тогда
                    НовЭлементСпр = Справочники.РУП.СоздатьЭлемент();
            НовЭлементСпр.Наименование = Чтение.ПолучитьАтрибут("Дис");
            НовЭлементСпр.Цикл = Чтение.ПолучитьАтрибут("НовЦикл");
            НовЭлементСпр.ВидДисциплины = Чтение.ПолучитьАтрибут("НовИдДисциплины");
НовЭлементСпр.ИдетификаторВидаПлана = Чтение.ПолучитьАтрибут("ИдетификаторВидаПлана");
НовЭлементСпр.ИдетификаторДисциплины = Чтение.ПолучитьАтрибут("ИдетификаторДисциплины");
НовЭлементСпр.ГОС = Чтение.ПолучитьАтрибут("ГОС");
НовЭлементСпр.СР = Чтение.ПолучитьАтрибут("СР");
НовЭлементСпр.КомпетенцииКоды = Чтение.ПолучитьАтрибут("КомпетенцииКоды");
НовЭлементСпр.Компетенции = Чтение.ПолучитьАтрибут("Компетенции");
НовЭлементСпр.Кафедра = Чтение.ПолучитьАтрибут("Кафедра");
НовЭлементСпр.ПодлежитИзучению = Чтение.ПолучитьАтрибут("ПодлежитИзучению");
НовЭлементСпр.КредитовНаДисциплину = Чтение.ПолучитьАтрибут("КредитовНаДисциплину");
НовЭлементСпр.ЧасовВЗЕТ = Чтение.ПолучитьАтрибут("ЧасовВЗЕТ");
НовЭлементСпр.СемЭкз = Чтение.ПолучитьАтрибут("СемЭкз");
НовЭлементСпр.СемКП = Чтение.ПолучитьАтрибут("СемКП");
НовЭлементСпр.СемКП = Чтение.ПолучитьАтрибут("СемРГР") ;
НовЭлементСпр.Записать();
КонецЕсли;
Если Чтение.Имя = "Сем" Тогда 
ЭлементСпр = НовЭлементСпр.ПолучитьОбъект();
Для Каждого ЭлементСпр ИЗ ЭлементСпр.Часть Цикл
НоваяСтрока = ЭлементСпр.Часть.Добавить();
НоваяСтрока.Пр = Чтение.ПолучитьАтрибут("Пр");
КонецЦикла;
ЭлементСпр.Записать();
КонецЕсли;
КонецЕсли;
КонецЦикла
КонецПроцедуры
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
18.04.2016, 18:09 6
valexab, пропишите НовЭлементСпр.Ссылка.ПолучитьОбъект();
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 45
18.04.2016, 18:13  [ТС] 7
Ошибки нет, но и в табличную часть не записывает
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
18.04.2016, 19:25 8
Лучший ответ Сообщение было отмечено valexab как решение

Решение

valexab,
1C
1
2
3
4
5
6
Если Чтение.Имя = "Сем" Тогда 
ЭлементСпр = НовЭлементСпр.ПолучитьОбъект();
НоваяСтрока = ЭлементСпр.Часть.Добавить();
НоваяСтрока.Пр = Чтение.ПолучитьАтрибут("Пр");
ЭлементСпр.Записать();
КонецЕсли;
2
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 45
18.04.2016, 19:42  [ТС] 9
Спасибо большое за помощь!
0
18.04.2016, 19:42
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2016, 19:42
Помогаю со студенческими работами здесь

Дублирование данных из реквизита в табличную часть
Собственно суть, надо просто продублировать значение из реквизита в табличную часть одного...

Данные из регистра сведений в табличную часть
Здравствуйте. Есть регистр сведений &quot;КоэффициентыНормГСМ&quot; с измерениями Автомобиль и Коэффициент....

Ввод значения из реквизита в табличную часть
Добрый день! Есть документ &quot; Проекты&quot;, в котором есть реквизит &quot;Наименование&quot;. Также в данном...

Программно заполнить Табличную часть документа
Написал процедуру, но она заполняет только теми данные что напишу в самом коде, то есть если пишу ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Блоги программистов
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­хронны­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru