Доброго дня.
Возникла нужда загрузить массово изображения номенклатуры в соответствующие им карточки.
Имя файлов для загрузки задавалось в виде имени и артикула, разделённые знаком подчёркивания:
ПроизвольноеИМЯ_АртикулНоменклатуры.ФорматФайла
Артикул в имени файла мог состоять из двух или трёх частей, разделённых пробелами.
В задании артикула мог быть нюанс в том, что в имени файла пробел имеется, а в артикуле у номенклатуры в базе - пробелов нет.
В итоге, решено добавить возможность поиска номенклатуры как по точному соответствию, так и по плавающему. То есть в наименовании номенклатуры перед передачей в запрос все пробелы заменялись на знак "%".
Но загрузка изображения, в любом случае, производится только если в результате поиска было найдено единственное совпадение. В противном случае - выдаётся сообщение, что для заданного файла соответствующая номенклатура не найдена.
При добавлении изображения в номенклатуру ему задаётся имя, соответствующее имени файла, из которого оно загружается.
Если в номенклатуре нет изображений или не установлено основное изображение, то загружаемый файл устанавливается в качестве основного изображения номенклатуры.
При повторной загрузке файла изображения - оно просто заменяется.
Для более точной загрузки номенклатуры возможно задание конкретной группы номенклатуры, в которой осуществлять поиск соответствующей позиции.
Потому что, как у нас оказалось, у разных производителей могут быть схожие артикулы.
Код открыт - критика приветствуется.)
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.30.1