Вставить документ в 1с
Очень часто появляется необходимость в загрузке данных в 1С из других источников, например, файлов, текстовых документов, excel, xml и т.д. В интернете можно найти типовую обработку для для этих целей, либо написать собственную. Задачи подобного рода встречаются очень часто, поэтому каждый должен уметь это делать, тем более что это не очень сложно. Поэтому желательно написать обработку самостоятельно, в этом случае Вы узнаете обо всех нюансах и подводных камнях, да и такой опыт пригодиться 100%.
Общая схема загрузки данных из файлов выглядит следующим образом, создается обработка с табличной частью и двумя командами «Прочитать» и «Загрузить», с помощью первой сначала данные из файла читаются и отображаться в ТЧ, после их проверки пользователем они загружаются в базу уже с помощью второй команды.
Очень часто встречал различные обработки которые по нажатию одной команды сразу же производят загрузку данных в базу, это не правильно, так как пользователь может выбрать не тот файл и по ошибки загрузить не те данные.
Загрузка данных из текстового файла .txt
Для примера будем загружать данные о контрагентах из текстового документа «.txt», который будет выглядеть следующим образом, в каждой строчке будет находиться сначала «Краткое наименование», потом «Полное» и «ИНН», все это будет разделяться точкой с запятой «;».
Открываем конфигуратор и создаем новую обработку, назовем её «Загрузка Контрагентов».
Переходим во вкладку «Данные» и добавляем один реквизит «Выбор файла», создаем табличную часть «Данные Файлы» с реквизитами «Наименование», «Расшифровка», «ИНН».
С помощью реквизита «Выбрать файл» мы собственно будем выбирать файл, и загружать его в табличную часть, поэтому количество реквизитов ТЧ должно совпадать с данными в файле.
Все реквизиты будут с типом «Строка» только с разной длинной, тут Вы сами устанавливаете длину.
Наименование можно установить «150», полное наименование скажем 250 ну и ИНН стандартно 12 символов.
Далее нужно создать команду которая будет загружать данные из файла.
Для того чтобы появился возможность выбора фала в поле «Выбор файла» нужно открыть свойства этого реквизита, в разделе «Использование» найти пункт «Кнопка выбора» и переключить на «Да».
Далее создаем событие «Начало выбора» для реквизита «Выбрать Файла».
И пишем вот такой код.
В принципе тут все стандартно.
После чего создаем процедуру для команды «Загрузить».
Вариантов может быть два, если файл небольшой то его можно сразу загружать целиком в массив, потом обрабатывать каждую строчку массива, если же файл большого размера то лучше загружать построчно. Для начала рассмотрим первый вариант, «ПоследовательноеЧтение = Ложь;» этот вариант рассмотрим немного позже.
Сам код описывать не будут, тут все достаточно просто, но если будут вопросы пишите в комментариях. Если кратко то: Создаем переменную «Текст» сохраняем в неё данные выбранного файла в виде массива, далее в цикле читаем каждую строчку массива с разделителем, ну и присваиваем каждый элемент массива соответствующей колонке в ТЧ.
Сохраняем обработку и проверяем что получилось.
В поле «Выбрать файл» должен отображаться путь к нему, после нажатия кнопки «Загрузить» данные из файла должны отобразиться с табличной части.
Первый этап закончен, теперь необходимо описать способ последовательного чтения для больших файлов, а так же создать команду которая уже будет записать данные из ТЧ непосредственно в базу 1С.
Но об этом в следующей статье, так как информация получаемая небольшими объемами усваивается намного быстрей и лучше, я разобью эту тему на несколько частей.
Пользователи 1С часто сталкиваются с необходимостью работы с внешними файлами. Чтобы не возникло никаких сложностей с этим вопросом, мы решили написать на эту тему статью. В данном материале мы разберём наиболее популярные типы файлов и выясним, как их загрузить в 1С.
Для начала опишем варианты файлов:
Данный вид файлов представлен, как правило, документами в виде изображений с расширениями *.pdf/*.jpg/*.tif и пр.
Используется такой файл исключительно для присоединения к объектам конфигурации* и их дальнейшей отправкой либо хранения в составе вложения.
Данный вид файлов представлен расширениями различного типа *.mxl/*.xls/*.txt и пр.
Используется для загрузки данных в ИБ через внешние и внутренние обработки 1С.
Подобные файлы имеют расширения *.epf у внешних обработок и *.erf у внешних отчётов соответственно.
Используются данные файлы для добавления дополнительных возможностей 1С, не предусмотренных разработчиком конфигурации.
В эту группу можно отнести файлы расширения *.dt/*.1cd/*.log/*.pff/ *.v8i и пр.
Эти файлы необходимы 1С для корректного функционирования.
*В виде документов учёта, произвольным ЭД в сервисе 1С-ЭДО, письмам в сервисе 1С-Отчётность и прочее.
Определившись с группами используемых файлов, попробуем на примере разобрать наиболее частые варианты работы с каждой из групп.
Прикрепление скана договора с контрагентом к первичному документу учёта
Не все формы документов учёта поддерживают возможность прикрепления вложений.
Файл обмена с банком формата *.txt, содержащий данные по движениям по счёту при загрузке в 1С
Или через встроенную в типовую конфигурацию обработку «Обмен с банком», которую можно открыть в «Банковских выписках» через «Ещё».
Файл отчётности, сформированный в другой БД или ПО в *.xml формате, для загрузки и отправки через сервис 1- Отчётность
Разовое открытие обработки можно сделать из «Главного меню» – «Файл» – «Открыть»
Некоторые организации предоставляют внешние обработки для интеграции 1С со сторонним ПО. Для открытия подобных файлов у пользователя 1С в настройках прав должна стоять отметка на «Открытии внешних отчётов и обработок».
Более подробно по открытию внешних отчётов и обработок можно узнать на сайте ИТС .
Пользователи 1С могут столкнуться с необходимостью переноса БД или её созданию и добавлению в список баз. В файловом варианте работы БД файл 1cv8.1cd является самой БД, остальные файлы в общей с ней папке носят вспомогательный характер.
Если возникает необходимость очистки жёсткого диска, следует обращать внимание на файлы формата *.dt, так как они являются выгрузками базы (копии).
С появлением сервиса 1С:ФРЕШ выгрузка БД также может быть представлена файлом data_dump.zip, содержащий лишь данные, введённые в БД в пользовательском режиме, с описанием структуры метаданных, но без их непосредственного наличия.
Выгрузка данных из локальной версии БД в облачную
Загрузка данных из локальной версии БД в облачную
В данной статье мы рассмотрели наиболее частые варианты работы с файлами в 1С. Если вопросы всё же остались, мы будем рады вам помочь. Вам всего лишь нужно обратиться на Линию консультаций 1С компании «Что делать Консалт». Первая консультация совершенно бесплатная!
НачалоНовогоФорматаСтрок = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьПрямоугольная = РезультатИсследования.Область(1, ,РезультатИсследования.ВысотаТаблицы);
ТабличныйДокумент.ВставитьОбласть(ОбластьПрямоугольная, ТабличныйДокумент.Область(НачалоНовогоФорматаСтрок, 1));
ТабличныйДокумент.Область(НачалоНовогоФорматаСтрок, ,НачалоНовогоФорматаСтрок + РезультатИсследования.ВысотаТаблицы - 1, ).СоздатьФорматСтрок();
Для Счетчик = 1 По РезультатИсследования.ШиринаТаблицы Цикл
ТабличныйДокумент.Область(НачалоНовогоФорматаСтрок, Счетчик).ШиринаКолонки = РезультатИсследования.Область(1, Счетчик).ШиринаКолонки;
КонецЦикла;
КонецПроцедуры
конкретно на этом виде документа - для красивости надо еще объединить две верхние ячейки по горизонтали и задать ширину колонок "Растягивать по горизонтали"
еще проблема - во вставляемом ТД могут попадаться строки со своим форматом строк
я правильно понимаю, что для корректной вставки надо вставлять каждую строку по отдельности
и как объединять ячейки кодом?
вопрос только по строкам без текста - при вставке области не "понимает" область печати - строка над "Пациентом"
Синтаксис:
Вывести(, , , )
Параметры:
Тип: ТабличныйДокумент, ПолеТабличногоДокумента.
Тип: Число.
Уровень используется для автоматической группировки строк табличного документа. Соседние строки с одинаковым уровнем будут отнесены к одной группе. Строки с минимальным уровнем в группу не объединяются.
Тип: Строка.
Название группы, к которой относятся выводимые строки.
Тип: Булево.
Истина - выведенная группа будет открыта; Ложь - группа будет выведена в свернутом виде.
Значение по умолчанию: Истина.
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента.
Область, в которую был осуществлен вывод.
Описание:
Выводит табличный документ в результирующий табличный документ, добавляя его со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки.
Табличные документы, которые выводятся при помощи данного метода, не рекомендуется передавать между клиентом и сервером и обратно.
Раньше и не верилось, например, что бухгалтерию можно вести в телефоне, а теперь — пожалуйста, загрузил специальное приложение и вперед! Разработчики постоянно совершенствуют программу 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С.
skype: live:di-sem
@programmist_1C
Импорт в 1С данных из любых документов (сделать свою обработку импорта из внешних источников))
Часто нужно импортировать данные в 1С из внешних источников (Excell,Word,Pdf,Txt, Csv, Html и т.д.).
Чтобы не подключаться к каждому документу через Com объект, нужно создать свою обработку импорт из внешних источников в 1С.
В типовых конфигурациях есть такая обработка.
В данном примере мы будем создавать свою.
Алгоритм
1 В табличный документ подгружаем нужный макет
2 Пользователь копирует в табличный документ нужные данные
3 Программа 1с анализирует данные и готовит их к загрузке в нужные объекты 1с (документы/справочники)
4 Загрузка данных
Реализация
1 Создаем форму
Создаем реквизит формы ТабДок - табличный документ.
В него пользователь будет копировать нужные данные, а наша задача будет программно взять их оттуда и загрузить в 1С.
Перетащим реквизит ТабДок на форму и установим свойства как на рисунке.
Но сейчас ТабДок представляет собой обычный неразмеченный документ.
Куда будет пользователь грузить нужные колонки.
Для этого мы создадим макет:
При открытии формы мы подгрузим этот макет в наш табличный документ "ТабДок" и пользователь будет знать куда ему грузить данные.
На рисунке я выделил где можно посмотреть адрес ячейки, адрес нам понадобится при импорте данных.
Создадим на форме реквизит "Данные" - таблица значений.
Сюда мы предварительно будем грузить введенные пользователем данные.
Это нужно для того чтобы пользователь мог скорректировать введенные данные, а мы могли бы ему точно указать на ошибку в загружаемых данных.
Реквизит "Данные" перенесем на другую страницу. В моем случае это "Создание участников".
Создадим процедуру, которой мы загрузим данные в 1с в таблицу значений "Данные", которую создали ранее и вывели на вторую страницу.
Работает это так:
1 открываем обработку ввода данных:
2 копируем нужные данные из Эксель для импорта в 1С:
3 Вставляем в 1С в нашу обработку:
4 Смотрим чтобы данные соответствовали столбцам:
5 Жмем далее (этой кнопкой вызывается процедура, указанная выше) и получаем результат:
Мы получили данные в 1С. Теперь при нажатии "Создать участников" будут созданы элементы справочника "Участники".
Читайте также: