Загрузка документов реализации из excel в 1С

Вопрос задал Юлия Ж.

Ответственный за ответ: Шаврова Ирина (★9.93/10)

Здравствуйте, подскажите, пожалуйста, можно ли создать такую обработку, чтобы документ (реализация) в эксель загружалась в 1С в раздел Реализации. Документ приходит списком.

Все комментарии (5)

  1. Здравствуйте!
    Конечно, такую обработку создать можно, 1С работает с данными файла Excel и прекрасно считывает информацию из него.

    Главное, чтобы файл Excel всегда имел постоянную структуру и не менялся, т. е имел постоянные названия в колонках и строчках (например, как в печатной форме, но не обязательно, привела как пример), поскольку именно на название полей колонок и текста в заголовках будет ориентироваться программа при обработке файла.

    Выбор файла Excel и считывание из него информации стандартное.

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = «Выберите имя файла для чтения»;
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Фильтр = «Файл MS Excel (.xlsx)| *.xlsx»;

    Если Не Диалог.Выбрать() Тогда
    Сообщить(«Файл для обработки не выбран!»);
    Иначе
    ФайлДанных = Диалог.ПолноеИмяФайла;
    Попытка
    Excel = Новый COMОбъект(«Excel.Application»);
    Excel.WorkBooks.Open(ФайлДанных);
    Состояние(«Обработка файла Microsoft Excel…»);
    Исключение
    Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;

    Попытка
    Excel.Sheets(1).Select();
    Исключение
    Excel.ActiveWorkbook.Close();
    Excel = 0;
    Сообщить(«Файл » + Строка(ФайлДанных) + » не соответствует необходимому формату! Первый лист не найден!»);
    Возврат;
    КонецПопытки;

    Версия = Лев(Excel.Version,Найти(Excel.Version,».»)-1);
    Если Версия = «8» Тогда
    ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count;
    ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);
    Иначе
    ФайлСтрок = Excel.Cells(1,1).SpecialCells(11).Row;
    ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column;
    КонецЕсли;

    ЭтотОбъект.Товары.Очистить();

    Попытка
    Для Сч = 1 По ФайлСтрок Цикл
    Состояние(«Обрабатывается строка » + Строка(Сч) + » из » + Строка(ФайлСтрок));

    //код программиста

    А вот алгоритм обработки файла будет уникальным и зависит именно от структуры полученного файла.
    В обработке уже будут построчно обрабатываться данные каждой колонки файла в коде, написанном программистом, считывая информацию по команде СокрЛП(Excel.Cells(НомерСтрокиФайла, НомерКолонкиФайла).Value)

    Код обработки не то, чтобы сложный, а структурный, программист определяется с концом каждого нового документа, например, это строка с печатью «М.П.» или что-то иное (это как у вас в файле программист посмотрит) и для каждого документа построит алгоритм преобразования данных файла в документы 1С.

    Но все-таки такая обработка будет стоит денег и возможно дальнейшей поддержки программиста, сделавшего ее, то есть в вашей программе будет завязано довольно серьезная операция на внешнюю процедуру.

    И вы пишите, что данные приходят в списке реализаций. В файле тогда должны быть не просто данные Шапки, но и сами таблицы Товары и Услуги, чтобы полноценно все это загрузить в 1С

    Думается, что если вам кто-то пересылает файл Excel со структурированными данными реализаций, то у той стороны есть обработка выгрузки данных в нужный формат для пересылки вам и, скорее всего, есть и сама загрузка (иначе зачем это делать?). Возможно стоит обговорить этот момент с теми, кто вам дает файл.

    Поэтому итоговое резюме: да, программист вам сделает такую обработку. Типового функционала для загрузки из файла Excel данных по реализациям по списку нет, поэтому решение только через программиста.

    Но обратите внимание, что есть типовые варианты загрузки накладных, счетов на оплату и счетов-фактур из сканов документов, возможно, этот вариант будет более удобным и не потребует доработки функционала программистом:
    Загрузка документов из скана (фото), распознавание документов в 1С 8.3 Бухгалтерия

    Или подключить функционал ЭДО:
    Как пользоваться ЭДО в 1С 8.3 — отправка и получение документов

    Это все типовые функционалы от проверенных разработчиков и они обновляются вместе с обновлением 1С, все синхронизировано, и тут вы никогда не будете зависеть от внешней процедуры, которую создаст вам внешний программист.

  2. Посмотрела, что вы задавали подобный вопрос раньше и я вам описывала подходящее решение:
    Загрузка xml файлов из других программ

    То, что вы сейчас хотите сделать — это услуги программиста, они очень недешевы, вариант загрузки по фото недорогой и родной для 1С.

  3. спасибо за ответ. но вот загрузка по фото именно в части реализаций как работает? у меня подключен распознаватель на входящие документы. а как адаптировать его если это фото эксель таблицы которое должно отобразиться в реализациях?

  4. Приложение

    Здравствуйте!
    Если у вас установлено приложение «1С:Распознование документов», то, согласно описанию разработчиков, приложение поддерживает загрузку из файлов вида:
    — Изображения в форматах JPEG, PNG, BMP;
    — Одностраничные изображения в формате TIFF;
    — Документы в формате PDF, включая многостраничные;
    Файлы в форматах MS Word и MS Excel.
    — Архивы в формате ZIP, содержащие вышеназванные файлы.

    Главное условие — полностью типовые накладные. Полностью. Ни лишней строки. Ни лишней колонки. Ни объединений. Ни разделений ячеек.

    А этого достаточно сложно добиться при работе с файлами не «рисунками», в которых просто один-в-один без смещений все сохраняется для качественного распознавания.

    Поскольку распознавание документов берет ваш файл и канвертирует его построчно и по ячейкам, сверяя с заложенным алгоритмом: в каждой строке скана и колонке должно находиться определенное название выведенного реквизита или колонки таблицы.
    Если у вас будет смещение, вы сохраните с бОльшим количеством строк внизу, или даже измените ширину колонок, их очередность — программа не распознает документ.

    Поэтому практически всегда рекомендации 1С для загрузки документов в этом случае — из скана, по картинке.
    Иначе сразу возникают проблемы, которые объективно сложно решить.

    Я специально привела вам скрин из статьи ИТС, чтобы показать, что, да, возможность чтения из файла Excel заложена, но с практической реализацией такой загрузки есть сложности.

    Могу рекомендовать сфотографировать ваш файл и попробовать подгрузить через указанное приложение, как рисунок. Там не видны строки и алгоритм отрабатывает несколько иначе, поэтому если у вас типовая форма накладной, что-то должно распознаться. Если типовая, подчеркиваю.

    Или как я выше написала — собственная обработка чтения данных из файла Excel «под вас» и загрузка в 1С, написанная программистом.

    1

Комментарии закрыты.