Меняем изображение в 1С: логотип, фото, сканы и макеты
Содержание
Где поменять изображение в 1С — зависит от того, где оно лежит. Логотип и печать организации меняют прямо в её карточке, фото товара или сотрудника — через присоединённые файлы либо реквизит с картинкой, а рисунок в печатной форме правится только в Конфигураторе.
Поэтому «заменить картинку» — это не одно действие, а три разных сценария: для пользователя (загрузить новый файл в карточку), для администратора (поправить макет в конфигурации) и для разработчика (переписать значение кодом). Ниже — каждый по шагам, с точными путями и примером кода.
Разберём, где 1С 8.3 хранит изображения, как безопасно заменить картинку в каждом из мест и как подготовить файл, чтобы он не раздувал базу.
Где 1С хранит изображения: три разных места
Прежде чем менять картинку, определите, что именно вы видите на экране. От этого зависит способ замены.
🗂️ Присоединённые (вложенные) файлы. Сканы договоров, фото к товару, приложения к документу. Хранятся либо в самой базе, либо в томах на диске — это задаётся в настройках работы с файлами (раздел Администрирование).
🖼️ Реквизит типа ХранилищеЗначения. Картинка «вшита» в элемент справочника или документ: например, эскиз номенклатуры или фотография физлица. Файла на диске нет — изображение лежит прямо в поле таблицы.
🧩 Рисунок в макете или общей картинке конфигурации. Логотип на печатной форме, иконка команды, фон обработки. Это часть самой конфигурации, менять его может только тот, у кого есть доступ к Конфигуратору.
Как понять, что перед вами. Если по картинке есть контекстное меню с командами открыть, сохранить, посмотреть версии — это присоединённый файл. Если картинка просто показана в карточке и меняется кнопкой загрузки рядом — это реквизит. Если изображение одинаково у всех пользователей и его нельзя поменять из режима предприятия — это рисунок конфигурации.
Логотип и печать организации — особый случай. Технически они хранятся как присоединённые файлы или реквизиты, но менять их проще всего через готовую форму в карточке организации (следующий раздел).
Как заменить логотип, печать и факсимиле организации
Это самая частая задача, и решается она без программиста. В типовых конфигурациях (БП 3.0, УТ 11, ERP) логотип, факсимиле подписи и печать загружаются в карточке организации.
- Откройте
Главное → Организации(в БП 3.0) и выберите нужную организацию. - В карточке найдите раздел
Логотип и печать— он собран отдельной вкладкой или ссылкой. - Напротив каждого поля (логотип, факсимиле руководителя, факсимиле главбуха, печать) нажмите команду загрузки файла и укажите новый рисунок.
- Запишите карточку.
После записи новые изображения автоматически подставятся в счета на оплату, акты, УПД и другие печатные формы, где организация выводит логотип и печать. Отдельно загружать их в каждый документ не нужно — формы берут картинку из карточки организации.
Печать и факсимиле подбирайте по пропорциям: слишком широкое изображение печать растянет, а подпись с большими полями вокруг встанет не на свою строку. Обрежьте лишние поля вокруг подписи и печати до самого рисунка перед загрузкой.
⚠️ Для факсимиле подписи и печати берите файл с прозрачным фоном (PNG), иначе на документе появится белый прямоугольник поверх таблицы. Сканируйте подпись и печать на белом листе, а фон убирайте в любом графическом редакторе.
Если вы меняли логотип, но в печатной форме он не обновился — закройте и откройте форму документа заново либо перепроведите документ: печатная форма берёт картинку в момент формирования.
Замена сканов и фотографий в присоединённых файлах
Присоединённые файлы 1С хранит с историей версий, поэтому «замена» здесь — это чаще добавление новой версии, а не перезапись старой.
Способ 1. Отредактировать и вернуть файл. Откройте элемент или документ, перейдите к списку присоединённых файлов (команда на панели формы, название может отличаться по конфигурации). Откройте файл на редактирование, замените содержимое во внешней программе и сохраните через команду завершения редактирования — 1С запишет новую версию, старая останется в истории.
Способ 2. Удалить и загрузить заново. Если версии не нужны, удалите старый файл из списка и добавьте новый командой загрузки с диска. Так база не копит лишние версии.
Способ 3. Заменить скан целиком. Для документа со сканом (например, входящий счёт) удобнее удалить прежнее вложение и прикрепить новый файл — тогда в списке остаётся ровно один актуальный скан.
Если при открытии файла 1С пишет, что он занят для редактирования, значит кто-то (возможно, вы на другом сеансе) уже открыл его и не завершил правку. Пока файл занят, заменить содержимое нельзя. Попросите этого пользователя закончить редактирование либо, если занял файл сам, завершите или отмените редактирование — только после этого замена пройдёт.
Если файлов много и они лежат в базе, а не в томах, база быстро растёт. Крупные сканы (многостраничные PDF, фото в высоком разрешении) лучше хранить в томах на диске — это настраивается администратором один раз.
Замена картинки в реквизите «ХранилищеЗначения»
Когда изображение «вшито» в элемент (эскиз товара, фото сотрудника), в карточке обычно есть поле картинки с командой загрузки прямо над или под ним.
Порядок для пользователя:
- Откройте элемент справочника (например, номенклатуру или физлицо).
- Найдите область с картинкой — она показана миниатюрой в карточке.
- По картинке или по кнопке рядом вызовите команду загрузки и выберите новый файл.
- Запишите элемент.
Во многих конфигурациях работает перетаскивание: откройте карточку, захватите файл картинки из проводника и бросьте его на область изображения — старое значение заменится новым. Это быстрее, чем искать команду загрузки.
Если команды загрузки в карточке нет, а картинка всё равно отображается, значит реквизит заполняется не из интерфейса, а обработкой или кодом — тогда смотрите разделы про Конфигуратор и программную замену. Как альтернатива — специализированная обработка загрузки изображений (например, групповая загрузка эскизов номенклатуры по артикулу из папки), если она есть в вашей конфигурации или в составе дополнительных обработок.
Перед массовой заменой картинок в справочнике обязательно сделайте резервную копию базы . Ошибка в обработке затрагивает сразу все элементы, и откатить без копии будет нечем.
Правка рисунков в макетах через Конфигуратор
Логотип на бланке, картинка-подложка, иконка на форме — всё это рисунки внутри макетов или общие картинки конфигурации. Менять их можно только в Конфигураторе, и только если конфигурация не на поддержке без права изменения.
Картинка в макете печатной формы.
- Откройте Конфигуратор, найдите нужный объект и его макет (
Макетыв ветке объекта) либо общий макет в веткеОбщие → Общие макеты. - Откройте макет табличного документа, выделите ячейку с картинкой.
- В свойствах рисунка смените файл: поле с картинкой → выбор нового файла с диска.
- Сохраните конфигурацию и обновите конфигурацию базы данных.
Общая картинка. Если рисунок используется в нескольких местах, он лежит в ветке Общие → Общие картинки. Замените в ней файл — и он обновится везде, где на эту общую картинку есть ссылка.
⚠️ Правка самого макета монополии не требует, но шаг Обновить конфигурацию базы данных (F7) для структурных изменений просит монопольный доступ — пользователям придётся выйти из базы. Планируйте обновление на время, когда в базе никто не работает
, и предупредите коллег заранее.
💡 Если конфигурация типовая и стоит на поддержке, не снимайте её с замка целиком ради одной картинки. Для правки макета включите возможность изменения через расширение конфигурации — так типовая останется на автообновлении, а ваш изменённый макет будет жить в расширении.
Программная замена изображения
Разработчику картинку в реквизите ХранилищеЗначения удобнее менять кодом — например, при массовой загрузке фотографий из папки.
ОбъектНоменклатуры = Справочники.Номенклатура.НайтиПоКоду("00001").ПолучитьОбъект();
Картинка = Новый Картинка("C:\images\tovar.png");
// ЭскизКартинки — имя реквизита типа ХранилищеЗначения в вашей конфигурации
ОбъектНоменклатуры.ЭскизКартинки = Новый ХранилищеЗначения(Картинка, Новый СжатиеДанных());
ОбъектНоменклатуры.Записать();
Конструктор Новый Картинка(ПутьКФайлу) читает файл с диска сервера или клиента — следите, на какой стороне выполняется код. Второй параметр Новый СжатиеДанных() сжимает картинку перед записью в хранилище и уменьшает размер базы.
Прочитать картинку обратно из хранилища:
Картинка = ОбъектНоменклатуры.ЭскизКартинки.Получить();
Отлаживайте такой код на копии базы. Запись объекта в цикле по всему справочнику перезапишет картинки у всех элементов сразу, и без резервной копии вернуть прежние изображения не получится.
Для присоединённых файлов в типовых конфигурациях работает подсистема БСП: там есть серверные функции добавления файла и его версий. Названия методов зависят от версии БСП — сверяйтесь со встроенной справкой и общими модулями работы с файлами в вашей конфигурации, а не придумывайте вызовы наугад.
Как подготовить и уменьшить картинку перед загрузкой
Большие изображения раздувают базу и тормозят открытие карточек. Подготовьте файл заранее — это проще, чем чистить базу потом.
📏 Уменьшите размер. Для эскиза товара в списках и карточках достаточно ~200 px по большой стороне, для логотипа и печати в печатных формах — примерно 300–600 px. Уменьшайте во внешнем редакторе до загрузки: 1С хранит в ХранилищеЗначения то, что вы дали, оригинал в 4000 px останется в базе целиком.
🎨 Выберите формат. Для логотипа, печати и факсимиле — PNG с прозрачностью. Для фото товаров и физлиц — JPG (меньше весит при том же качестве).
🗜️ Сожмите. Фотография в JPG с качеством 70–80% визуально не отличается от исходной, но весит в разы меньше.
Почему 200 px для эскиза хватает. В списках и карточках картинка показывается миниатюрой в несколько сантиметров. Изображение в 4000 px всё равно ужмётся до размера области на экране, но в базе займёт место целиком и затормозит открытие формы. Уменьшив большую сторону до ~200 px заранее, вы отдаёте 1С ровно столько пикселей, сколько нужно для показа, и база остаётся лёгкой. Для печати логотипа на бумаге запас больше — отсюда 300–600 px.
Частые ошибки при замене картинок
Собрали ситуации, с которыми чаще всего приходят после замены изображения. Нажмите на симптом, чтобы увидеть причину.
ХранилищеЗначения или через обработку загрузки.Частые вопросы
Можно ли заменить картинку сразу у всех товаров?
Чем отличается присоединённый файл от картинки в реквизите?
ХранилищеЗначения вшита в сам элемент, версий у неё нет, замена перезаписывает прежнее изображение.Нужен ли монопольный доступ, чтобы поменять логотип организации?
Какой формат картинки выбрать для печати и факсимиле?
Как вернуть старую картинку, если заменил по ошибке?
ХранилищеЗначения версий нет: восстановить можно только из резервной копии базы. Поэтому перед массовой заменой копия обязательна.