// функция возвращает часть строки после последнего встреченного символа в строке
Функция ПолучитьЧастьСтрокиОтделеннойСимволом(Знач ИсходнаяСтрока, Знач СимволПоиска, ЕслиНетСимволаТоВсюСтроку = Ложь)
ПозицияСимвола = СтрДлина(ИсходнаяСтрока);
Пока ПозицияСимвола >= 1 Цикл
Если Сред(ИсходнаяСтрока, ПозицияСимвола, 1) = СимволПоиска Тогда
Возврат Сред(ИсходнаяСтрока, ПозицияСимвола + 1);
КонецЕсли;
ПозицияСимвола = ПозицияСимвола - 1;
КонецЦикла;
Возврат ?(ЕслиНетСимволаТоВсюСтроку, ИсходнаяСтрока, "");
КонецФункции
Функция ПолучитьИмяФайлаИзПолногоПути(Знач ПутьКФайлу) Экспорт
ИмяФайла = ПолучитьЧастьСтрокиОтделеннойСимволом(ПутьКФайлу, "\", Истина);
ИмяФайла = ПолучитьЧастьСтрокиОтделеннойСимволом(ИмяФайла, "/", Истина);
Возврат ИмяФайла;
КонецФункции
Функция СоздатьОсновноеИзображениеДляСайта(ОбъектВТекущейБазе,Путь,ТекНом)
Если ТекНом.ОсновноеИзображение.ИмяФайла<>"" Тогда
ИмяФайла=ТекНом.ОсновноеИзображение.ИмяФайла;
Иначе
ИмяФайла="111.jpg";
КонецЕсли;
ПолноеИмяФайла=Путь+ИмяФайла;
НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
НовыйОбъект.Наименование=ТекНом.ОсновноеИзображение.Наименование;
ТекКартинка=ТекНом.ОсновноеИзображение.Хранилище.Получить();
ТекКартинка.Записать(ПолноеИмяФайла);
ТекКартинкаЛокал=Новый Картинка(ПолноеИмяФайла);
НовыйОбъект.Хранилище = Новый ХранилищеЗначения(ТекКартинкаЛокал, Новый СжатиеДанных);
НовыйОбъект.Объект = ОбъектВТекущейБазе.ССылка;;
НовыйОбъект.ИмяФайла = ИмяФайла;
НовыйОбъект.Записать();
ОбъектВТекущейБазе.ОсновноеИзображение=НовыйОбъект.Ссылка;
ОбъектВТекущейБазе.Записать();
КонецФункции
Функция ПолучитьВнутреннееПредставление()
Возврат 1;
КонецФункции
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
V8 = Новый COMОбъект("V83.COMConnector");
Попытка
ИмяПользователя="Программист";
Пароль="";
ПутьКБазе = "D:\pasha\bases\клиенты 2015\ОльгаБорисовна\Юлина база";
Base_COM = V8.Connect("Usr="""+ИмяПользователя+""";Pwd="""+Пароль+""";File="""+ ПутьКБазе +"""");
Исключение
Предупреждение ("Ошибка открытия информационной базы");
КонецПопытки;
СписНом=Новый СПисокЗначений;
СпрНом=Base_COM.Справочники.Номенклатура.Выбрать();
Пока СпрНом.Следующий() Цикл
//Если Не СпрНом.Код="00000000359" Тогда
// продолжить;
//КонецЕсли;
Если СпрНом.ЭтоГруппа Тогда
продолжить;
КонецЕсли;
Если СпрНом.ОсновноеИзображение.Пустая()Тогда
продолжить;
КонецЕсли;
СписНом.Добавить(СпрНом.Ссылка);
КонецЦикла;
Путь="d:\pasha\bases\pics\";
Количество=0;
Для Инд=0 По СписНом.Количество()-1 Цикл
ТекНом=СписНом.Получить(Инд).Значение;
ЭлементВТекущейБазе=СПравочники.Номенклатура.НайтиПоКоду(ТекНом.Код);
Если Не ЭлементВТекущейБазе=Справочники.Номенклатура.ПустаяСсылка() Тогда
Если ПолучитьВнутреннееПредставление()=1 Тогда
КонецЕсли;
ОбъектВТекущейБазе=ЭлементВТекущейБазе.ПолучитьОбъект();
Если Не ОбъектВТекущейБазе.ОсновноеИзображение.Пустая() Тогда
Если ОбъектВТекущейБазе.ОсновноеИзображение.ИмяФайла=ТекНом.ОсновноеИзображение.ИмяФайла Тогда
продолжить;
КонецЕсли;
КонецЕсли;
ОбъектВТекущейБазе.ОсновноеИзображение=СоздатьОсновноеИзображениеДляСайта(ОбъектВТекущейБазе,Путь,ТекНом);
Количество=Количество+1;
Сообщить(ОбъектВТекущейБазе.Код);
КонецЕсли;
КонецЦикла;
Сообщить("Всего "+Количество);
КонецПроцедуры