Выгрузка документа в DBF

1. Romakon92 14.12.18 10:00 Сейчас в теме
Добрый день, подскажите пожалуйста как можно поправить?

Выгружаю документ в ДБФ файл.

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

Если база находится на сервере, тогда при попытке создать файл вылезает ошибка.

&НаСервере
БД = Новый XBase;
			БД.Кодировка = КодировкаXBase.OEM;
			// проектируется структура таблицы, т.е. имена и типы полей
			
			БД.Поля.Добавить("NOMERDOK","C",10);
			БД.Поля.Добавить("DATADOK","D");
			БД.Поля.Добавить("VREMADOK","C",30);
			БД.Поля.Добавить("FIRMAKOD","C",30);
			БД.Поля.Добавить("FIRMA","C",30);
			БД.Поля.Добавить("SKLADKOD","C",30);
			БД.Поля.Добавить("SKLAD","C",30);
			БД.Поля.Добавить("NOMKOD","C",10);
			БД.Поля.Добавить("NOMEN","C",70);
			БД.Поля.Добавить("ARTPOST","C",70);
			БД.Поля.Добавить("ARTKAT","C",70);
			БД.Поля.Добавить("STRIHKOD","C",70);
			БД.Поля.Добавить("EDIZM","C",70);
			БД.Поля.Добавить("ARTIKUL","C",70);
			БД.Поля.Добавить("UPAKOVKA","C",70);
			БД.Поля.Добавить("STRANA","C",70);
			БД.Поля.Добавить("NOMROD","C",10);
			БД.Поля.Добавить("KOLICH","C",70);
			БД.Поля.Добавить("CENA","C",70);
			БД.Поля.Добавить("CENAR1","C",70);
			БД.Поля.Добавить("CENAR2","C",70);
			БД.Поля.Добавить("CENAR3","C",70);
			БД.Поля.Добавить("SUMMA","C",70);
			БД.Поля.Добавить("STAVKA","C",70);
			БД.Поля.Добавить("SUMMANDS","C",70);
			БД.Поля.Добавить("KOMMENT","C",70);
			
			// создание файла с указанной структурой
			БД.СоздатьФайл("" + ПутьСохранения + "//"
			+ Формат(Строка.ССылкаНаПеремещение.Дата,"ДФ=dd") +
			" " + Формат(Строка.ССылкаНаПеремещение.Дата,"ДФ=MM") + " " + Строка.Префикс + ".dbf");
Показать


Предполагаю, что документ пытается сохраниться на сервере, но даже если указывать путь сохранения "C:\" всё равно возникает ошибка
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. user820492 14.12.18 10:07 Сейчас в теме
(1) Все верно, документ пытается сохраниться на сервере! Поэтому передавай данные на клиент и сохраняй уже на клиенте!
+
2. harvester_sorrow 24 14.12.18 10:06 Сейчас в теме
А где находиться сервер? по какому пути?
можно для проверки ПолучитьИмяВременногоФайла("dbf") и сохранить его с путем временного файла и собственно глянуть адрес в отладке
+
3. harvester_sorrow 24 14.12.18 10:07 Сейчас в теме
нам бы ошибку увидеть, может у Вашего пользователя банально не хватает прав на сервере
+
5. YannikAlx 43 14.12.18 10:19 Сейчас в теме
Вот мой пример - используй как шаблон


&НаСервере
Функция ВыгрузитьНаСервере()
	
	   	

	ПутьКФайлу = ПолучитьИмяВременногоФайла("rdf");
	
	 Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ПутьКФайлу);
Запись.ЗаписатьОбъявлениеXML();
// формируем корневой элемент
Запись.ЗаписатьНачалоЭлемента("RDF");
//Выборка = Справочники.Клиенты.Выбрать();
//Пока Выборка.Следующий() Цикл
	// для каждого клиента формируем свой элемент
	Запись.ЗаписатьНачалоЭлемента("Description");
	// запишем код клиента в атрибут тега
	Запись.ЗаписатьАтрибут("Код", Строка(112222233333));
	// Наименование клиента запишем в текст элемента
	Запись.ЗаписатьТекст("Http///...");
	// закрываем элемент клиента
	Запись.ЗаписатьКонецЭлемента();	
//КонецЦикла;
// закрываем корневой элемент xml-документа
Запись.ЗаписатьКонецЭлемента();	
// закрыть файл
Запись.Закрыть();   
	
	ДД = Новый ДвоичныеДанные(ПутьКФайлу);
	
	Возврат ДД;	

	
	
КонецФункции


	
	
&НаКлиенте
Процедура Выгрузить(Команда)
	
		ДД = ВыгрузитьНаСервере();
		
		Если ДД = Неопределено Тогда
			Возврат;
		КонецЕсли;
		
		ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
		ВыборФайла.Фильтр = "rdf(*.rdf)|*.rdf";
		
		Если ВыборФайла.Выбрать() Тогда
			ДД.Записать(ВыборФайла.ПолноеИмяФайла);
		КонецЕсли;	

КонецПроцедуры
Показать
+
6. harvester_sorrow 24 14.12.18 10:20 Сейчас в теме
Другой вопрос где Вам нужно сохранить файл на клиенте или на серваке? Если на клиенте то user820492 дал правильный совет.
+
7. Jimbo 9 14.12.18 11:05 Сейчас в теме
Обернуть Создать Файл в попытку и в исключении ОписаниеОшибки() не ? Нет доступа на сервере на C:, сохраните в КаталогВременныхФайлов()
+
Внимание! Тема сдана в архив

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