8.х Объект ФС

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AugustBlack, 3 апр 2011.

  1. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Здрасьте. Хочу загрузить картинку в базу.Платформа 1С 8.1. Читаю примеры по работе с ФС

    Код:
    ИмяФайла = "";
    ИмяКаталога = КаталогИБ();
    
    Если ФС.ВыбратьФайлКартинки(0,ИмяФайла,ИмяКаталога,"Укажите файл с фотографией:",,20)=1 Тогда
    
    ВремКартинка = СоздатьОбъект("Картинка");
    ВремКартинка.Загрузить(ИмяКаталога + ИмяФайла);
    КартинкаНаФорме.УстановитьКартинку(ВремКартинка);
    
    Переменная не определена (ФС)
    Процедура или функция с указанным именем не определена (КаталогИБ)
    Процедура или функция с указанным именем не определена (СоздатьОбъект)


    почему ошибки? не подключено может что то..
  2. sergejk74
    Offline

    sergejk74 Опытный в 1С

    Регистрация:
    15 ноя 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Пример для версии 7.7. Там синтасис другой
  3. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    //загрузка в базу
    Код:
    Процедура ПроектнаяДокументацияПриложениеНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка=ложь;
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите файл";
    Диалог.ПолноеИмяФайла = ""; 
    Фильтр = "JPG (*.jpg)|*.jpeg"; 
    Диалог.Фильтр = Фильтр; 
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Каталог = "C:�";
    Если Диалог.Выбрать() Тогда
    Элементыформы.ПроектнаяДокументация.ТекущиеДанные.Приложение = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), Новый СжатиеДанных());
    КонецЕсли;
    
    
    
    Разобрался с сохранением через хранилище значений вроде. Но как выгрузить теперь не понимаю..
    //сохранение
    Код:
    Процедура ПроектнаяДокументацияПриложениеОткрытие(Элемент, СтандартнаяОбработка)
    
    Режим = РежимДиалогаВыбораФайла.Сохранение; 
    ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим); 
    ДиалогСохраненияФайла.ПолноеИмяФайла = "test"; 
    Фильтр = "Текст(*.jpg)|*.jpeg)";                 
    ДиалогСохраненияФайла.Фильтр = Фильтр; 
    ДиалогСохраненияФайла.МножественныйВыбор = Ложь; 
    ДиалогСохраненияФайла.Заголовок = "Выберите файл"; 
    Если ДиалогСохраненияФайла.Выбрать() Тогда 
    ПутьКФайлу = ДиалогСохраненияФайла.ПолноеИмяФайла;
    
    КонецЕсли;    
    //тут вот, что...
    КонецПроцедуры
    
    
    как выгрузить из хранилища значений?=(
  4. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
    ДвоичныеДанные = Элементыформы.ПроектнаяДокументация.ТекущиеДанные.Приложение.Получить();
    ДвоичныеДанные.Записать(ПутьКФайлу);
    
    
  5. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Большое спасиба!!!:) Еще глупый может вопрос..
    но не пойму почему в табличной части у реквизита с типом хранилище данных нельзя поменять название...некрасивое а то "ХранилищеЗначения" всегда, хоть с загруженной в базу картинкой и без..как поменять ее..чегото не найду де это..

    Вложения:

    • wtf.jpg
      wtf.jpg
      Размер файла:
      14,2 КБ
      Просмотров:
      7
  6. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    А Вы его не отображайте, а вместо него сделайте колонку на форме и заполняйте нужным Вам текстом.
  7. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Сделал колонку.....
    вообщем
    Есть табличное поле, там поле "приложение" ХранилищеЗначения допустим если ктото загрузил картинку в него то как показать это в табличном поле? я создал колонку "Картинка" с типом булево (она нисчем не связана)чтобы просто отмечать те строчки в которых загруженны картинки галкой в нем. И вот при выводе строки запихал это

    Код:
    Процедура ПроектнаяДокументацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если Элементыформы.ПроектнаяДокументация.ТекущиеДанные.Приложение.Получить()<>Неопределено Тогда
    Элементыформы.ПроектнаяДокументация.ТекущиеДанные.Картинка.Значение = Истина
    КонецЕсли;
    КонецПроцедуры
    
    
    
    не понимаю почему 1с его не видит?
    {Справочник.Объекты.Форма.ФормаЭлемента(452)}: Поле объекта не обнаружено (Картинка)
    Элементыформы.ПроектнаяДокументация.ТекущиеДанные.Картинка = Истина
  8. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Потому что картинка это не реквизит табличной части
  9. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Можно попробовать так
    Код:
    Элементыформы.ПроектнаяДокументация.Колонки.Картинка.ЭлементУправления.Значение = Истина;
    
    

Поделиться этой страницей