Как перенести картинки из одной УТ10.3 в другую?

  1. 9 г. назад

    хочется чето картинки перенести из одной УТ в другую. Девушка просто вбила в номенклатуру картинки на копии базы, А в другой базе потом уже другой номенклатуры набили. И вот нужно со старой базы в новую все картинки перенести по номенклатуре. Как это сделать то? Неохота мне лень писать обработку. По идее то по регистру внешнего хранилища подключаешься, извлекаешь картинку, определяешь картинку, записываешь картинку на диск, запоминаешь ее путь и потом в другой базе находишь по коду такой элемент и подключаешь туда картинку. Но ведь все равно это больше часа пахать надо. Может есть еще способы?

    Ответы: (1) (4) (19)
  2. Еврейчик Может есть еще способы?

    можно забить

  3. много картинок-то? может, проще набить заново?

  4. как перенести картинки с одной УТ на другую? #12

  5. Еврейчик Но ведь все равно это больше часа пахать надо.

    На момент этого сабжа уже минимум 4,5 часа херней страдаешь. Давно бы уже и написал и перенеслось )

    Ответы: (6)
  6. Дядя Вася На момент этого сабжа уже минимум 4,5 часа херней страдаешь. Давно бы уже и написал и перенеслось )

    писать программы нужно только если платят по тарифу 1к за час. если меньше, то нужно искать более бюджетные средства - обработку с инфостарта и т.п.

    Ответы: (7) (9)
  7. (6) Да ты чо? А как их писать-то тогда научишься? ) Все время что-то новое 1С подкидывает, и сходу за час ничего не напишешь. И я не понел - это твои базы что ли? Почему собственно не платят?

    Ответы: (9)
  8. А ты рубль в час делаешь? Не думаю, что ты не найдёшь час времени на досуге, который можно потратить на написание этой обработки. Тем более, она примитивная

    Ответы: (10)
  9. Дядя Вася (6) Да ты чо? А как их писать-то тогда научишься? ) Все время что-то новое 1С подкидывает, и сходу за час ничего не напишешь. И я не понел - это твои базы что ли? Почему собственно не платят?

    я уже столько обработок написал за 13 лет непрерывной работы с 1с, что сейчас это уже ниже моего уровня - писать обработки. Я могу скачать готовую и чудчуть подправить для себя. А иначе это слишком дорого - своё время тратить на кодинг пфффффф....

    Ответы: (13) (14)
  10. jsmith82 А ты рубль в час делаешь? Не думаю, что ты не найдёшь час времени на досуге, который можно потратить на написание этой обработки. Тем более, она примитивная

    не мой уровень это - кодить. ДА и там не час получится. Пока шаблон готовой обработки под себя переделать, пока добавить строки - это уже больше часа будет потрачено. А клиент платит 3 тысячи рублей наликом в месяц. Если я буду обработки писать, то буду работать в убыток, а так нельзя. Работать можно только в режиме получения прибыли.

    Ответы: (11) (13) (14)
  11. (10) Шли пятые сутки душевных терзаний по поводу написания часовой обработки... ))

  12. Работать в убыток ты будешь когда кому-то другому закажешь ее за 4, а с клиента получишь 3. А сейчас, если что, ты на эту ветку уже больше времени потратил, чем ушло бы на написание.

    Ответы: (14)
  13. (9)(10) ты успешный человек. Поделишься с нами историей как ты этого достиг?

    Ответы: (14)
  14. Дядя Вася Поделишься с на

    да придется писать. но я не рад этому. Кстати если на Инфостарте такую обработку выложить, то можно разбогатеть?

    sf (9)(10) ты успешный человек. Поделишься с нами историей как ты этого достиг?

    конечно. отказался от употребления мяса и начал практиковать трансерфинг реальности и всё резко поменялось в жизни. ТЕперь у меня есть всё, что мне было нужно.

  15. ну можно еще правила в конвертации набросать

  16. шла четвертая неделя написания часовой обработки... :)

    Ответы: (18)
  17. (17)правила в конвертации 15 минут писать

    Ответы: (19)
  18. (18) Дату сабжа посмотри. Сравни с сегодняшней. Ну и суть...

    Еврейчик Но ведь все равно это больше часа пахать надо.

    За это время их перерисовать можно вручную в паинте ))

    Ответы: (20)
  19. (19) ))

  20. // функция возвращает часть строки после последнего встреченного символа в строке
    Функция ПолучитьЧастьСтрокиОтделеннойСимволом(Знач ИсходнаяСтрока, Знач СимволПоиска, ЕслиНетСимволаТоВсюСтроку = Ложь)
    	
    	ПозицияСимвола = СтрДлина(ИсходнаяСтрока);
    	Пока ПозицияСимвола >= 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;
    			Сообщить(ОбъектВТекущейБазе.Код);
    		КонецЕсли;
    	КонецЦикла;
    	Сообщить("Всего "+Количество);
    КонецПроцедуры
    

или зарегистрируйтесь чтобы ответить!