Предистория:
Меня всегда удручал тот факт, что для вставки табличных данных из какого-либо приложения в 1С необходимо разрабатывать отдельную обработку. Когда внедрял проект в одной торговой компании, столкнулся с тем, что операторы занимаются просто немыслимой ерундой - для ввода заявки на отгрузку, распечатывают эту заявку с сайта заказчика и вручную вводят данные уже в 1С. В результате родилась идея упростить такую работу за счет обработки содержимого буфера обмена. По горячим следам создал обработку для 1С 7.7, в которую были заложены функции импорта буфера обмена и обучения для настройки под разные форматы табличных данных (это был импорт заказов с порталов ЕКОД, Пятерочка, 7 Континент и т.д.). Причем вмешательство программиста в обучение программы не нужно.
Что делают обработки:
Предлагаемые обработки не претендует на универсальность, т.к. у меня была строго определенная задача упростить работу пользователей экономического отдела. Позволяют копировать и вставлять в/из буфер(а) обмена. Операция копировавния означает, что для любого документа содержимое табличной части будет помещено в буфер обмена в виде удобном для считывания данных. Операция вставки из буфера обмена означает, что содержимое буфера обмена будет считано и импортировано в табличную часть документа. Копировать и вставлять буфер обмена можно в пределах одной информационной базы, разных информационных баз, разных приложений (1С и Excel, 1C и Word, 1С и браузер и т.д.).
Проверялось на релизе:
УПП 1.3.31.1, но есть возможность работы в любых конфигурациях, где встроен справочник "Внешние обработки" (Сервис -> Дополнительные внешние отчеты и обработки).
Подробности:
Работа с буфером обмена выполняется через объект InternetExplorer. Когда табличные данные помещаются в буфер обмена, разделителем колонок выступает символ табуляции (TAB). При считывании некоторых таблиц из браузера, столкнулся с неприятным фактом, что не всегда возможно корректно разделить колонки. Но с этой функцией замечательно справляется Word. Поэтому, когда анализ содержимого буфера обмена для разбиения на колонки проходит неудачно, создаю объект Word, копирую буфер в новый документ и заново считываю скопированные данные. В результате получаю таблицу, которую можно с успехом парсить. Импорт Номенклатуры выполнется если в табличных данных есть колонка "Артикул". При невозможности работы с артикулом, в ход идёт "Наименование".
Порядок встраивания:
В режиме 1С:Предприятие нужно в меню Сервис -> Дополнительные внешние отчеты и обработки -> Обработки заполнения табличных частей добавить 2 обработки "Копировать в буфер обмена" и "Вставить в буфер обмена". При добавлении файла как обработки заполнения табличной части, нужно указать для каких документов и табличных частей предназачена обработка по работе с буфером обмена. Параметры никакие указывать не нужно.