Построитель 1С текста для формирования XML

1. anatol.goncearenco 01.10.24 15:59 Сейчас в теме
Опишу суть вопроса.
Периодически возникает задача выгрузки данных в файл XML для передачи в другую программу.
Дается пример такого файла XML (без XSD схемы).
Для этого программист анализирует структуру файла и вручную пишет модуль выгрузки.

Вопрос.
Есть ли обработка, которой даешь любой файл XML, а она формирует текст 1С процедуры для выгрузки, которая формирует XML файл, подобный примеру (по структуре).
Ведь в файле-примере есть всё - имена, начало, конец узлов, элементов, атрибутов... и эти имена можно использовать (например, в квадратных скобках), как параметры для передачи в них наших данных.
Т.е. нужен парсер файла XML, на выходе которого мы получили бы практически готовый (может с оговорками) текст процедуры для выгрузки данных в XML.
Типы данных здесь не важны, ведь как я уже сказал, в такую процедуру через параметры мы можем передавать, например, структуру, ТЗ..., где вопрос с типами данных решается в вызывающем модуле.
Т.е. такая своеобразная обработка для "ленивых" программистов с получением почти готового 1С текста.

Спасибо
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user1936660 01.10.24 17:12 Сейчас в теме
(1)
обработка, которой даешь любой файл XML, а она формирует текст 1С процедуры
Бросаешь туда барана, а оттуда - палка колбасы...

Отдельный элемент от списка из одного элемента xml отличать умеешь?
4. anatol.goncearenco 02.10.24 09:35 Сейчас в теме
(3) такая обработка была бы просто в помощь программисту - сколько времени нужно потерять, чтобы проанализировать структуру XML текста, а потом вручную монотонно писать начало узла, конец узла, атрибут...
Такая обработка была бы просто техническим помощником. И никто не запрещает сгенерированный текст проверить.
Ведь быстрее же запрос сформировать и проверить в консоли запросов, а затем перенести в конфигуратор или есть возражения?
6. user2033930 02.10.24 09:40 Сейчас в теме
(4)
а потом вручную монотонно писать начало узла, конец узла, атрибут...
Кто-то еще так пишет??? Я давно юзаю DOM.
9. anatol.goncearenco 02.10.24 09:49 Сейчас в теме
(6) А используя DOM, разве не монотонно пишешь на каждую строку XML строку DOM?
А разве нет практически однозначного соответствия конструкций XML и DOM?
А если есть, то почему же не сделать XML-парсер, который бы по XML-тексту формировал бы 1С текст в терминах DOM?
10. user1880116 02.10.24 09:52 Сейчас в теме
(4) А, ты из этих...

Нет такой обработки. Напишешь - будет.
13. anatol.goncearenco 02.10.24 10:04 Сейчас в теме
(10) Вот я и спрашиваю, а вдруг есть.
Лень заниматься рутинной работой, и ошибиться можно.
А лень - двигатель программиста. :)
5. anatol.goncearenco 02.10.24 09:38 Сейчас в теме
(3) а как же XML-парсеры, что они делают?
Речь только о том, чтобы такой парсер формировал (может с какими-то оговорками) текст 1С и всё.
11. Sashares 35 02.10.24 09:53 Сейчас в теме
(1) В БГУ2 есть похожее - форматы обмена.
В справочнике в табличной части задается полный путь к элементу/атрибуту и откуда брать данные.
Далее можно выгрузить выбранные документы по заданному формату обмена.
2. user1519152 01.10.24 16:16 Сейчас в теме
Шаблоны js сразу в голову приходят, react особенно. Может не на 1с напишете, на реакте прям так и пишут как вы хотите)
7. anatol.goncearenco 02.10.24 09:45 Сейчас в теме
(2) да, удачное сравнение с шаблонами. Ведь связь структуры XML и команд 1С практически однозначная.
Поэтому почему бы не сделать XML-парсер формирующий код 1С?
8. user2033930 02.10.24 09:48 Сейчас в теме
(7)
Поэтому почему бы не сделать XML-парсер формирующий код 1С?
Согласен. А почему бы и не сделать, в самом деле, а?
А ну-ка, все тутошние токсичные зануды, быстренько сделайте! Нам с Анатолием срочно нужен такой парсер. А вы до сих пор его не сделали...
12. anatol.goncearenco 02.10.24 10:00 Сейчас в теме
(8) Сарказм не совсем понятен. Ведь ты пользуешься построителем запроса и не имеешь ничего против.
Так представь, что при построении запроса вместо человека, выбирающего объекты конфигурации, строящего условия и т.д. подставили файл текст запроса, но на другом языке. А этот текст запроса обработает парсер и подставит в твой запрос и таблицы, и поля, и условия и связи таблиц...
И твой запрос будет сформирован автоматически и по правилам исходного запроса, который дан тебе на другом языке.
Т.е. я просто говорю об автоматическом переводе XML-текста в текст 1С.
Разве это плохо?
Разве это никому не понадобится?
Это не супер-пупер необходимо - ведь есть еще ручной труд программиста, как например, делаешь ты, но наверно просто до этого не додумались. :)
14. Kanigin 02.10.24 10:18 Сейчас в теме
(12) Идея отличная, приходилось ваять выгрузку в файлики... Что если написать в 1С?
16. anatol.goncearenco 02.10.24 10:29 Сейчас в теме
(14) В 1С написать однозначно можно (может, с некоторыми оговорками).
А вдруг уже есть.
Вот я и спрашиваю. :)
26. RustamZz 02.10.24 10:57 Сейчас в теме
(16) 1С во всю LLM пилят: второй пилот для 1С-ника назвали. Идею им закиньте может сделают.
27. user1880116 02.10.24 12:02 Сейчас в теме
(26)
1С во всю LLM пилят
Калимулину только не рассказывай =]
29. anatol.goncearenco 02.10.24 16:47 Сейчас в теме
(26) Стесняюсь спросить, но... спрошу.
А что такое LLM?
30. nomad_irk 76 02.10.24 16:51 Сейчас в теме
(29) Large Language Model - большая языковая модель, по-рабоче-крестьянски - чатбот типа ChatGPT
20. anatol.goncearenco 02.10.24 10:38 Сейчас в теме
(14) вот и у меня задача - есть пример XML-файла, который нужно получать, подставляя данные разных документов (документы одного вида).
Я и подумал, а вдруг есть XML-парсер в команды 1С.
21. user1880116 02.10.24 10:39 Сейчас в теме
(20)
вот и у меня задача - есть пример XML-файла,
Так, получается, вся эта бодяга из-за одного файла и чудовищной лени?
23. anatol.goncearenco 02.10.24 10:41 Сейчас в теме
(21) А как возникают новые идеи?
Тебе лень перепроводить каждый документ отдельно, вот и написал обработку...
25. user1880116 02.10.24 10:51 Сейчас в теме
(23)
Тебе лень перепроводить каждый документ отдельно, вот и написал обработку...
Так-так-так. И кому же в нашем случае стало лень? И кто же должен в этом случае что-то написать?

Аж две темы уже завел...
24. anatol.goncearenco 02.10.24 10:44 Сейчас в теме
(21) у меня два файла.
А у кого-то еще один, у кого-то еще...
Обработка не помешала бы.
15. Sashares 35 02.10.24 10:20 Сейчас в теме
(12) Так сделайте и выложите публикацию на инфостарте.
17. anatol.goncearenco 02.10.24 10:30 Сейчас в теме
(15) А вдруг уже есть.
Хотелось бы побыстрее ее иметь :)
19. user1880116 02.10.24 10:38 Сейчас в теме
(17)
Хотелось бы побыстрее ее иметь
Вся суть 1Сников в одной фразе - "Дайте Мне Быстрее".

Прав, ох прав, был Лустин 100500 лет тому назад, когда про потребительство сообщества вещал.
28. starik-2005 3084 02.10.24 16:38 Сейчас в теме
(19)
100500 лет тому назад
Он жив еще?
31. user1880116 02.10.24 19:29 Сейчас в теме
(28)
Он жив еще?
Фиг знает. В онлайне не заметно, а по оффлайн мероприятиям я не особо хожу.

Я его не видел с той поры, когда они в саму 1С пролезть хотели со своей методикой разработки. Лустин тогда жутко возбуждался по этому поводу, показывал всем фото Олега Фогеля без бороды и патетически спрашивал "Вы знаете Кто Это?"

А потом как-то возбудился в другую сторону и начал удалять свои учетки, в том числе и здесь...
32. starik-2005 3084 03.10.24 10:38 Сейчас в теме
(31)
"Вы знаете Кто Это?"
Мне тоже пришлось спрашивать у этих ваших интернетов...
33. user1880116 03.10.24 10:45 Сейчас в теме
(32) Там весь смысл был в том, что Олег, он обычно с бородой ходил. А тут внезапно решил ее сбрить. В результате узнать его мог только тот, кто с ним часто общался.

Такая вот паляниця =]
18. SlavaKron 02.10.24 10:37 Сейчас в теме
По-моему, овчинка выделки не стоит. Там каждый день что ли структура меняется? Вы ж не от руки в конфигураторе прописываете формирование каждого узла. Ctrl+C Ctrl+V, да теги менять.
triviumfan; user1880116; +2 Ответить
22. anatol.goncearenco 02.10.24 10:40 Сейчас в теме
(18) Может быть.
Но знаете, мелочь, а приятно. :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот