Виртуальный документ — это данные, которые формируются в 1С по определенному алгоритму и затем передаются в "Первую Форму". Описание виртуального документа — это, по сути, описание алгоритма отбора и обработки данных. Данные могут отбираться из документов, регистров, справочников и т.п. |
---|
Полученные данные выгружаются в одном из двух вариантов: либо в виде файла, вложенного в задачу (возможные расширения файла: pdf, xls, txt, docx, html, ods), либо в виде ДП "Таблица".
В приложении "1С:Предприятие" в справочнике "Виртуальные документы ("Первая форма")" создайте запись.
Имя виртуального документа не должно содержать пробелов. Имя документа желательно не менять, в противном случае при изменении имени необходимо изменить файл настроек синхронизации. |
---|
В шапке элемента укажите тип результата:
1. Алгоритм – формирует табличный документ 1С, который согласно настройкам синхронизации будет сохранен в файл соответствующего формата и отправлен в "Первую Форму". Возможные расширения: pdf, xls, txt, docx, html, ods.
Для настройки расширения файла в настройках синхронизации в "Первой Форме" используется свойство BinFileProperty из блока Files:
<Files CatalogName = "НовыйОтчет" BinFileProperty = "pdf" FileNameProperty ="Отчет.pdf" />
В справочнике виртуальных документов "1С:Предприятие" напишите алгоритм на встроенном языке 1С для формирования данных. Для проверки правильности алгоритма используйте кнопку Выполнить алгоритм:
Проверка правильности алгоритма
Алгоритм вычисляет значение переменной Результат и выводит его в таблицу справа. Для доступа к параметрам отчета используется соответствие ПараметрыАлгоритма.
Параметры отчета указываются на закладке Параметры. Эти параметры выгружаются как реквизиты документа в "Первую Форму" и впоследствии приходят в 1С значениями для получения отчета.
Параметры отчета
Закладка "Реквизиты" не заполняется.
2.Запрос — формирует таблицу данных. Для таких документов заполняется закладка "Реквизиты":
Заполнение реквизитов для запроса
В "Первую Форму" выгружаются только указанные реквизиты из результата выполнения запроса в 1С. Значения ссылочных типов отравляются согласно общим настройка синхронизации.
Виртуальные документы могут быть использованы для обмена табличными частями либо файлами, которые программно формируются на стороне 1С.
Передачу Виртуальных документов можно совмещать с классической передачей реквизитов, т. е. внутри обмена для документа приемника на стороне первой формы будут прописаны два (или более) вариантов обмена.
Передача Отчета/Документа в виде файла
Пример настроек передачи макета отчета Торг-12 из 1С
Значение параметра OneCDocName обязательно должно начинаться на "ВиртуальныйДокумент”, а через точку имя справочника с типом виртуальные документы в 1С. В данном примере OneCDocName="ВиртуальныйДокумент.Тест_вирт_файл".
В 1С необходимо создать новый элемент справочника Виртуальные документы (“Первая форма”).
Данная информация хранится только на стороне 1С и не отражается в общих настройках обмена XML. В качестве Тип результата указать Файл. Имя должно совпадать со значением параметры OneCDocName (после точки), в данном примере: Тест_вирт_файл.
Пример
На вкладке Алгоритм и результат можно написать любой код на языке 1С, который будет выполнен в процессе обмена. В данном примере указано получение макета товарной накладной:
Макет = ПолучитьОбщийМакет("ПФ_MXL_ТОРГ12");
Результат = Макет;
Пример формирования внешнего отчета
Пример формирования отчета конфигурации на базе СКД
Для теста можно нажать кнопку Выполнить алгоритм, при этом 1С произведет расчет и поместит результат выполнения в соседнее окно.
В случае обмена файлами вкладка Реквизиты не имеет значения.
Если в конфигурации обмена Виртуального документа указать список пропертей для обмена, то они будут переданы в качестве параметров, и их можно задействовать при формировании нашего файла. Например использовать некоторые реквизиты при формировании отчета. Чтобы протестировать это, вы можете вручную добавить параметры на соответствующей вкладке и указать там тестовые значения. В процессе обмена 1С получит все переданные property, и упакует их в параметры для дальнейшего использования при формировании отчета или документа. В нашем случае передается одна property Наименование из "Первой Формы".