Здравствуйте, пытаюсь загрузить файл в хранилище 1с
нашел справочник - Файлы, там по кнопочке создать вылезает диалог выбора, выбираем файл и все.
Пытаюсь программно это дело сделать и ошибки нет,но и ничего не записывает.
Код такой

```1c
    //Загружаем файл в справочник файлы

    файл = Новый ЧтениеТекста(НовыйПутьКфайлу);
    Знч = Новый ТаблицаЗначений();
    текстданные= файл.Прочитать();
    Хранилище = Новый ХранилищеЗначения(Знч, Новый СжатиеДанных(9));
    КопияФайла = Справочники.Файлы.СоздатьЭлемент();
    КопияФайла.ТекстХранилище = Хранилище;
    КопияФайла.Записать();
```

Чего возможно не хватает?
---
Процедура ДобавитьФайлНаСервереНажатие(Кнопка)

```1c
    ПутьКФайлу = "D:\Test.xlsx";
    ДФайл = Новый ДвоичныеДанные(ПутьКФайлу);
    ХЗ = Новый ХранилищеЗначения(ДФайл);

    ХЗ.Записать();

    КонецПроцедуры
```
---
Гость, если код разобрать своими словами:
1. Создаем объект для чтения текста из файла;
2. Создаем таблицу значений (пустую);
3. читаем текст в переменную "текстданные";
4. создаем хранилище на основании пустой таблицы значений;
5. Создаем элемент справочника Файлы;
6. Помещаем в реквизит элемента справочника созданное ранее хранилище значений;
7. Записываем элемент справочника;

Как вариант, возможно ошибка в логике 4 пункта.
---
Гость,
....

```1c
    Хранилище = Новый ХранилищеЗначения(текстданные, Новый СжатиеДанных(9));
```

....

не?
---
корум, нет)
---
А вы там с хранилищем не зря заморачиваетесь? Судя по названию реквизита КопияФайла.ТекстХранилище там текст ожидается. Как вообще определяете, что ничего не записалось?
---
Окей, пытаюсь сделать немножко подругому. нашел функцию которая загружает файл и читает и т.д

```1c
    обработка = Справочники.Файлы.ПолучитьФорму("Файлы");

    обработка.Открыть();

    Файл = Новый ЧтениеТекста(НовыйПутьКфайлу);

    ПараметрыВыполнения = Новый Структура;

    ПараметрыВыполнения.Свойство(файл);

    ПараметрыВыполнения.Вставить(файл);

    ФайлКлиента = Новый Файл(ПараметрыВыполнения);

    обработка.ДобавитьИзФайловойСистемыСРасширениемСинхронно(ПараметрыВыполнения);

    Обработка.Закрыть();
```

это сама функция - ДобавитьИзФайловойСистемыСРасширениемСинхронно(ПараметрыВыполнения)

Правильно вообще ее вызываю?тоесть из внешней обработки обратиться к функции которая в форме справочника.

пишет ошибку {ВнешняяОбработка.ВыгрузкаЛьготников.Форма.Форма.Форма(258)}: Метод объекта не обнаружен (ДобавитьИзФайловойСистемыСРасширениемСинхронно)
---
Даже не так, функция находится в общем модуле.написал так. - РаботаСФайламиСлужебныйКлиент.ДобавитьИзФайловойСистемыСРасширениемСинхронно(ПараметрыВыполнения);так называется общий модуль - РаботаСФайламиСлужебныйКлиентошибка - Переменная не определена (РаботаСФайламиСлужебныйКлиент)
---
Надо было так:

```1c
    файл = Новый ЧтениеТекста(НовыйПутьКфайлу);
    текстданные= файл.Прочитать();
    Хранилище = Новый ХранилищеЗначения(текстданные, Новый СжатиеДанных(9));
    КопияФайла = Справочники.Файлы.СоздатьЭлемент();
    КопияФайла.ТекстХранилище = Хранилище;
    КопияФайла.Записать();
```
---
Не не вариант, создает пустую запись, тоесть пустой файл без данных, нет чтения, надо процедуру вызывать.

И еще такой вопрос не по теме, можно ли файл xlsx(xml) загрузить в таблицу значений? там же получается если в файле есть такая хрень как объединение строк, и как ее там потом передавать в тз.
---
А как реализовать такую штучку с нуля? тобишь пустая конфигурация и нужно по кнопочке или по реквизиту загружать файл в хранилище значений.
---
Процедура ДобавитьФайлНаСервереНажатие(Кнопка)

```1c
    ПутьКФайлу = "D:\Test.xlsx";
    ДФайл = Новый ДвоичныеДанные(ПутьКФайлу);
    ХЗ = Новый ХранилищеЗначения(ДФайл);

    ХЗ.Записать();

    КонецПроцедуры
```