7.7 Картинка товара в подборе номенклатуры 1С 7.7 Тис

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

  1. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    а у меня почему не работает?
  2. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Что именно не работает? Фото экрана где?
  3. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.518
    Симпатии:
    53
    Баллы:
    54
    ну, зачем это
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    будь проще
    Фото.Загрузить(ФайлФото);
    man37 нравится это.
  4. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Ранее то же писал, что код сложноват.
  5. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    Всем привет, я опять пришел)) решил вернутся к теме этой!
    Пишу инструкцию для таких как я.
    Делал в карточке товара:
    1.JPG
    Далее:
    //******************************************************************************
    // Предопределенная процедура
    //
    Процедура ПриОткрытии()

    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = КаталогИБ() + "IMAGE.DIR\";
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Артикул))+".jpg";
    Если ФС.СуществуетФайл(ФайлФото) = 1 Тогда
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    Иначе
    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = КаталогИБ() + "IMAGE.DIR\no.bmp";
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    КонецЕсли;

    // Заполним таблицу для выбора печатной формы
    2.JPG
    так выглядит в коде.
    Снимок.JPG
    с данным кодом не выпадает ошибка:
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    {Справочник.Номенклатура.Форма.Модуль(1150)}: Общая файловая ошибка при доступе к c:\Program Files (x86)........

    Предложения по сокращению кода, при отсутствии изображения - та же ошибка.

    А если нет фотки, вот так:
    3.JPG
  6. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Запустить 1С от администратора, ошибка должна уйти.
    --- Объединение сообщений, 19 мар 2017 ---
    И зачем искать ПервыйФайл:
    Код:
    Если ФС.СуществуетФайл (ФотоФайл) = 1 Тогда
    Фото.Загрузить (ФотоФайл)
    Иначе
    Фото.Загрузить (КаталогФото + "no.bmp");
    КонецЕсли;
    Фото.РежимРисования(3);
    Последнее редактирование: 19 мар 2017
  7. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.518
    Симпатии:
    53
    Баллы:
    54
    ну не надо фото класть в программ файлс, положите НЕ на системный диск
    man37 нравится это.
  8. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    Процедура ПриОткрытии()

    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = КаталогИБ() + "IMAGE.DIR\";
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Артикул))+".jpg";
    Если ФС.СуществуетФайл(ФайлФото) = 1 Тогда
    Фото.Загрузить(ФайлФото);
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    Иначе
    Фото.Загрузить (КаталогФотографий + "no.bmp");
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    КонецЕсли;

    Вот сократил!
    Последнее редактирование: 20 мар 2017
  9. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Все-равно не работает?
    В папке есть файл с таким именем?
    Запускали 1С от администратора (имею ввиду файл 1С.exe, а не вход под админом) ?
  10. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    Все работает!
    и в справочнике Номенклатура наладил показ картинок!

    но начинает страдать прокрутка, перебирает изображения
  11. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Файл весит много, редактором уменьшите раза в 4 будет побыстрее!
  12. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    Это для формы списка:
    Функция ПоказатьФото()

    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = КаталогИБ() + "IMAGE.DIR\";
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Артикул))+".jpg";
    Если ФС.СуществуетФайл(ФайлФото) = 1 Тогда
    Фото.Загрузить(ФайлФото);
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    Иначе
    Фото.Загрузить (КаталогФотографий + "no.bmp");
    Фото.РежимРисования(3);
    Форма.Фото.Видимость(1);
    КонецЕсли;
    Возврат "";
    КонецФункции //ПоказатьФото()

    Снимок.JPG
  13. Andrey_Ka
    Offline

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    13
    Симпатии:
    1
    Баллы:
    1
    сейчас картинки 500 х 500 пикселей, размер от 50 до 60 кб, это нарезка для сайта, там сайт порежет на 3 размера, потом подменю на меньшие.
    пока все процессе наладки
    P.S. - 1с стоит на SSD диске
  14. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Вам ещё надо в карточке сделать две кнопки - "загрузить фото" и "удалить фото", не вручную менять назнавание.
    Я задавал вопрос на счёт того, что бы поставить 1С на ssd, спец сказал, что работать быстрее 1С не будет, а только грузиться, hard для 1С лучше.
  15. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    238
    Симпатии:
    10
    Баллы:
    29
    Зачем на свойства повесили ПоказатьФото()? Может из-за этого тормозит? Размер фото нормальный для прокрутки.
    Удерите от туда ПоказатьФото(), а за формой положите текст, название, например, "Фото товара"(чтобы Вам было понятно, что это такое); формула - ПоказатьФото().
    В карточке ПоказатьФото() отдельная процедура, ПриОткрытии() вызов этой процедуры (думаю это было бы правильней).

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