7.7 картинка Справочнк.Номенклатура

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем NovInNik, 22 янв 2010.

  1. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    Всем добрый день!

    конфигурация ТиС 9.2
    Возник вопрос в следующем:
    на форме Справочник.Номенклатура добавил реквизиты:
    картинка - ид. = Изображение
    кнопка - процедура = ВвестиКартинку()
    поле ввода - ид. = Картинка (строка, неогр.)

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

    Изображение.Загрузить(КаталогИБ()+Картинка);
    {Справочник.Номенклатура.Форма.Модуль(931)}: Общая файловая ошибка при доступе к C:\Work\работа shop-panda\DB\Foto_mini\00000047.jpg

    пробовал ... DB\Foto_mini\00000047.jpg, та же ошибка только путь прямой

    Код:
    ///данные которые вставлял
    Перем ТаблицаПечФорм;
    Перем НомерТекущейФормы;
    Перем КаталогФотографий, УдалитьЛого, ВремФайл, ЕстьЛого, ФайлЛого;
    //******************************************************************************
    Функция Лого(Карт)
    //ФайлЛого=СокрЛП(Изображение);
    Если СтрДлина(ФайлЛого)>0  Тогда
    Если ФС.СуществуетФайл(ФайлЛого)=1 Тогда
    Карт.Загрузить(ФайлЛого);
    Иначе
    Карт.Загрузить(КаталогИБ()+"0.bmp");
    КонецЕсли;
    КонецЕсли;
    КонецФункции
    
    Процедура ПриОткрытии()
    ...
    Если (ФС.СуществуетФайл(КаталогИБ()+Картинка)=1) и (Картинка<>"") Тогда
    Изображение.Загрузить(КаталогИБ()+Картинка);
    Иначе
    Изображение.Загрузить(КаталогИБ()+"0.bmp");
    КонецЕсли;
    ...
    КонецПроцедуры
    
    Процедура ВвестиКартинку()
    Перем файл;
    Перем каталог;
    файл="";
    Если ФС.ВыбратьФайлКартинки(0,файл,каталог,"Выберите файл")=1 Тогда
    
    Картинка	= КаталогФотографий+СокрЛП(Код)+"."+Прав(файл,3);
    ФС.КопироватьФайл(каталог+файл,КаталогИБ()+Картинка,0);
    Изображение.Загрузить(КаталогИБ()+Картинка);
    //УдалитьЛого=0;
    КонецЕсли;
    КонецПроцедуры
    
    Процедура ПриЗаписи()
    ...
    Если СтрДлина(ВремФайл)>0  Тогда
    Если ЕстьЛого=1  Тогда
    ФайлЛого=?(СтрДлина(ФайлЛого)>0,ФайлЛого,КаталогФотографий+"Logo"+СокрЛП(Строка(Код))+".*");
    ФС.УдалитьФайл(КаталогИБ()+КаталогФотографий+ФС.НайтиПервыйФайл(ФайлЛого));
    КонецЕсли;
    ФайлЛого=КаталогИБ()+КаталогФотографий+"Logo"+СокрЛП(Строка(Код))+"."+Прав(ВремФайл,3);
    ФС.КопироватьФайл(ВремФайл,ФайлЛого,0);
    Лого=ФайлЛого;
    ИначеЕсли УдалитьЛого=1 Тогда
    Лого=""
    КонецЕсли;
    ...
    КонецПроцедуры
    
    
    КаталогФотографий="Foto_mini\";
    Изображение.РежимРисования(1);
    
    
    Где может быть ошибка, СРОЧНО надо.
    Спасибо за ответы.

    Извините, но вопрос скорее в следующем, работает данная обработка с форматом *.bmp, а как организовать в *.jpg

    [warn="!!! Внимание !!!"]Пользуйтесь тегами[/warn]
  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    может в этом?)
    далее:
    а надо ли? платформа старая.. если только с помощью какой-нибудь внешней вк.. но проще взять и например программой ACDSee перегнать все в bmp..
  3. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    нет, скорее всего проблема в чем-то другом, у меня создан справочник по сертификатам, так там применяется *.jpg, сделал почти все на основе данного, но проблема почему-то имеется. И перегонять все в *.bmp нет необходимости, так как все потом придется выгружать на сайт. Да и качество у bmp не ахти.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Какой размер кардинки для номенклатуры? С большими вайлами 1с не работает...
  5. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    объемом не более 35 кб, размером 154*120*24 (такие почти все)

    Хотя когда пользователи подвязывают сертификаты, там изображения большие и ни че работает. В карточке сохраняет.
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Может банально проверить доступ к каталогу?
  7. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    доступ есть, работаю на одном компе, пробовал обращаться напрямую.
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А если попробовать
    Код:
    Изображение.Загрузить(КаталогИБ()+СокрЛП(Картинка));
    
    
  9. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    Не помогает
  10. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    пробуем упростить код..
    Код:
    Если ФС.ВыбратьФайлКартинки(0,файл,каталог,"Выберите файл")=1 Тогда
    Картинка    = КаталогФотографий+СокрЛП(Код)+"."+Прав(файл,3);
    //ФС.КопироватьФайл(каталог+файл,КаталогИБ()+Картинка,0); 
    Изображение.Загрузить(КаталогИБ()+Картинка);
    //УдалитьЛого=0;
    КонецЕсли;
    
    
    
    убираем всё, оставляем для теста только "Изображение.Загрузить(КаталогИБ()+Картинка);" или вообще "Изображение.Загрузить("c:\Картинка.jpg");" "
  11. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    пробовал убирать, чтобы не копировало
    Общая файловая ошибка при доступе к D:\1S_Base\DB\Foto_mini\00000047.jpg
  12. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Код:
     Procedure Main()
    КаталогФотографий="c:"; // соответсвенно со слешом, форум не дает вставлять)
    Изображение = CreateObject("Picture");
    Изображение.РежимРисования(1);
    Изображение.Загрузить(КаталогФотографий+"test.jpg");
    Message(КаталогФотографий+"test.jpg - загружен");
    EndProcedure 
    
    
    
    
    вот этот код у меня работает, тоже самое с изображением на форме. Файл jpg ~ 45 kb
  13. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    Приведенный код отображает картинку на форме номенклатуры?
  14. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    отображает на форме, я просто обработку сделал, у справочника не проверял, но не сомневаюсь что будет тоже самое..
  15. TopicStarter Overlay
    NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    194
    Симпатии:
    1
    Баллы:
    29
    Выражаю благодарность всем кто откликнулся, тему закрываем, сделал все намного проще и компактней. Все отображается
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    По правилам хорошего тона выкладывайте рабочий код - вдруг кому пригодится

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