Меняем изображение в 1С: логотип, фото, сканы и макеты

· 9 мин

Содержание

Где поменять изображение в 1С — зависит от того, где оно лежит. Логотип и печать организации меняют прямо в её карточке, фото товара или сотрудника — через присоединённые файлы либо реквизит с картинкой, а рисунок в печатной форме правится только в Конфигураторе.

Поэтому «заменить картинку» — это не одно действие, а три разных сценария: для пользователя (загрузить новый файл в карточку), для администратора (поправить макет в конфигурации) и для разработчика (переписать значение кодом). Ниже — каждый по шагам, с точными путями и примером кода.

Разберём, где 1С 8.3 хранит изображения, как безопасно заменить картинку в каждом из мест и как подготовить файл, чтобы он не раздувал базу.

Где 1С хранит изображения: три разных места

Прежде чем менять картинку, определите, что именно вы видите на экране. От этого зависит способ замены.

🗂️ Присоединённые (вложенные) файлы. Сканы договоров, фото к товару, приложения к документу. Хранятся либо в самой базе, либо в томах на диске — это задаётся в настройках работы с файлами (раздел Администрирование).

🖼️ Реквизит типа ХранилищеЗначения. Картинка «вшита» в элемент справочника или документ: например, эскиз номенклатуры или фотография физлица. Файла на диске нет — изображение лежит прямо в поле таблицы.

🧩 Рисунок в макете или общей картинке конфигурации. Логотип на печатной форме, иконка команды, фон обработки. Это часть самой конфигурации, менять его может только тот, у кого есть доступ к Конфигуратору.

Как понять, что перед вами. Если по картинке есть контекстное меню с командами открыть, сохранить, посмотреть версии — это присоединённый файл. Если картинка просто показана в карточке и меняется кнопкой загрузки рядом — это реквизит. Если изображение одинаково у всех пользователей и его нельзя поменять из режима предприятия — это рисунок конфигурации.

Логотип и печать организации — особый случай. Технически они хранятся как присоединённые файлы или реквизиты, но менять их проще всего через готовую форму в карточке организации (следующий раздел).

Как заменить логотип, печать и факсимиле организации

Это самая частая задача, и решается она без программиста. В типовых конфигурациях (БП 3.0, УТ 11, ERP) логотип, факсимиле подписи и печать загружаются в карточке организации.

  1. Откройте Главное → Организации (в БП 3.0) и выберите нужную организацию.
  2. В карточке найдите раздел Логотип и печать — он собран отдельной вкладкой или ссылкой.
  3. Напротив каждого поля (логотип, факсимиле руководителя, факсимиле главбуха, печать) нажмите команду загрузки файла и укажите новый рисунок.
  4. Запишите карточку.

После записи новые изображения автоматически подставятся в счета на оплату, акты, УПД и другие печатные формы, где организация выводит логотип и печать. Отдельно загружать их в каждый документ не нужно — формы берут картинку из карточки организации.

Печать и факсимиле подбирайте по пропорциям: слишком широкое изображение печать растянет, а подпись с большими полями вокруг встанет не на свою строку. Обрежьте лишние поля вокруг подписи и печати до самого рисунка перед загрузкой.

⚠️ Для факсимиле подписи и печати берите файл с прозрачным фоном (PNG), иначе на документе появится белый прямоугольник поверх таблицы. Сканируйте подпись и печать на белом листе, а фон убирайте в любом графическом редакторе.

Если вы меняли логотип, но в печатной форме он не обновился — закройте и откройте форму документа заново либо перепроведите документ: печатная форма берёт картинку в момент формирования.

Замена сканов и фотографий в присоединённых файлах

Присоединённые файлы 1С хранит с историей версий, поэтому «замена» здесь — это чаще добавление новой версии, а не перезапись старой.

Способ 1. Отредактировать и вернуть файл. Откройте элемент или документ, перейдите к списку присоединённых файлов (команда на панели формы, название может отличаться по конфигурации). Откройте файл на редактирование, замените содержимое во внешней программе и сохраните через команду завершения редактирования — 1С запишет новую версию, старая останется в истории.

Способ 2. Удалить и загрузить заново. Если версии не нужны, удалите старый файл из списка и добавьте новый командой загрузки с диска. Так база не копит лишние версии.

Способ 3. Заменить скан целиком. Для документа со сканом (например, входящий счёт) удобнее удалить прежнее вложение и прикрепить новый файл — тогда в списке остаётся ровно один актуальный скан.

Если при открытии файла 1С пишет, что он занят для редактирования, значит кто-то (возможно, вы на другом сеансе) уже открыл его и не завершил правку. Пока файл занят, заменить содержимое нельзя. Попросите этого пользователя закончить редактирование либо, если занял файл сам, завершите или отмените редактирование — только после этого замена пройдёт.

Если файлов много и они лежат в базе, а не в томах, база быстро растёт. Крупные сканы (многостраничные PDF, фото в высоком разрешении) лучше хранить в томах на диске — это настраивается администратором один раз.

Замена картинки в реквизите «ХранилищеЗначения»

Когда изображение «вшито» в элемент (эскиз товара, фото сотрудника), в карточке обычно есть поле картинки с командой загрузки прямо над или под ним.

Порядок для пользователя:

  1. Откройте элемент справочника (например, номенклатуру или физлицо).
  2. Найдите область с картинкой — она показана миниатюрой в карточке.
  3. По картинке или по кнопке рядом вызовите команду загрузки и выберите новый файл.
  4. Запишите элемент.

Во многих конфигурациях работает перетаскивание: откройте карточку, захватите файл картинки из проводника и бросьте его на область изображения — старое значение заменится новым. Это быстрее, чем искать команду загрузки.

Если команды загрузки в карточке нет, а картинка всё равно отображается, значит реквизит заполняется не из интерфейса, а обработкой или кодом — тогда смотрите разделы про Конфигуратор и программную замену. Как альтернатива — специализированная обработка загрузки изображений (например, групповая загрузка эскизов номенклатуры по артикулу из папки), если она есть в вашей конфигурации или в составе дополнительных обработок.

Перед массовой заменой картинок в справочнике обязательно сделайте резервную копию базы . Ошибка в обработке затрагивает сразу все элементы, и откатить без копии будет нечем.

Правка рисунков в макетах через Конфигуратор

Логотип на бланке, картинка-подложка, иконка на форме — всё это рисунки внутри макетов или общие картинки конфигурации. Менять их можно только в Конфигураторе, и только если конфигурация не на поддержке без права изменения.

Картинка в макете печатной формы.

  1. Откройте Конфигуратор, найдите нужный объект и его макет (Макеты в ветке объекта) либо общий макет в ветке Общие → Общие макеты.
  2. Откройте макет табличного документа, выделите ячейку с картинкой.
  3. В свойствах рисунка смените файл: поле с картинкой → выбор нового файла с диска.
  4. Сохраните конфигурацию и обновите конфигурацию базы данных.

Общая картинка. Если рисунок используется в нескольких местах, он лежит в ветке Общие → Общие картинки. Замените в ней файл — и он обновится везде, где на эту общую картинку есть ссылка.

⚠️ Правка самого макета монополии не требует, но шаг Обновить конфигурацию базы данных (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.

Перед загрузкой картинки проверьте
Выполнено: 0 / 4

Частые ошибки при замене картинок

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

Диагностика: выберите симптом

Частые вопросы

Можно ли заменить картинку сразу у всех товаров?
Да, но только обработкой или кодом: вручную по каждому элементу это нереально. Напишите обработку, которая перебирает номенклатуру и пишет новое значение в реквизит картинки. Обязательно на копии базы и с резервной копией рабочей.
Чем отличается присоединённый файл от картинки в реквизите?
Присоединённый файл хранится отдельно (в базе или томе) и имеет историю версий — его можно открыть, скачать, заменить версию. Картинка в ХранилищеЗначения вшита в сам элемент, версий у неё нет, замена перезаписывает прежнее изображение.
Нужен ли монопольный доступ, чтобы поменять логотип организации?
Нет. Логотип и печать в карточке организации меняются в обычном режиме, пока остальные работают. Монополия нужна только для обновления конфигурации базы данных, то есть при правке макетов в Конфигураторе.
Какой формат картинки выбрать для печати и факсимиле?
PNG с прозрачным фоном. JPG не хранит прозрачность, и под печатью или подписью на документе появится белый фон, перекрывающий таблицу.
Как вернуть старую картинку, если заменил по ошибке?
Для присоединённого файла — откатитесь на предыдущую версию в истории файла. Для реквизита ХранилищеЗначения версий нет: восстановить можно только из резервной копии базы. Поэтому перед массовой заменой копия обязательна.