Помогите пожалуйста, при сохранении документа в пдф на рабочий стол вылетает ошибка "Ошибка файловой операции"
Сохраняю табличный документ в pdf на рабочий стол из 1С. Вылетает ошибка файловой операции после которой не даёт сохранить, так же ошибка вылетает при открытии через "Файл - открыть " обработок. Что это может быть? Сервер Windows 2008
Так же пытался сохранить в другие папки на диске С и D, та же ошибка
Так же пытался сохранить в другие папки на диске С и D, та же ошибка
Прикрепленные файлы:
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Обрывается вот здесь
Код работы с файлом в студию.
Процедура СформироватьТекущуюКвитанцию(СтруктураОбщихТаблиц, СтруктураНастроек, ОбщиеДанные, ДокументРезультат, врТабличныйДокумент, КвитанцияНаКР = Ложь)
врТабличныйДокумент.Очистить();
Если ОбщиеДанные.Свойство("КвитанцияНаКР") Тогда
ОбщиеДанные.КвитанцияНаКР = КвитанцияНаКР;
Иначе
ОбщиеДанные.Вставить("КвитанцияНаКР", КвитанцияНаКР);
КонецЕсли;
Если ОбщиеДанные.Свойство("КвитанцияПоПени") И ОбщиеДанные.КвитанцияПоПени = Истина Тогда
ОбщиеДанные.КвитанцияПоПени = Ложь;
Иначе
ОбщиеДанные.Вставить("КвитанцияПоПени", Ложь);
КонецЕсли;
ОбщиеДанные.Вставить("ОтсутствуетРасчСчетКР", Ложь);
Если СтруктураНастроек.ВидМакета = Перечисления.УПЖКХ_ВидыПлатежныхДокументов.СтандартныйКР Тогда
СтруктураТекущихИОбщихДанных = ПолучитьТекущиеИОбщиеДанныеПоОбъекту924(СтруктураОбщихТаблиц, ОбщиеДанные, СтруктураНастроек);
Если СтруктураТекущихИОбщихДанных.ПечататьКвитанцию Тогда
// Текст для одномерного штрихкода.
ПолучитьТекстОдномерногоШтрихКода(СтруктураНастроек, СтруктураТекущихИОбщихДанных.ОбщиеДанные);
// Выводим в табличный документ квитанцию по текущему объекту отчета.
СформироватьКвитанцию(врТабличныйДокумент, СтруктураНастроек, СтруктураТекущихИОбщихДанных.ТекущиеДанные,
СтруктураТекущихИОбщихДанных.ОбщиеДанные);
СформироватьШтрихкоды(врТабличныйДокумент, СтруктураНастроек, СтруктураТекущихИОбщихДанных.ОбщиеДанные);
// МеханизмРассылкиКвитанцийНаЭлекторонныйЯщики
Если СтруктураНастроек.ИспользоватьРассылкуКвитанцийПоЭлектроннойПочте Тогда
УПЖКХ_РассылкаКвитанцийНаЭлектроннуюПочтуЛицевыхСчетовСервер .ЗаполнитьДанныеПоКвитанциям(врТабличныйДокумент,
СтруктураНастроек.ДанныеПоКвитанциям,
ПериодПросмотра,
ОбщиеДанные);
КонецЕсли;
// Конец МеханизмРассылкиКвитанцийНаЭлекторонныйЯщики
// Выводим квитанцию в общий документ-результат.
ВывестиОбласть(ДокументРезультат, врТабличныйДокумент);
КонецЕсли;
Иначе
Если ОбщиеДанные.Свойство("КвитанцияНаКР") Тогда
ОбщиеДанные.КвитанцияНаКР = КвитанцияНаКР;
Иначе
ОбщиеДанные.Вставить("КвитанцияНаКР", КвитанцияНаКР);
КонецЕсли;
Если (НЕ ОбщиеДанные.КвитанцияНаКР И СтруктураНастроек.ВыводитьQRштрихкодДляСитикардПоОсн)
ИЛИ (ОбщиеДанные.КвитанцияНаКР И СтруктураНастроек.ВедетсяРаздельныйУчетПоУслугамКапремонта И СтруктураНастроек.ВыводитьQRштрихкодДляСитикардПоКР) Тогда
ОбщиеДанные.Вставить("ВыводитьQRштрихкодДляСитикард", Истина);
Иначе
ОбщиеДанные.Вставить("ВыводитьQRштрихкодДляСитикард", Ложь);
КонецЕсли;
// Подготавливаем структуру с таблицами по текущему объекту отчета.
ТекущиеДанные = УПЖКХ_ПечатьКвитанцийСервер.ПолучитьСтруктуруДанныхПоТекущемуОбъекту(СтруктураОбщихТаблиц, ОбщиеДанные, СтруктураНастроек);
Если КвитанцияНаКР И ОбщиеДанные.ОтсутствуетРасчСчетКР Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Для лицевого счета """
+ ОбщиеДанные.ЛицевойСчет.Наименование
+ """ квитанция по кап. ремонту не сформирована, т.к. не заполнен расчетный счет капитального ремонта здания!";
Сообщение.Сообщить();
Возврат;
КонецЕсли;
// Записываем в структуру суммовые показатели по текущему объекту отчета.
УПЖКХ_ПечатьКвитанцийСервер.ПолучитьИтоговыеПоказателиПоТекущемуОбъекту(ОбщиеДанные, ТекущиеДанные, СтруктураНастроек);
ПечататьКвитанцию = УПЖКХ_ПечатьКвитанцийСервер.ПечататьКвитанцииПоОтбору(СтруктураОбщихТаблиц, ОбщиеДанные, СтруктураНастроек, Ложь);
Если ПечататьКвитанцию Тогда
// Текст для одномерного штрихкода.
//ПолучитьТекстОдномерногоШтрихКода(СтруктураНастроек, ОбщиеДанные);
// Выводим в табличный документ квитанцию по текущему объекту отчета.
СформироватьКвитанцию(врТабличныйДокумент, СтруктураНастроек, ТекущиеДанные, ОбщиеДанные);
//СформироватьШтрихкоды(врТабличныйДокумент, СтруктураНастроек, ОбщиеДанные);
Если ЗначениеЗаполнено(ЭтотОбъект.КаталогВыгрузки) Тогда
//ВремФайл = ПолучитьИмяВременногоФайла("pdf");
//Сообщить(ВремФайл);
ТНаим = ОбщиеДанные.НаименованиеЛицевогоСчета;
ТНаим = СтрЗаменить(ТНаим, "л", "");
ТНаим = СтрЗаменить(ТНаим, "с", "");
ТНаим = СтрЗаменить(ТНаим, "Л", "");
ТНаим = СтрЗаменить(ТНаим, "С", "");
ТНаим = СтрЗаменить(ТНаим, "/", "");
ТНаим = СтрЗаменить(ТНаим, "\", "");
ТНаим = СтрЗаменить(ТНаим, "№", "");
ТНаим = СтрЗаменить(ТНаим, " ", "");
ИмяФайла = ЭтотОбъект.КаталогВыгрузки + "\" + ТНаим + ".pdf";
врТабличныйДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
// МеханизмРассылкиКвитанцийНаЭлекторонныйЯщики
Если СтруктураНастроек.ИспользоватьРассылкуКвитанцийПоЭлектроннойПочте Тогда
УПЖКХ_РассылкаКвитанцийНаЭлектроннуюПочтуЛицевыхСчетовСервер .ЗаполнитьДанныеПоКвитанциям(врТабличныйДокумент,
СтруктураНастроек.ДанныеПоКвитанциям,
ПериодПросмотра,
ОбщиеДанные);
КонецЕсли;
// Конец МеханизмРассылкиКвитанцийНаЭлекторонныйЯщики
// Выводим квитанцию в общий документ-результат.
ВывестиОбласть(ДокументРезультат, врТабличныйДокумент);
КонецЕсли;
КонецЕсли;
Если СтруктураНастроек.ПечататьОтдельнуюКвитанциюПоПеням Тогда
// (ПЕНИ) // Производим формирование квитанции по пеням.
Если СтруктураНастроек.ВидМакета = Перечисления.УПЖКХ_ВидыПлатежныхДокументов.СтандартныйКР Тогда
СформироватьТекущуюКвитанциюПоПеням(СтруктураТекущихИОбщихДанных.ТекущиеДанные, СтруктураОбщихТаблиц, СтруктураНастроек,
СтруктураТекущихИОбщихДанных.ОбщиеДанные, ДокументРезультат, врТабличныйДокумент);
Иначе
СформироватьТекущуюКвитанциюПоПеням(ТекущиеДанные, СтруктураОбщихТаблиц, СтруктураНастроек, ОбщиеДанные, ДокументРезультат, врТабличныйДокумент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры // СформироватьТекущуюКвитанцию()
ПоказатьОбрывается вот здесь
врТабличныйДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.PDF);
1 вы просто должны очистить кэш который в ап дата ромаин в документах
2 переустановить приложение arobat (установку под админом)
3 проверить есть ли права на открытие внешних файлов (что врядли тогда он писал нарушение прав доступа)
4 попробовать другое приложение к пример pdf reader
5 и обновить net framework + все вытекающие программы
2 переустановить приложение arobat (установку под админом)
3 проверить есть ли права на открытие внешних файлов (что врядли тогда он писал нарушение прав доступа)
4 попробовать другое приложение к пример pdf reader
5 и обновить net framework + все вытекающие программы
В модуле объекта у меня код сохранения каждой квитанции
А в модуле формы у меня на клиенте процедура выбора каталога
Если ПечататьКвитанцию Тогда
// Текст для одномерного штрихкода.
ПолучитьТекстОдномерногоШтрихКода(СтруктураНастроек, ОбщиеДанные);
// Выводим в табличный документ квитанцию по текущему объекту отчета.
СформироватьКвитанцию(врТабличныйДокумент, СтруктураНастроек, ТекущиеДанные, ОбщиеДанные);
СформироватьШтрихкоды(врТабличныйДокумент, СтруктураНастроек, ОбщиеДанные);
Если ЗначениеЗаполнено(ЭтотОбъект.КаталогВыгрузки) Тогда
//ВремФайл = ПолучитьИмяВременногоФайла("pdf");
//Сообщить(ВремФайл);
ТНаим = ОбщиеДанные.НаименованиеЛицевогоСчета;
ТНаим = СтрЗаменить(ТНаим, "л", "");
ТНаим = СтрЗаменить(ТНаим, "с", "");
ТНаим = СтрЗаменить(ТНаим, "Л", "");
ТНаим = СтрЗаменить(ТНаим, "С", "");
ТНаим = СтрЗаменить(ТНаим, "/", "");
ТНаим = СтрЗаменить(ТНаим, "\", "");
ТНаим = СтрЗаменить(ТНаим, "№", "");
ТНаим = СтрЗаменить(ТНаим, " ", "");
ИмяФайла = ЭтотОбъект.КаталогВыгрузки + "\" + ТНаим + ".pdf";
врТабличныйДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
ПоказатьА в модуле формы у меня на клиенте процедура выбора каталога
&НаКлиенте
Процедура КаталогВыгрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.Каталог = "C:\";
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберите каталог";
Если ДиалогОткрытия.Выбрать() Тогда
Отчет.КаталогВыгрузки = ДиалогОткрытия.Каталог;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот