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

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

  1. TopicStarter Overlay
    Ардрей
    Offline

    Ардрей

    Регистрация:
    7 дек 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Сделал картинку в подборе номенклатуры и в карточке товара с поиском картинки
    по коду.

    Функция ПоказатьФото()
    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = "c:\Фото1\";
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Код))+".*";
    Если ПустоеЗначение(ФайлФото)=1 Тогда
    ПустаяКартинка=СоздатьОбъект("Картинка");
    КонецЕсли;
    Если ФС.СуществуетФайл(ФайлФото) = 1 Тогда
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    Иначе
    Фото.УстановитьКартинку(ПустаяКартинка);
    КонецЕсли;
    Возврат "";
    КонецФункции //ПоказатьФото()

    Все работало нормально.
    Понадабилось сделать поиск по Артикулу. Поставил вместо "Код"
    "Артикул". В карточке товара всё работает. При открытии подбора номенклатуры появляется
    ошибка:
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    {Справочник.Номенклатура.ФормаСписка.ДляПодбора.Модуль(50)}: Общая файловая ошибка при
    доступе к c:\Фото1\.
    Товаров с одинаковым артикулом очень много. Т.е. код уникальное значение, а Артикул нет.

    Но даже с ошибкой фото появляется.
    Что нужно сделать, чтобы ошибка не появлялась?
  2. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Артикул здесь ни при чем, фото ведь одно, если надо разные фото с одним артикулом, можно к артикулу добавить например: -01, и артикул будут уникален.
    Попробуйте 1С запустить от имени администратора (не путать с пользователем), если до этого все работало и к фото правильный путь, должно заработать.
  3. TopicStarter Overlay
    Ардрей
    Offline

    Ардрей

    Регистрация:
    7 дек 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Права тут ни причём это точно. Путь к фото правильный т.к. фото появляется. При открытии подбора появляются папки номенклатуры. Сколько папок -столько ошибок. У папок есть код, а артикула нет. Наверно нужно что-то исправить в коде модуля, типа если нет артикула, то пустая картинка. Я не программист, как правильно это написать я не знаю, поэтому и прошу помощи.
  4. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    В первом посте про папки ни слова либо я читать не умею.
    Надо поставить условие:
    Если ТекущийЭлемент().ЭтоГруппа = 1 Тогда
    //Здесь пишите код с КОДОМ
    Иначе
    //Здесь пишите код с АРТИКУЛОМ
    КонецЕсли
    --- Объединение сообщений, 15 янв 2016 ---
    Функция ПоказатьФото()
    ПустаяКартинка=СоздатьОбъект("Картинка");
    КаталогФотографий = "c:\Фото1\";
    Если ТекущийЭлемент().ЭтоГруппа = 1 Тогда
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Код))+".*";
    Иначе
    ФайлФото = КаталогФотографий + СокрЛП(Строка(ТекущийЭлемент().Артикул))+".*";
    КонецЕсли;
    Если ПустоеЗначение(ФайлФото)=1 Тогда
    ПустаяКартинка=СоздатьОбъект("Картинка");
    КонецЕсли;
    Если ФС.СуществуетФайл(ФайлФото) = 1 Тогда
    Фото.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
    Иначе
    Фото.УстановитьКартинку(ПустаяКартинка);
    КонецЕсли;
    Возврат "";
    КонецФункции //ПоказатьФото()

    Если Ваш код работал до этого, то сейчас ошибок быть не должно.
    Последнее редактирование: 15 янв 2016
    Ардрей нравится это.
  5. TopicStarter Overlay
    Ардрей
    Offline

    Ардрей

    Регистрация:
    7 дек 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Про папки я не сразу понял. Спасибо за ответ. Попробую поставить Ваш код. Как сделаю отпишусь.
  6. TopicStarter Overlay
    Ардрей
    Offline

    Ардрей

    Регистрация:
    7 дек 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Ура! Заработало. Спасибо Вам большое. Я только код чуть-чуть поменял.
    Вместо:
    Если ТекущийЭлемент().ЭтоГруппа = 1
    Поставил:
    Если ЭтоГруппа() = 1
    А то ошибку выдавало.
  7. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Да, не за что!
    У Вас код немного сложноват, можно было бы сделать намного проще.
    Но, раз работает - хорошо.
  8. Andrey_Ka
    Online

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А могли бы Вы мне помочь с реализацией такой функции, тоже хочу видеть фото товара в подборе.
    1. Фотки товара есть.
    2. а с чего начать переделывать не знаю...... может есть статьи, где и что править надо
  9. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Научиться хранить картинки (лучше всего по коду справочника номенклатуры если картинка одна)
    2) На форме подбора добавить объект картинка
    3) на форме добавить объект типа текст и в формуле прописать вызов функции, которая отобразит картинку в соответствии с текущим элементом справочника
  10. Andrey_Ka
    Online

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Почти все понял, что не понял)
    Но хоть и на этом спасибо)
  11. Бухгалтерский угодник
    Offline

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

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

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Шифр в модуль вставил, на синтаксис не ругается. Перем Фото; добавил в шапке
    А не чего не происходит
    картинки в папке лежат как обозначен артикул.
    что не доделал??? я так понимаю истина где то рядом
    Снимок.JPG
    Снимок1.JPG
  13. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    и ошибок не пишет?
    и хде объект с ид Фото?
  14. Andrey_Ka
    Online

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Ошибок нет, я еще этот код прикрутил в карточке товара, все норм, но без картинки)

    а ID вроде как должен сопоставляться артикул, 123456.jpg

    Снимок2.JPG
  15. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Попробуйте упростить код, подставив путь к файлу не через переменные, а строкой. Будет выводиться? И зачем Вам ничего не возвращающая функция? Не проще ли использовать процедуру?
  16. Хряк
    Offline

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

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    не, ты не понял, где у тебя объект на форме с названием Фото?
  17. Andrey_Ka
    Online

    Andrey_Ka

    Регистрация:
    6 ноя 2016
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    все перепробовал, ни чего не получается(((

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