Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Июн 2021, 09:30
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
МультиВход
 
collapse

Автор Тема: присоединенные файлы  (Прочитано 12545 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн loiterer

  • *
  • Регистрация: 2012-02-15
  • Сообщений: 42
  • РЕПУТАЦИЯ: -1
  • Профессия: Программист 1С
Здравствуйте. 1с 8.3 УФ. Есть счет на оплату поставщика. У него есть присоединенные файлы. Не могу сообразить как их можно получить и сохранить на жестком диске. Через регистр сведений не получается. Там всего одно измерение. Как сделать отбор по документы(владельцу) не соображу. Пробовал через общую форму "присоединенные файлы" из динамического списка, посредством
&НаСервере
Функция СписокВТЗнаСервере()

    Схема = Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
    Настройки = Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
    МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
   
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Возврат Результат;
КонецФункции

На ПроцессорВывода.Вывести(ПроцессорКомпоновки) выдает ошибку, что-то про даты.

Помогите!!!


Оффлайн alex0402

  • *****
  • Регистрация: 2010-09-10
  • Сообщений: 2000
  • РЕПУТАЦИЯ: 358
  • КПД: 18%
  • Профессия: Программист 1С
Есть счет на оплату поставщика. У него есть присоединенные файлы. Не могу сообразить как их можно получить и сохранить на жестком диске.

Нужно просто посмотреть как "видит" эти файлы сам документ.
При чем здесь целый СКД? Если файлы, или картинки из файлов видны в отчете, то можно изучить запросы СКД, что бы понять, где хранятся файлы и как их вытащить.
Спасибо за Сказать спасибо

Оффлайн loiterer

  • *
  • Регистрация: 2012-02-15
  • Сообщений: 42
  • РЕПУТАЦИЯ: -1
  • Профессия: Программист 1С
Победил.
Вот решение:

&НаСервере
Процедура ПолучитьНаСервере(Дока)
   
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Файлы.Ссылка,
    |    Файлы.Наименование,
    |    Файлы.Расширение,
    |    Файлы.Описание,
    |    Файлы.ВладелецФайла
    |ИЗ
    |    Справочник.СчетНаОплатуПоставщикаПрисоединенныеФайлы КАК Файлы
    |ГДЕ
    |    Файлы.ВладелецФайла = &ВладелецФайла
    |    И (НЕ Файлы.ПометкаУдаления)";
   
   
    Запрос.УстановитьПараметр("ВладелецФайла", Дока);
    Выборка = Запрос.Выполнить().Выбрать();
   
   Если Выборка.Количество()=0 Тогда
      Сообщить("У этого счета нет присоединенных файлов!");
   КонецЕсли;
   
    Пока Выборка.Следующий() Цикл
            МенеджерЗаписи = РегистрыСведений.ПрисоединенныеФайлы.СоздатьМенеджерЗаписи();
            МенеджерЗаписи.ПрисоединенныйФайл = Выборка.Ссылка;
            МенеджерЗаписи.Прочитать();
            ДвоичныеДанные = МенеджерЗаписи.ХранимыйФайл.Получить();
           
            Попытка
                ПолноеИмяВремФайла = "D:\1CTemp\"+Выборка.Наименование+"."+Выборка.Расширение;
                ДвоичныеДанные.Записать(ПолноеИмяВремФайла);
             Исключение
                Сообщить("Не удаётся записать временный файл на диск!!! "+"("+ПолноеИмяВремФайла+")");
            КонецПопытки;
     КонецЦикла;
КонецПроцедуры

Конфигурация у меня Бухгалтерия КОРП


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Последние вакансии

* Том 10 авторов за месяц

LexaK
69 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
67 Сообщений
neek666
33 Сообщений
antoneus antoneus
31 Сообщений
Ивашка
25 Сообщений
KATERINA 861
18 Сообщений
Алексей_1985_06
17 Сообщений
SSC
13 Сообщений
alexandr_ll
12 Сообщений
BuhRust
10 Сообщений

* Кто онлайн

  • Точка Гостей: 481
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Инструменты

* Дополнительно

Поиск