Загрузка и выгрузка картинок из 1С на FTP сервер

1. Az18011993 01.04.20 10:21 Сейчас в теме
Добрый день,уважаемые форумчане!
Встала задача по загрузке картинок на фтп сервер,может кто подскажет основы?
Как получить сами картинки из 1С? И где именно получить ссылки?В допольнительных сведениях?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Azamatex 13 01.04.20 10:54 Сейчас в теме
Какая конфигурация у вас?
4. Az18011993 01.04.20 11:38 Сейчас в теме
3. starik-2005 3088 01.04.20 11:06 Сейчас в теме
Все зависит от конфигурации. В современных конфах есть механизм работы с файлами (в БСП). Есть функция, которая получает коллекцию файлов, есть функция, которая получает данные файла - просто двоичные данные, которые просто можно записать. Ну и есть средства для работы с ftp - объект FTPСоединение(Адрес, Порт, Юзер, Пароль), ну и дальше Соединение.Записать(ФайлТут, ФайлТам).
5. Az18011993 01.04.20 11:42 Сейчас в теме
ВЫБРАТЬ
	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
	НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод
ИЗ
	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
ГДЕ
	НоменклатураПрисоединенныеФайлы.ВладелецФайла = &ВладелецФайла


Подскажите как мне в запросе получить картинку и код для всей номенклатуры?
Тут я получаю только под конкретную
6. Torin 828 01.04.20 11:51 Сейчас в теме
(5)
"ВЫБРАТЬ
|	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
|	НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла
|ИЗ
|	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы"
7. Az18011993 01.04.20 12:11 Сейчас в теме
(6)
&НаСервере
Процедура ОбработатьНаСервере()
	
		Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
		|	НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод
		|ИЗ
		|	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы";
	
	
	
	Запрос.УстановитьПараметр("ВладелецФайла", Объект.НоменклатураДляСохраненияКартинок);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Сч=0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ДанныеКартинки = РаботаСФайлами.ДвоичныеДанныеФайла(ВыборкаДетальныеЗаписи.Ссылка);
	
			
		ДанныеКартинки.Записать(""+Объект.ПутьДляСохранения+ ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+Сч+".jpg");
		Сч=Сч+1;
	КонецЦикла;

	
	
КонецПроцедуры
Показать

А почему у меня не работает сохранение в мой каталог?Он сохраняет в папку пользователя...
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Объект.ПутьДляСохранения = "C:\Users\stanislav\Desktop";
КонецПроцедуры

Хотя пишу на рабочий стол...Из-за слешей?
8. Torin 828 01.04.20 12:47 Сейчас в теме
(7)да
ДанныеКартинки.Записать(Объект.ПутьДляСохранения+"\"+ ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+Сч+".jpg");

а это вам не нужно
Запрос.УстановитьПараметр("ВладелецФайла", Объект.НоменклатураДляСохраненияКартинок);
9. Az18011993 01.04.20 13:48 Сейчас в теме
Почему нет доступа(
Прикрепленные файлы:
10. Az18011993 01.04.20 15:13 Сейчас в теме
&НаКлиенте
Процедура ОтправитьКартинкиНаFTPs(Команда)
	FTPСоединение = ПодключениеКFTPs();
	Сообщить(FTPСоединение);
	Объект.ПутьДляСохранения = "/disk1/img/";
    FTPСоединение.УстановитьТекущийКаталог (Объект.ПутьДляСохранения);
	
	ОбработатьНаСервере();

	КонецПроцедуры
&НаСервере
Процедура ОбработатьНаСервере()

	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
		|	НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод
		|ИЗ
		|	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы";
	
	
	
	//Запрос.УстановитьПараметр("ВладелецФайла", Объект.НоменклатураДляСохраненияКартинок);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Сч=0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ДанныеКартинки = РаботаСФайлами.ДвоичныеДанныеФайла(ВыборкаДетальныеЗаписи.Ссылка);
	
			
		ДанныеКартинки.Записать(""+Объект.ПутьДляСохранения + ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+Сч+".jpg");
		Сч=Сч+1;
	КонецЦикла;

	
	
КонецПроцедуры
Показать

Не записываются данные на сервер(
12. starik-2005 3088 02.04.20 21:12 Сейчас в теме
(10) Ну и где код записывания данных?

   // открыли соединение с ФТП на сервере
   Соединение = FTPСоединение( Адрес, Порт, Юзер, Пароль );

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

        ДанныеКартинки = РаботаСФайлами.ДвоичныеДанныеФайла(ВыборкаДетальныеЗаписи.Ссылка);

        // файл, который запишем локально - потом его надо будет удалить
        ФайлТут = ПолучитьВременноеИмяФайла("jpg");

        // файл на ftp-сервере
        ФайлТам = "/path/to/file/" + ВыборкаДетальныеЗаписи.ВладелецФайлаКод + "_.jpg";

        // запишем файл тут
        ДанныеКартинки.Записать( ФайлТут );

        // запишем файл туда
        Соединение.Записать( ФайлТут, ФайлТам ).

        // удалим локально записанный файл, т.к. больше он нам не нужен
        /УдалитьФайлы(ФайлТут);
    КонецЦикла;

    // закроем соединение
    Соединение.Закрыть();

Показать
11. Az18011993 02.04.20 07:43 Сейчас в теме
Как мне ДанныеКартинки.Записать...Записывать на ФТП,на локальныйПК все прекрасного записывается. Просто я знаю только конструкцию ФТПСоединение=(ПолноеИмяФайла,ИмяФайла)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот