Имя: Пароль:
1C
1С v8
Работа с файлами
0 stepanov1991
 
09.09.14
13:52
Здравствуйте! Ситуация такая, Нужно что бы в справочнике(клиенты) к элементу справочника можно было добавлять файл. Сделал, Но хранится это все в этом же файле. Виснет тормозит, если данных будет много. Есть справочник
"Хранение файлов", нужно что бы файлы хранились там, но добавлять можно было из первого справочника.
В справочнике клиенты сделал таб.поле Обозвал "ХР" с типомЗначения (СправочникСписок.ХранилищеФайлов)
вот кнопка при выборе файла
    
        Режим = РежимДиалогаВыбораФайла.Открытие;
        ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
        ДиалогОткрытияФайла.Заголовок = "Выберите файл";
        Если ДиалогОткрытияФайла.Выбрать() Тогда              //выбираем файл
            ИмяФайла=ДиалогОткрытияФайла.ВыбранныеФайлы[0];
        Иначе
            Текст = "ru = ""Файл не выбран!""; en = ""File not selected!""";
            Предупреждение(НСтр(Текст));
            Возврат;
        КонецЕсли;
        
        Файл=Новый ДвоичныеДанные(ИмяФайла);
        НовСтрока=ХР.Добавить();
        НовСтрока.ИмяФайла=СтрЗаменить(ДиалогОткрытияФайла.ПолноеИмяФайла,ДиалогОткрытияФайла.Каталог,"");
        НовСтрока.ХР= Новый ХранилищеЗначения(ХР);    
        НовСтрока.Размер = Окр((файл.Размер()/1024),2); //выводит размер файла
        НовСтрока.ДатаСоздания=ТекущаяДата(); //Дата записи файла
        НовСтрока.Автор=ПараметрыСеанса.ТекущийПользователь; //какой пользователь записал



выдает вот это
{Справочник.Клиенты.Форма.ФормаЭлемента.Форма(502)}: Метод объекта не обнаружен (Добавить)
        НовСтрока=ХР.Добавить();

Помогите разобраться как правильно сделать (
1 GROOVY
 
09.09.14
13:53
2 Ёпрст
 
09.09.14
13:54
(0) в типовых же и штатно всё есть.. зачем это всё ?
3 stepanov1991
 
09.09.14
13:55
так это не типовая
4 anatoly
 
09.09.14
13:56
(3) дак посмотри в типовой ))
5 stepanov1991
 
09.09.14
13:58
так у него хранится все в этом же справочнике
6 kosts
 
09.09.14
14:04
(0) Попробуй вместо

НовСтрока=ХР.Добавить();
        
написать

НовСтрока.ХР = Новый ХранилищеЗначения(ХР);  
НовСтрока=ХР.Добавить();
7 kosts
 
09.09.14
14:06

МояКартинка = Новый Картинка("C:\Мои документы\Картинка1.bmp");
ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка);

НовНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НовНоменклатура.Наименование = "Диван ""Маргарита""";
НовНоменклатура.Изображение = ХранилищеКартинки;
НовНоменклатура.Записать();

Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший