Помогите, пож-та. Есть данные в текстовом формате, их надо загрузить в 1С в справочник. Подскажите пожалуйста код обработки.
Помогите, пож-та. Есть данные в текстовом формате, их надо загрузить в 1С в справочник. Подскажите пожалуйста код обработки.
Есть на ИТС, если таковой отсутствует, можно:<br>
В каком формате текствоый файл? Что-ть типа "Код-Наименование-Цена". Если можно - пример строки с комментариями о значениях. Дело в том, что создать универсальную обработку загрузки создать достаточно сложно - приходится каждый раз затачивать под ситуацию.
Что-то вроде:<br>Лиц. счет, ФИО, Адрес, Сальдо входящее, начислено, оплачено, Сальдо исходящее. И дальше идут значения, как в таблице. После определенного числа строк шапка повторяется.
Можно написать обработку по загрузке этих данных. Или самому, или обратиться к спецам.
Из текстового файла грузить просто. Хотя в виду того, что для каждого сотрудника довольно много данных идёт, то для такого случая было бы лучше использовать XML.
Как его использовать? Пыталась разобраться недавно, но пока не понимаю.
Закинь, что делать на elma@box.vsi.ru. <br>Напишем.
"Да очень просто.<br>Если нужно просто перекинуть данные откуда-то куда-то, то для того, что бы не ломать голову делаем всё просто.<br><br>Пробежимся по справочнику "сотрудники" и выгрузим от туда чЯго-нить<br><br>ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll");<br>хмл = СоздатьОбъект("AddIn.XMLParser");<br>спр = СОздатьОбъект("Справочник.Сотрудники");<br>док = хмл.СоздатьДокумент();<br>данные = док.СоздатьПодчиненныйЭлемент("Сотрудники");<br>спр.ВыбратьЭлементы();<br>Пока спр.ПолучитьЭлемент() = 1 цикл <br> Если спр.ТекущийЭлемент().ЭтоГруппа() = 1 тогда продолжить; КонецЕсли;<br> имя_узла = стрзаменить(строка(спр.ТекущийЭлемент()), " ", "_");<br> сотр = данные.СоздатьПодчиненныйЭлемент(имя_узла); <br>сотр.УстановитьАтрибут("дата_рождения", строка(спр.ТекущийЭлемент().ДатаРождения));<br> сотр.УстановитьАтрибут("Должность", спр.ТекущийЭлемент().Должность);<br><br>// .... Тут добавляем всё, что нам нужно<br><br>КонецЦикла;<br>док.Записать("C:\my_xml.xml");<br><br><br>Теперь читаем всё, что там записано в файле<br><br>док = хмл.СоздатьДокумент();<br>док.Загрузить("C:\my_xml.xml");<br>данные = док.ВыбратьУзел("Сотрудники");<br>для й = 1 по данные.КоличествоПодчиненных() цикл<br> сотр = данные.ПолучитьПодчиненныйПоНомеру(й);<br> стр = стрзаменить(сотр.Наименование, "_", " ") + " ";<br> стр = стр + сотр.ПолучитьАтрибут("дата_рождения");<br> стр = стр + " " + сотр.ПолучитьАтрибут("Должность"); <br> Сообщить(стр);<br>конеццикла;<br><br><br>Думаю, что должно стать понятным как всё организовывается.<br>Преимущество перед текстовым вариантом в том, что уже готов парсер - не надо самому производить разбивку текста на токены (слова) и вытаскивать что тебе нужно.<br>достаточно написать ПолучитьАтрибут("имя атрибута") и всё.<br><br>"
Большое спасибо, буду пробовать.
26 апреля 2024 года — Форум пользователей «1С:Документооборота» |
1C:Лекторий: 25 апреля 2024 года — Бесплатная онлайн-лекция об учете НМА в 2024 году, практические рекомендации в 1С 1C:Лекторий: 7 мая 2024 года — Бесплатная онлайн-лекция о новом в 1С:ЗУП (версии 3.1.27-3.1.29): поддержка изменений по налогам и взносам, СЭДО, регистрация в органе статистики и другие изменения |