Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ЛистСогласования = новый ТабличныйДокумент;
...
...
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
ЛистСогласования.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
адресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПрисоединенныйФайл = ПрисоединенныеФайлы.ДобавитьФайл(ВладелецФайлов, "Лист согласования", "pdf", , , адресВХранилище);
УдалитьФайлы(ИмяВременногоФайла);
Показать
(8)у вас так же в этой строке участвует переменная ИмяВременногоФайла
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
Значит ли это, что перед строкой ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла); нужно переприсвоить значение ИмяВременногоФайла, и присвоить имя пути к файлу?
У меня создаётся файл, но он пустой
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
Значит ли это, что перед строкой ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла); нужно переприсвоить значение ИмяВременногоФайла, и присвоить имя пути к файлу?
У меня создаётся файл, но он пустой
(5) А нет решения на современную версию БСП? Такой модуль отсутствует.
На поверхности лежит:
Описание этой функции:
Но попытка использования дает такой результат, хотя ссылка на документ входит в определяемый тип:
Отладчиком видно что после многочисленных прыжков по функциям владельцем оказывается папка (версионирование включено).
На поверхности лежит:
ВременныйФайл = ПолучитьИмяВременногоФайла(".xlsx");
ТабДок.Записать(ВременныйФайл, ТипФайлаТабличногоДокумента.XLSX);
РаботаСФайлами.ДобавитьФайлСДиска(ДокументСсылка, ВременныйФайл);
Описание этой функции:
// Добавляет новый файл из файловой системы.
// Если справочник файлов поддерживает хранение версий, то будет создана первая версия файла.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ПутьКФайлуНаДиске - Строка - полный путь к файлу на диске, включающий имя и расширение файла.
// Файл должен находиться на сервере.
//
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с созданным файлом.
ПоказатьНо попытка использования дает такой результат, хотя ссылка на документ входит в определяемый тип:
{ОбщийМодуль.РаботаСФайламиСлужебныйВызовСервера.Модуль(640)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {ОбщийМодуль.РаботаСФайлами.Модуль(2251)}: Не заполнен владелец в файле
"v8_9H4y95_39".
"v8_9H4y95_39".
Отладчиком видно что после многочисленных прыжков по функциям владельцем оказывается папка (версионирование включено).
На БСП версии 3.1 для объектов, имеющих соответствующий справочник <ИмяОбъекта>ПрисоединенныеФайлы:
Для объектов, не имеющих свой справочник (это не документы и не справочники), использующих общий Справочник.Файлы :
ВременныйФайл = ПолучитьИмяВременногоФайла(".mxl");
ТабДок.Записать(ВременныйФайл, ТипФайлаТабличногоДокумента.MXL);
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.Автор = ПараметрыСеанса.ТекущийПользователь.Наименование;
ПараметрыФайла.ВладелецФайлов = ДокументСсылка;
ПараметрыФайла.ИмяБезРасширения = "Отчет о закупках снега";
ПараметрыФайла.РасширениеБезТочки = "mxl";
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресВХранилище);
УдалитьФайлы(ВременныйФайл);
ПоказатьДля объектов, не имеющих свой справочник (это не документы и не справочники), использующих общий Справочник.Файлы :
ВременныйФайл = ПолучитьИмяВременногоФайла(".xlsx");
ТабДок.Записать(ВременныйФайл, ТипФайлаТабличногоДокумента.XLSX);
РаботаСФайлами.ДобавитьФайлСДиска(ДокументСсылка, ВременныйФайл);
УдалитьФайлы(ВременныйФайл);
kladovoy; kvintgood; agentz; 1cmax; Serg_V_M; bprogs; SadrA; assa; evgeny_sluzhenko; О.Ж; ambabas; AlexandraSerg; Walet; belarus767; Nerich; mikhalchenko31; Dream_kz; avert; native-api; NikVeega; Gendelf; mikl79; kos_47; user1088651; aleksey2; atdonya; elabor; Pipapalamm; igor-gtc; inesik; ponka; poyson; Sloger;
+33
–
Ответить
(17) Вот вам полезный кусок, по кнопке прикладывает файл со сканера, можете в цикле сразу пачку сканов и написать обработку и скрепки будут вживую появляться в списке документов по мере сканирования
Я так и не понял к чему Табличный документ? вообще вопрос был про pdf, присоединение всего иного это люто и не имеет смысла, тогда уж сразу данные переносите в 1с. Присоединенные имеют смысл исключительно с юридической точки зрения. Например прислали с отсоединенной подписью или скан пдф.
Я владелец достаточно крупного бизнеса по обработке документации, знаком с 1с уж так вышло. Большинство программистов 1с из за отсутствия представления архитектуры бизнеса и реалий городят такой огород, что я диву даюсь как бы эти мозги да в нужное русло.
// ПРОЦЕДУРА ПОЛУЧЕНИЯ ФАЙЛА С ДИСКА И ПРИСОЕДИНЕНИЯ К ДОКУМЕНТУ (КНОПКА ПРИСОЕДИНИТЬ НА ФОРМЕ)
&НаСервере
Процедура ПрикрепитьФайлНаСервере(Команда)
ДокументССылка = Объект.Ссылка;
ВременныйФайл = "C:\install\test.pdf";
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.Автор = ПараметрыСеанса.ТекущийПользователь.Наименование;
ПараметрыФайла.ВладелецФайлов = ДокументСсылка;
ПараметрыФайла.ИмяБезРасширения = "Документ со сканера";
ПараметрыФайла.РасширениеБезТочки = "pdf";
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресВХранилище);
// удаляем файл после успешного прикрепления, но лучше удалять после верификации оператором
УдалитьФайлы(ВременныйФайл);
КонецПроцедуры
&НаКлиенте
Процедура ПрикрепитьФайл(Команда)
ЦЭУ_ТестПрикрепитьФайлНаСервере();
КонецПроцедуры
Я так и не понял к чему Табличный документ? вообще вопрос был про pdf, присоединение всего иного это люто и не имеет смысла, тогда уж сразу данные переносите в 1с. Присоединенные имеют смысл исключительно с юридической точки зрения. Например прислали с отсоединенной подписью или скан пдф.
Я владелец достаточно крупного бизнеса по обработке документации, знаком с 1с уж так вышло. Большинство программистов 1с из за отсутствия представления архитектуры бизнеса и реалий городят такой огород, что я диву даюсь как бы эти мозги да в нужное русло.
// ПРОЦЕДУРА ПОЛУЧЕНИЯ ФАЙЛА С ДИСКА И ПРИСОЕДИНЕНИЯ К ДОКУМЕНТУ (КНОПКА ПРИСОЕДИНИТЬ НА ФОРМЕ)
&НаСервере
Процедура ПрикрепитьФайлНаСервере(Команда)
ДокументССылка = Объект.Ссылка;
ВременныйФайл = "C:\install\test.pdf";
ДвоичныеДанные = Новый ДвоичныеДанные(ВременныйФайл);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.Автор = ПараметрыСеанса.ТекущийПользователь.Наименование;
ПараметрыФайла.ВладелецФайлов = ДокументСсылка;
ПараметрыФайла.ИмяБезРасширения = "Документ со сканера";
ПараметрыФайла.РасширениеБезТочки = "pdf";
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресВХранилище);
// удаляем файл после успешного прикрепления, но лучше удалять после верификации оператором
УдалитьФайлы(ВременныйФайл);
КонецПроцедуры
&НаКлиенте
Процедура ПрикрепитьФайл(Команда)
ЦЭУ_ТестПрикрепитьФайлНаСервере();
КонецПроцедуры
(18)
ПрикрепитьФайлНаСервере
Добрый день. Прошу прощения. В этой процедуре "Процедура ПрикрепитьФайл(Команда)" указан код "ЦЭУ_ТестПрикрепитьФайлНаСервере();" А процедура на сервере с другим названием указана "Процедура ПрикрепитьФайлНаСервере(Команда)" - это не ошибка? Не могу понять(
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот