На странице "Изображения товаров (ref_skuimages)" описана структура XML-файла, в котором изображения связываются с товарами для выгрузки этих данных в ST-Mobi.com.
Здесь рассмотрим подготовку и отправку изображений непосредственно на хостинг изображений ST-Drive. 

Выборка идентификаторов изображений из хранилища

Поле "image" в правиле "Изображения товаров" (ref_skuimages) должно содержать наименование присоединяемого файла. 
К примеру, есть номенклатура с картинкой:

Если раскрыть описание и нажать "Редактировать":

то откроется карточка вложенного файла:

Поле "Наименование" здесь - и есть то, что будет идентификатором изображения.

Примеры запроса правила «Изображения товаров» (ref_skuimages).

Вот пример запроса для объекта "Присоединяемые файлы".
На строке 10 выбирается поле, которое выгружается в качестве image (пример для УТ 11):

Присоединяемые файлы
ВЫБРАТЬ
	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
	НоменклатураПрисоединенныеФайлы.ПометкаУдаления КАК ПометкаУдаления,
	НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла,
	ВЫБОР
		КОГДА НоменклатураПрисоединенныеФайлы.ВладелецФайла.ФайлКартинки = НоменклатураПрисоединенныеФайлы.Ссылка
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ОсновноеИзображение,
	НоменклатураПрисоединенныеФайлы.Наименование КАК Наименование
ИЗ
	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
ГДЕ
	НоменклатураПрисоединенныеФайлы.ВладелецФайла.ЕдиницаИзмерения.Владелец = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.БазовыеЕдиницыИзмерения)
{ГДЕ
	НоменклатураПрисоединенныеФайлы.ВладелецФайла.* КАК ОтборНоменклатура}

Вот что возвращает запрос для номенклатуры из нашего примера.
Выделено красным - то, что возвращает запрос, синим - соответствие полей запроса и правил.

Помимо правила "Изображения товаров" (ref_skuimages) необходимо создать объект "stdrive_data" в разделе "ST-Drive" для выгрузки самих изображений.
Правило заполняется следующим образом:

Текст запроса правила ST-Drive:

Правило ST-Drive
ВЫБРАТЬ
	НоменклатураПрисоединенныеФайлы.Ссылка КАК СсылкаИзображения,
	НоменклатураПрисоединенныеФайлы.ПометкаУдаления КАК ПометкаУдаления,
	НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла,
	ВЫБОР
		КОГДА НоменклатураПрисоединенныеФайлы.ВладелецФайла.ФайлКартинки = НоменклатураПрисоединенныеФайлы.Ссылка
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ОсновноеИзображение,
	НоменклатураПрисоединенныеФайлы.Наименование КАК Наименование,
	НоменклатураПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище,
	ИСТИНА КАК ИспользоватьДвоичныеДанные,
	ДвоичныеДанныеФайлов.ДвоичныеДанныеФайла КАК Хранилище
ИЗ
	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДвоичныеДанныеФайлов КАК ДвоичныеДанныеФайлов
		ПО (ДвоичныеДанныеФайлов.Файл = НоменклатураПрисоединенныеФайлы.Ссылка)
ГДЕ
	НоменклатураПрисоединенныеФайлы.ВладелецФайла.ЕдиницаИзмерения.Владелец = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.БазовыеЕдиницыИзмерения)
{ГДЕ
	НоменклатураПрисоединенныеФайлы.ВладелецФайла.* КАК ОтборНоменклатура}

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

Примеры правил для обработки обмена

Для УТ 11 и УПП 1.3.116.1 (но здесь без ref_skuimages):

Выгрузка изображений из файловой системы

В связи с тем, что изображения не хранятся в базе УС, нет возможности их идентифицировать и сопоставить, какое изображение относится к какому товару.
В таком случае каждый файл необходимо именовать артикулом соответствующего товара, или наоборот - в качестве артикула товара указывать название изображения. 
Например, имеется некоторый набор товаров, следовательно изображения именуются артикулами этих товаров: 

Далее создаётся правило выгрузки "Изображения товаров (ref_skuimages)". 
Пример заполнения соответствий полей и правила:



Текст запроса полностью:

Правило "Изображения товаров (ref_skuimages)"
ВЫБРАТЬ
	Номенклатура.Ссылка КАК ИДИзображения,
	Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	Номенклатура.Ссылка КАК ВладелецИзображения,
	ИСТИНА ОсновноеИзображение,
	Номенклатура.Ссылка.Артикул КАК НаименованиеИзображения
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	НЕ Номенклатура.Ссылка.Артикул ЕСТЬ NULL
{ГДЕ
	Номенклатура.Ссылка.* КАК ОтборНоменклатура}

pay_attention

Строка "ГДЕ НЕ Номенклатура.Ссылка.Артикул ЕСТЬ NULL" написана специально для этого примера, в вашей реализации правил она может быть не нужна, потому как служит только для выборки всех товаров, у которых есть артикул.

Главное в этом запросе, чтобы строка «"C:\Users\k.zimnikov\Pictures\imageSkus\" как Путь» содержала точный путь к папке с изображениями и была написано корректно со слешем в конце.

В дополнение к этому необходимо создать вычисляемое поле для получения полного пути до файла вместе с расширением.
Пример вычисляемого поля: 



Значение поля строкой:

Вычисляемое поле пути к файлу
СтрШаблон("%1%2.%3",Строка(Путь),Строка(НаименованиеИзображения),Строка(Расширение))

helpful_hint
Данное вычисляемое поле соединяет поля запроса в одну строку по шаблону.
Точка в шаблоне между "%2" и "%3" обязательна.
Все перечисленные поля Путь, НаименованиеИзображения, Расширение должны быть в запросе.

После этого можно выгружать изображения.

Возможные ошибки

Если у товара есть артикул, но в папке с изображениями нет изображения для него, при выгрузке файлов в ST-Drive будет возникать подобная ошибка:



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

Примеры правил для обработки обмена

Обратите внимание, что в этом примере правил находятся сразу два варианта реализации выгрузки изображений - и из хранилища в 1С, и из файловой системы:

  • Нет меток