Здравствуйте!
Я только начинаю постигать мир программирования 1С, и пока не все понимаю. Поэтому заранее извиняюсь за ошибки в терминах или недостаток информации по задаче.

И собственно, какая задача:
Есть внешняя обработка, как на скриншоте. Нужно, чтобы по нажатию кнопки выгрузить любой произвольный заранее выбранный документ выгружался в txt файл. После чего должна быть возможность загрузить файл обратно в базу, получив таким образом например копию документа, но уже с другим номером.

Что у меня на данный момент получилось сделать:
1) Создание диалога для выбора текстового файла
2) Получение документыссылки с помощью реквизита Документ типа "ДокументСсылка"
3) Запись в текстовый файл этого документа.

И в этот момент я обнаружил, что в текстовый файл записывается только полное название документа, никаких других реквизитов нет.

Я часа 4 гуглил что с этим делать, пробовал разные запросы и так далее, но в итоге у меня ничего не получилось. Что я делаю не так? Как получить все данные из документа, как хотя бы к нему обратиться после получения ДокументСсылки.

Возможно это какой-то очень простой вопрос и вы сможете посоветовать мне базовые книги по 1С программированию? Буду очень благодарен.
---
понял почему их нужно использовать, но пока не понимаю как Несложно, но долго и нудно: по ссылке на документ определяете его вид, по виду обращаетесь к метаданным и получаете из них описание всех реквизитов, которые надо выгрузить в ваш txt. А после этого - считываете значения полученных реквизитов и их тоже пишете в txt.

Все это делаете в цикле по метаданным, пока реквизиты не кончатся - только так можно "получить все данные из документа".

В итоге все равно получите что-то вроде XML - теги, значения, атрибуты и т.д.
получаю ДокументСсылку, а как по ней получить возможность скопировать что то или записать (например через запрос) Записать (как вариант - скопировать) запросом нельзя - запрос предназначен для того, чтобы что-то прочитать из базы.

Вы бы лучше открыли секрет - для чего вам нужна такая выгрузка-загрузка? А то пока постановка задачи на уровне: "Как начинающему слесарю сделать пятиколесный велосипед с овальными колесами?"

А куда и зачем вам именно на таком надо ездить - молчок.
---
Что я делаю не так?
пихаете в .txt Чем Вам xml не угодил или ёксель на худой конец. Если Вы хотите скопировать документ, то может его лучше просто скопировать?
---
Вообщем делайте лучше так

```1c
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл("С:\Тест\МойМаленькийXML.Xml","UTF-8");
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ЗаписьXML.ЗаписатьНачалоЭлемента("Документы");
    ВыгружаемыйОбъект= Документ.ПолучитьОбъект();
    ЗаписатьXML(ЗаписьXML,ВыгружаемыйОбъект);
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.Закрыть();
```
---
Если Вам срочно, то предпочтите решения предложенные выше, если располагаете временем для разработки уделите внимание json, язык намного оптимизированный нежели xml.
---
Привет, столкнулся с такой же задачей, можешь помочь плез? А то я скоро вены вскрою(((
---
У меня такая же проблема. Можно посмотреть на вашу обработку ?
---
Если совсем "похабно" то можно воспользоваться ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр .А так желательно в xml или json пихать все
---
это задача и к сожалению в ее условии сказано решить всё без использования всего, что вы перечислили

Может есть какие-то запросы чтобы получить любой документ построчно?

И как на форме получить доступ к этому документу в запросе?
---
Так задача выгрузить или просто скопировать?

Насчет книг, почитайте Практическое пособие разработчика (Радченко), очень доступная книга.
---
выгрузить , причем придумать потом способ загрузить обратно. То есть фактически создать свой text формат экспорта импорта документов
---
выгрузить , причем придумать потом способ загрузить обратно. То есть фактически создать свой text формат экспорта импорта документов XML, в конце концов, тоже всего лишь текст.

А вообще, задачка далеко не для начинающих: разные виды документов имеют очень разные наборы реквизитов, а поскольку вид документа у вас заранее не оговорен, то надо работать с метаданными. Вы хоть в курсе, что это такое?
---
в курсе, даже понял почему их нужно использовать, но пока не понимаю как

Даже пока не понимаю как получить доступ к некой базе с документами, получаю ДокументСсылку, а как по ней получить возможность скопировать что то или записать (например через запрос) - не понимаю. Можете хотя бы этот момент объяснить, если не сложно?
---
понял почему их нужно использовать, но пока не понимаю как Несложно, но долго и нудно: по ссылке на документ определяете его вид, по виду обращаетесь к метаданным и получаете из них описание всех реквизитов, которые надо выгрузить в ваш txt. А после этого - считываете значения полученных реквизитов и их тоже пишете в txt.

Все это делаете в цикле по метаданным, пока реквизиты не кончатся - только так можно "получить все данные из документа".

В итоге все равно получите что-то вроде XML - теги, значения, атрибуты и т.д.
получаю ДокументСсылку, а как по ней получить возможность скопировать что то или записать (например через запрос) Записать (как вариант - скопировать) запросом нельзя - запрос предназначен для того, чтобы что-то прочитать из базы.

Вы бы лучше открыли секрет - для чего вам нужна такая выгрузка-загрузка? А то пока постановка задачи на уровне: "Как начинающему слесарю сделать пятиколесный велосипед с овальными колесами?"

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