1с 8 pdf не понимает как вложение
(17) погодите с категоричностью. Я уже изложил, что раз в пользовательском варианте возможность сделать это есть, должна быть и в программном.
(18) ничего там такого нет. Только в разрешенные поля внести текст, больше ничего. Это просто бланки с графическим оформлением. Причем, это оформление сыпется при попытке именно изменить pdf. Внести данные текстовые поля - никаких проблем, пользователь может легко это сделать и сохранить результат.
Соббсно, вроде как из jsсript в рамках страницы можно достучаться до форм внутри
>раз в пользовательском варианте возможность сделать это есть, должна быть и в программном.
это ложная ассоциация
(25) можно. Я ж об этом и говорил. Но через jscript из 1С немного неудобно. Во-первых, java практически не знаю, то есть, у меня нет примеров обращений к объектам, из которых можно было бы как-то подчерпнуть методы и/или имена объектов. Во-вторых, 1С для работы даже через java все равно требуется COM-объект, имя которого мне неизвестно.
(26) если Вам неизвестно решение, это не значит, что его нет. Или Вы - сотрудник Adobe и знаете наверняка? Да и насчет ложности могу сказать, что у меня большие сомнения в том, что такая фирма как Adobe не предусмотрела чего-то такого.
(28) мне на надо быть сотрудником адоба
помню они чего-то в jscript докручивали у себя не так давно - pdf с "плохим" внедренным скриптом мог сделать что-то вредоносное на компе(34) открылась форма, а поверх другая со смещением - куда кликать будешь?
(39) Т.е. заполнение будет происходить на экране, хоть и программно?
А если Esc нажмут?
Может не заниматься копанием канала выданной лопатой?
А сделать "Дано" > "Надо" простым способом?
Задача то отвлекаясь от PDF какая?
Или вообще нафик эти PDF и с чем то другим работать (начальные PDF можно сконвертить на другом компе/сервере)
все клиенты (банк или биллинг) что видел допускали кроме pdf еще экспорт в xls или csv как минимум.
парсинг pdf это "распечатать 2 камаза бумаги, чтобы потом эти 2 камаза распознавать"
(44) Задача - данный pdf (и именно его и именно в pdf), нарисованный в векторе (и именно поэтому не допускающий переконвертаций, дабы не потерять расцветку для типографии) заполнить и сохранить в виде другого pdf. Заполнение изначальным pdf-ом предусматривается (так называемая, форма заполнения) и работает в пользовательском режиме в Acrobat Reader. Мне необходимо тоже самое провернуть программно из 1С.
(44) забыл сказать, софтовая расширяемость практически отсутствует. Клиентов не уговорить поставить что-то еще.
(46) pdf в векторе для типографии. )) откройте для себя корел дроу.
(47) у клиентов есть интернет?
просто задача из разряда хочу на легковушке гараж перетащить.
варианты решения:
1. имитация из 1С действий юзверя по работе с реадером
2. отправка исходника и данных заполнения на другой комп/сервер возможно через инет
3. установка доп.софта, любого от полного акробата или корел дроу или ВК для 1с
(48) В котором и делались эти pdf и который никто не собирается покупать. Он стоит только у дизайнера этих pdf.
(49) Ни одно из решений не является приемлемым.
1. Лишние окна.
2. Куда? И зачем? Как будто кто-то одобрит установку софта на другом компе той же компании. А свой домашний я этим нагружать не стану, и уж тем более, он не будет включен, пока я на работе, это электричество это никто не оплатит.
3. Не обсуждается даже. ВК разве что протолкнуть, и то, если для ее установки нужны права администратора (а скорее всего так оно и есть) - админ не пропустит.
Есть версии, подходящие под условия, которые у меня имеются?
(50) есть. ценник озвучьте для операций на гландах. ректально
сразу все появится и админский доступ и софт какой надо купят и поставят
А если серьезно, расценки назначаю не я, так что выставить дикий ценник попросту не в моих силах.
а зачем нужно именно в пдф засовывать данные?
и потом из 1с просто в нужные места печатать что надо?
Блин, сейчас сижу и попросту не въезжаю. неужели без извращений и окольных путей не существует варианта приобщить 1с к Adobe Reader?
(56) я так понимаю, проблема не в приобщении, а в том, что адобе ридер не предоставляет COM-интерфейса, который позволял бы автоматизированно заполнять PDF формы. Т.е. вопрос в данном случае к фирме адобе, а не к 1С.
(57) Может, и так. Хотя на java можно это сделать, очевидно, через иной интерфейс. Тут вопрос в том, что java я почти не знаю, а хоть сколь-нибудь рабочего примера, на который можно было бы опереться в экспериментах, найти не удалось.
(59) я точно знаю, что из 1С можно дотянуться через javascript до глубин OpenOffice, уже проделывал это (но у меня был под рукой sdk и множество рабочих примеров, которые я, правда, переводил из, кажется, vb на 1С). Можно ли через те же скрипты дотянуться до ридера - фиг знает.
(61) спасибо, но это перебор. И что-то мне подсказывает, что эта компонента несколько иначе реализована, чем мне нужно, то есть даже разобрав ее, я не получу искомого. То есть, такой функционал - явно больше, чем можно получить от ридера.
(62) Отпишись если решишь задачу в заданых условиях.
Как вариант через скрипты операционки иметировать деятельность пользователя, но боюсь документы не имеют шаблона.
(13) По поводу этого AcroExch. только что проверил идею.
на компе полный Акробат не стоит. Попробовал в Ворде вставить объект "Adobe Acrobat Document", сохранив действия в макрос. Вот что получилось:
Sub Макрос1()
Из чего делается предположение, что AcroExch - таки объект Ридера. И работать с ним - можно. И обращаться к его коллекции Fields, и прописывать в нужные поля ФИО участника семинара, название, город, и проч.
Ну а дальше - пробуйте. Результат очень интересен и полезен. Хотелось бы, чтобы у Вас получилось! Успехов!
(17) погодите с категоричностью. Я уже изложил, что раз в пользовательском варианте возможность сделать это есть, должна быть и в программном.
(18) ничего там такого нет. Только в разрешенные поля внести текст, больше ничего. Это просто бланки с графическим оформлением. Причем, это оформление сыпется при попытке именно изменить pdf. Внести данные текстовые поля - никаких проблем, пользователь может легко это сделать и сохранить результат.
Соббсно, вроде как из jsсript в рамках страницы можно достучаться до форм внутри
>раз в пользовательском варианте возможность сделать это есть, должна быть и в программном.
это ложная ассоциация
(25) можно. Я ж об этом и говорил. Но через jscript из 1С немного неудобно. Во-первых, java практически не знаю, то есть, у меня нет примеров обращений к объектам, из которых можно было бы как-то подчерпнуть методы и/или имена объектов. Во-вторых, 1С для работы даже через java все равно требуется COM-объект, имя которого мне неизвестно.
(26) если Вам неизвестно решение, это не значит, что его нет. Или Вы - сотрудник Adobe и знаете наверняка? Да и насчет ложности могу сказать, что у меня большие сомнения в том, что такая фирма как Adobe не предусмотрела чего-то такого.
(28) мне на надо быть сотрудником адоба
помню они чего-то в jscript докручивали у себя не так давно - pdf с "плохим" внедренным скриптом мог сделать что-то вредоносное на компе(34) открылась форма, а поверх другая со смещением - куда кликать будешь?
(39) Т.е. заполнение будет происходить на экране, хоть и программно?
А если Esc нажмут?
Может не заниматься копанием канала выданной лопатой?
А сделать "Дано" > "Надо" простым способом?
Задача то отвлекаясь от PDF какая?
Или вообще нафик эти PDF и с чем то другим работать (начальные PDF можно сконвертить на другом компе/сервере)
все клиенты (банк или биллинг) что видел допускали кроме pdf еще экспорт в xls или csv как минимум.
парсинг pdf это "распечатать 2 камаза бумаги, чтобы потом эти 2 камаза распознавать"
(44) Задача - данный pdf (и именно его и именно в pdf), нарисованный в векторе (и именно поэтому не допускающий переконвертаций, дабы не потерять расцветку для типографии) заполнить и сохранить в виде другого pdf. Заполнение изначальным pdf-ом предусматривается (так называемая, форма заполнения) и работает в пользовательском режиме в Acrobat Reader. Мне необходимо тоже самое провернуть программно из 1С.
(44) забыл сказать, софтовая расширяемость практически отсутствует. Клиентов не уговорить поставить что-то еще.
(46) pdf в векторе для типографии. )) откройте для себя корел дроу.
(47) у клиентов есть интернет?
просто задача из разряда хочу на легковушке гараж перетащить.
варианты решения:
1. имитация из 1С действий юзверя по работе с реадером
2. отправка исходника и данных заполнения на другой комп/сервер возможно через инет
3. установка доп.софта, любого от полного акробата или корел дроу или ВК для 1с
(48) В котором и делались эти pdf и который никто не собирается покупать. Он стоит только у дизайнера этих pdf.
(49) Ни одно из решений не является приемлемым.
1. Лишние окна.
2. Куда? И зачем? Как будто кто-то одобрит установку софта на другом компе той же компании. А свой домашний я этим нагружать не стану, и уж тем более, он не будет включен, пока я на работе, это электричество это никто не оплатит.
3. Не обсуждается даже. ВК разве что протолкнуть, и то, если для ее установки нужны права администратора (а скорее всего так оно и есть) - админ не пропустит.
Есть версии, подходящие под условия, которые у меня имеются?
(50) есть. ценник озвучьте для операций на гландах. ректально
сразу все появится и админский доступ и софт какой надо купят и поставят
А если серьезно, расценки назначаю не я, так что выставить дикий ценник попросту не в моих силах.
а зачем нужно именно в пдф засовывать данные?
и потом из 1с просто в нужные места печатать что надо?
Блин, сейчас сижу и попросту не въезжаю. неужели без извращений и окольных путей не существует варианта приобщить 1с к Adobe Reader?
(56) я так понимаю, проблема не в приобщении, а в том, что адобе ридер не предоставляет COM-интерфейса, который позволял бы автоматизированно заполнять PDF формы. Т.е. вопрос в данном случае к фирме адобе, а не к 1С.
(57) Может, и так. Хотя на java можно это сделать, очевидно, через иной интерфейс. Тут вопрос в том, что java я почти не знаю, а хоть сколь-нибудь рабочего примера, на который можно было бы опереться в экспериментах, найти не удалось.
(59) я точно знаю, что из 1С можно дотянуться через javascript до глубин OpenOffice, уже проделывал это (но у меня был под рукой sdk и множество рабочих примеров, которые я, правда, переводил из, кажется, vb на 1С). Можно ли через те же скрипты дотянуться до ридера - фиг знает.
(61) спасибо, но это перебор. И что-то мне подсказывает, что эта компонента несколько иначе реализована, чем мне нужно, то есть даже разобрав ее, я не получу искомого. То есть, такой функционал - явно больше, чем можно получить от ридера.
(62) Отпишись если решишь задачу в заданых условиях.
Как вариант через скрипты операционки иметировать деятельность пользователя, но боюсь документы не имеют шаблона.
(13) По поводу этого AcroExch. только что проверил идею.
на компе полный Акробат не стоит. Попробовал в Ворде вставить объект "Adobe Acrobat Document", сохранив действия в макрос. Вот что получилось:
Sub Макрос1()
Из чего делается предположение, что AcroExch - таки объект Ридера. И работать с ним - можно. И обращаться к его коллекции Fields, и прописывать в нужные поля ФИО участника семинара, название, город, и проч.
Ну а дальше - пробуйте. Результат очень интересен и полезен. Хотелось бы, чтобы у Вас получилось! Успехов!
Раньше и не верилось, например, что бухгалтерию можно вести в телефоне, а теперь — пожалуйста, загрузил специальное приложение и вперед! Разработчики постоянно совершенствуют программу 1С. Так, начиная с релиза 3.0.81, в неё в пилотном режиме добавлена возможность создания документов «Акт», «Накладная», «Счет-фактура» с помощью загрузки по фотографии или сканированному варианту. Как это делается, расскажем в статье.
Сразу оговоримся, что пока данный функционал доступен только пользователям облачной 1С.
Для загрузки данных в 1С теперь достаточно сфотографировать документ, отсканировать его или сфотографировать с помощью мобильного приложения «Сканер документов».
Начнем с первого варианта — загрузка по фото или скану.
Загрузка документов в 1С из скана (фото)
Имеем сфотографированный телефоном документ и отправленный пользователю на электронную почту: акт об оказании услуг на сумму 2750 руб. от контрагента ИП Кругловой О.А. Услуги оказаны ООО «Василек». Контрагент и услуга новые, в 1С не внесены.
Шаг 1. Перейдите в раздел «Покупки» — «Поступления (Акты, накладные, УПД)».
В журнале документов нажмите кнопку «Загрузить» и выберите команду «Из скана (фото)».
Шаг 2. Для добавления фото в 1С нажмите кнопку «Добавить файлы».
Шаг 3. В модуле «Распознавание документов» нажмите «Добавить». В открывшемся окне выберите файл фотографии документа или сканированное фото. В нашем случае прикрепляем файл, присланный на электронную почту.
Шаг 4. После переноса файла в 1С выделите его и нажмите «Распознать».
Далее действия выполняются автоматически. Документ отобразится в правой части окна.
Дождитесь окончания обработки, пока статус документа не изменится на «Распознанный» — значок в виде буквы «А» и не появится «синяя стрелочка».
В строке отображаются данные документа:
- тип — в нашем примере «Акт об оказании услуг»;
- имя файла и наименование документа;
- автор — в данном примере это пользователь 1С;
- организация, чей документ загружается. В нашем примере ООО «Василек».
Шаг 5. Щелкните дважды мышкой на строке. Откроется форма ввода документа в 1С с заполненными по возможности реквизитами. А те данные, которые не сопоставлены, обозначены как ошибки.
Так как контрагент, договор и номенклатура ранее не использовались в программе, то программа не может их сопоставить с распознанными данными фото. Эти поля помечены красным.
Пройдемся по ошибкам и дозаполним форму.
Ошибка первая: не сопоставлен контрагент
Шаг 6. Щелкните на поле «Контрагент». В сканированном эскизе фото программа автоматически покажет нужный распознанный фрагмент и предложит создать нового контрагента, т.к. он отсутствует в базе.
Нажмите на выпадающую ссылку «Создать: Индивидуальный предприниматель Круглова Ольга Александровна». Наименование контрагента считано с фото документа.
Шаг 7. В открывшемся окне подтвердите создание контрагента — кнопка «Создать».
Вид контрагента 1С определит автоматически.
При возможности использовании сервиса 1С-Контрагент программа предложит им воспользоваться. Согласимся на предложение.
Ошибка вторая: нет договора
Шаг 9. Поле «Договор» в нашем примере мы заполнили вручную, указав «Без договора». Но при указанном в документе договоре его также можно внести с помощью используемой обработки.
Ошибка третья: не сопоставлена номенклатура
Шаг 10. Щелкните на поле «Номенклатура» и создайте новый элемент, нажав на всплывающую «подсказку».
Шаг 11. В окне заполнения данных о номенклатуре укажите «Вид номенклатуры». Наименование и единица измерения заполнятся из фото документа.
Шаг 12. Заполнив данные, нажмите кнопку «Создать» и выберите нужный вид документа. В нашем примере это «Услуги (акт)».
Из рабочего места «Распознавание документов», окошка «Распознанные», наш документ исчезнет и переместится в «Обработанные». Если нажмем одноименную кнопку, отобразятся документы, на основании которых созданы «Акты» или «Накладные».
Шаг 13. Откройте журнал «Поступления (Акты, накладные, УПД)» и увидите сформированный обработкой документ из нашего фото.
Задача выполнена. Причем отметим, что фото было не лучшего качества, но система смогла его распознать.
Рассмотрим еще один вариант переноса документов — с помощью фото, но используя мобильное приложение «1С — Сканер документов».
Передача документов в 1С: Бухгалтерию предприятия ред. 3.0 с помощью приложения «1С: Сканер документов». Установка приложения «1С: Сканер документов»
Начнем с того, что необходимо установить приложение на телефон. Найти его можно самостоятельно или воспользовавшись QR-кодом из 1С со ссылкой на указанное приложение.
Сделать это можно из рабочего места в разделе «Продажи» или «Покупки» — подраздел «Сервис» — «Загрузить документы из сканов (фото)».
Это тоже рабочее место, что мы рассмотрели выше.
Шаг 1. Перейдите в рабочее место и нажмите кнопку «Мобильные приложения».
Шаг 3. Используя QR-код, загрузите мобильное приложение. Оно доступно в двух вариантах операционных систем телефона:
- для пользователей Android;
- для пользователей Apple iOS.
В нашем примере мы установим на телефон приложение для Android, используя приложение Google play.
Шаг 4. Найдите приложение и нажмите «Установить»
После установки приложения на телефон перейдите в 1С в рабочее место загрузки фото.
Шаг 5. Для добавления «клиента» загрузки нажмите кнопку «Добавить».
Добавлять фото документов могут не только сотрудники, но и клиенты, используя коды подключения.
В окне создания «клиента» — «пользователя» задайте его наименование.
Синхронизировать программу с приложением можно с помощью ключа пользователя или отсканировав QR-код. Ключ пользователя формируется программой автоматически.
Синхронизируем нового клиента с его приложением.
Шаг 6. Запустите приложение на телефоне. Автоматически оно предложит войти в систему. Вы можете ввести ключ пользователя (при удаленном расположении клиента) или отсканировать QR-код, нажав на него.
Если у вас пока нет кода или ключа, можно воспользоваться для ознакомления «Демо-режимом».
Загрузка фото через приложение «1С: Сканер документов» и синхронизация с его с 1С
Интерфейс программы прост. Он имеет только раздел «Мои документы». Добавить документы можно:
- выбрав готовый файл с телефона;
- выбрав действие — Сделать фото.
Воспользуемся вторым вариантом.
Шаг 8. Как только файл фото попадает в приложение, происходит его обработка. Приложение автоматически его отправит в 1С.
В приложении информация о файлах отображается следующим образом.
Для примера сфотографирован и передан еще раз этот же документ «Акт об оказании услуг».
Шаг 9. Перейдите в 1С. В рабочем месте «Распознавание документов» автоматически появился переданный из приложения документ.
Обратите внимание, что документы группируются по датам загрузки, что облегчает поиск нужной документации.
У строки документа имеется пиктограмма — «листик со скрепкой». Нажав на нее можно перейти к документу и посмотреть прикрепленное вложение.
Далее действуем также, как и при загрузке фото (скана) с компьютера.
Шаг 10. Щелкните дважды на строке документа и откроется его форма.
Так как с контрагентом из документа мы уже работали, и он, и его номенклатура уже внесены в программу, то они без проблем сопоставились.
Если вы впервые работаете с этим контрагентом, то выполняете действия так, как мы рассмотрели в первом разделе статьи при загрузке документа по фото в программу.
Шаг 11. Проверьте документ на наличие ошибок (незаполненных полей).
Обратите внимание на гиперссылку — «Связанные документы». Нажав на нее, пользователь видит, что имеются дубли распознанного документа и в системе уже сформирован документ «Поступление (Акт, накладная, УПД)».
Обратите внимание, программа контролирует совпадение реквизитов загружаемых документов и предупреждает об том пользователя, чтобы по ошибке не были загружены документы дважды.
Так как мы рассматриваем пример загрузки, нажмем «Создать новый».
В реальном режиме работы, конечно же, при обнаружении имеющегося документа в базе, повторно загружать его не надо.
Шаг 12. Перейдите в журнал документов по поставщикам — «Поступление (акты, накладные, УПД). В журнале два документа. Первый загруженный с помощью фото с компьютера, через кнопку «Загрузить». Второй — с помощью мобильного приложения «1С: Сканер документов».
Обратите внимание на значок «скрепка» у каждого загруженного нами документа. Это означает, что имеются прикрепленные файлы.
Выделив документ, нажмите «кнопку-скрепку» на панели инструментов журнала. Откроется окно «Присоединенные файлы», где хранится наша фотография документа или его скан.
Дополнительные настройки рабочего места «Распознавание документов»
В рабочем месте «Распознавание документов» у нас два документа со статусом «Отработанные».
Посмотрим, какие настройки рабочего места еще имеются.
- «Кнопка-картинка» — «Показать миниатюры файлов» / «Скрыть миниатюры файлов» — отображает фото документа в нижней части рабочего стола.
- «Кнопка-скрепка» — «Показать панель с документами» / «Скрыть панель с документами» — отображает связанные документы и файлы с правой стороны рабочего места.
При нажатой кнопке «Загружено» в списке отображаются все документы, сгруппированные по датам загрузки. Пользователь может установить отбор по контрагенту или организации, нажав одноименные кнопки.
Обратите внимание на «кнопку-шестеренку» на панели задач.
Здесь пользователь может задать дополнительные настройки, которые включают:
- настройки распознавания документов;
- настройки заполнения документов;
- настройки обработки документов;
- прочие настройки.
Для изменения настроек установите галочку или переместите переключатель в нужное положение.
По гиперссылке «Соответствие распознанных строк» можно посмотреть, как сопоставлялись значения справочников
Мы рассмотрели функционал загрузки документов по фото и сканам. Пока он доступен только для пользователей облачной 1С-Fresh, но надеемся, что в скором времени 1С порадует этим инструментом всех остальных пользователей 1С.
AppShell = Новый COMОбъект ( "Shell.Application" );
AppShell . ShellExecute ( PDF_File , "" , "" , "print" , 0 );
Процедура Печать_PDF_Файла_Фоновая ( МассивФайловPDF , ИмяУстройства = "" ) Экспорт
// Процедура печатает pdf-файлы (из списка) в фоновом режиме (без участия пользователя)
// Параметры процедуры:
// МассивФайловPDF - массив элементов типа "Файл" или массив структур с ключами "ПолноеИмя" и "Имя"
// ИмяУстройства - имя МФУ или принтера в системе
WbemScripting = Новый COMОбъект ( "WbemScripting.SWbemLocator" );
ConnectServer = WbemScripting . ConnectServer ( "" , "" , "" , "" ); //Задания от всех пользователей
ConnectServer . Security_ . impersonationlevel = 3 ; // Получение нужных прав
ConnectServer . Security_ . Privileges . AddAsString ( "SeLoadDriverPrivilege" );
Для Каждого ФайлPDF Из МассивФайловPDF Цикл
WScriptShell . Run ( Путь_AdobeReader + " /N /T " + ФайлPDF . ПолноеИмя + ?( ЗначениеЗаполнено ( ИмяУстройства ), " " + ИмяУстройства , "" ), 0 );
ДобавленоЗадание = Ложь;
ТекущееВремя = ТекущаяДата ();
// 40 секунд на добавление задания см.ОбработкаПрерыванияПользователя
Пока Не ДобавленоЗадание И ТекущаяДата () ТекущееВремя + 40 Цикл
ОбработкаПрерыванияПользователя ();
Для Каждого PrintJob Из ConnectServer . InstancesOf ( "Win32_PrintJob" ) Цикл
ОбработкаПрерыванияПользователя ();
ДобавленоЗадание = PrintJob . Document = ФайлPDF . Имя ;
КонецЦикла;
КонецЦикла;
// Ожидание завершения печати
Пока ConnectServer . InstancesOf ( "Win32_PrintJob" ). Count > 0 Цикл
КонецЦикла;
// Получение имени процесса
НомерСимвола = Найти ( Путь_AdobeReader , "\" );
Пока НомерСимвола > 0 Цикл
Путь_AdobeReader = Сред ( Путь_AdobeReader , НомерСимвола + 1 );
НомерСимвола = Найти ( Путь_AdobeReader , "\" );
КонецЦикла;
// Удаление процесса
WScriptShell . Run ( "taskkill /f /im " + Путь_AdobeReader , 0 );
Читайте также: