Примеры файлов excel в форме загрузки дополнены с учетом создания групп
В данной статье мы рассмотрим с Вами две очень важные темы, первая это загрузка данных из excel в 1с, а вторая это конечно же выгрузка данных из 1с в excel. Необходимо отметить, что эти темы интересны двум основным аудиториям пользователей, ими являются:
- Пользователи системы 1С Предприятие
- Программисты 1С
Пользователи 1С как правило хотят заказать например перенос данных из excel в 1с в соответствии со своими определенными требованиями к переносу, в то время как программисты 1С скорее ищут какие-то разъяснения или примеры кода. Исходя из этих соображений мы решили разделить информацию приведенную в данной статье на две части для пользователей и программистов 1С.
1С загрузка из Excel и выгрузка из 1С в Excel глазами рядового пользователя 1С
Очень часто получается так, что на предприятии или в какой-нибудь фирме например, имеется документация, которая хранится на компьютере в файлах Excel. И часто у пользователей возникает вопрос, а как же выгрузить или загрузить данные из Excel в 1С. Конечно же без знания программирования здесь не обойтись, поэтому если Вы являетесь простым пользователем то Вам нужно заказать услуги 1с у нас, ведь абсолютно любой наш программист 1с всегда Вас выслушает, подберет специально разработанное решение именно для вас, и обязательно Вам поможет.
Почему нет универсальной обработки по загрузке данных из Excel в 1С ?
Давайте ответим на этот вопрос и рассмотрим его основные моменты:
- У каждого пользователя есть различные файлы Excel, данные из которых он хочет перенести в 1С, конечно же эти файлы имеют разные количество строк и столбцов, а также несут разную смысловую нагрузку.
- Каждый пользователь работает с отдельной конфигурацией, т.е. конфигурации могут быть различными, то что работает в одной конфигурации, в другой конфигурации без модернизации работать не будет.
- Данные из Excel должны переноситься в различные объекты ,соответственно нужен разный код, ведь у каждого пользователя свои требования.
Именно по этим причинам нельзя создать универсальную обработку по загрузке данных из Excel в 1С.
Как происходит загрузка и выгрузка данных из Excel в 1С на примере реальной разработки
Теперь давайте разберем в общих чертах как происходит загрузка и выгрузка данных из Excel в 1С, и как вообще это все будет выглядеть в готовом решении?. Пример реальной индивидуальной разработки, а также исходный Excel файл представлены ниже.
В этой обработке сначала нужно выбрать файл Excel, затем нажать на кнопку «Выполнить», после чего в табличную часть загрузятся нужные данные из Excel. Теперь все что осталось сделать пользователю это нажать кнопку «Перенести в бух», после чего данные будут перенесены из Excel в 1С.
Выгрузка данных из 1С в Excel происходит примерно также, только тут сложность написания обработки зависит от того какие именно данные должны выгружаться из объекта. Например у нас есть справочник «Номенклатура» и мы хотим выгрузить наименование самой номенклатуры и единицу измерения данной номенклатуры, хотя у самой номенклатуры может быть намного больше реквизитов, такие как, вид номенклатуры, тип номенклатуры, наименование полное и т.д.
Мне нужна обработка по загрузке и/или выгрузке данных из Excel, что мне делать?
Все что Вам нужно сделать это поднять трубку и позвонить нам. После этого наши специалисты выполнят все необходимые действия чтобы вы получили именно то, что Вам требуется. Если Вам нужно выполнить срочное обновление 1с то звоните нам, мы рады помочь каждому нашему клиенту!
Загрузка и выгрузка данных из Excel в 1С глазами рядового программиста 1С
Чуть выше мы дали много полезной информации для пользователей 1С, теперь же пришло время проговорить о технических моментах написания кода, а также привести информацию для программистов 1С которая им будет очень полезна при написании кода. Рассмотрим основные часто используемые функции для работы с Excel.
Начнем мы с того как подключить Excel к 1С, делается это посредством COM-объекта. Для того чтобы этот код работал нормально Excel должен быть установлен на компьютере, в противном случае ничего работать не будет:
После того как мы подключили Excel нам нужно открыть необходимый документ из которого будет осуществляться перенос:
Теперь нам необходимо выбрать лист книги эксель, на рисунке выше мы видим как выбирается лист под определенным номером. Номер листа хранится в переменной «Номер листа»:
Мы можем узнать количество листов книги эксель с помощью поля "Count":
Чтобы получить имя листа под определенным номером, нужно написать подобную строчку:
Если нам необходимо прочитать определенную ячейку нужно вызывать метод Cells(), после чего обратится к полю Value. Можно конечно прочитать сразу весь файл экселя, но об этом чуть позже:
После того как мы закончили все действия по работе с самим экселем процесс нужно закрыть. Закрываем его, иначе будет висеть:
Пример функции которая загружает отдельные ячейки из Excel в 1С
Мы с Вами рассмотрели основные процедуры и функции с которыми сталкивается каждый программист 1С при написании обработки по загрузки данных из Excel в 1С. Теперь давайте познакомимся более детально с функцией которая считывает отдельные ячейки эксель файла.
Мы думаем, что никаких дополнительных разъяснений по данному коду приводить не нужно, так как все эти функции детально рассматривались выше.
Пример функции которая загружает все данные из Excel в табличную часть 1С
Мы рассмотрели функцию которая выводит на экран отдельные ячейки экселя. А как быть если нам требуется выгрузить весь лист экселя сразу и обходить его последовательно? Здесь нам пригодится код который приводится ниже:
Пример функции которая выгружает данные из 1С в Excel
Выше мы с вами разобрали много всего интересного, но мы не касались такой темы как выгрузка данных из 1С в Excel. На самом деле принцип работы тут в абсолютности почти такой же, за исключением того, что мы программно создаем новый файл эксель, и программно его записываем. Ну а для того чтобы записать значение в ячейку вы как уже наверное догадались нужно поставить выражение Лист.Cells(x, y) в левую часть. Пример выгрузки данных из 1С в Excel представлен ниже:
В этой статье я расскажу как с помощью универсальной обработки “Загрузка данных из табличного документа” с диска ИТС загрузить данные в справочник номенклатура в конфигурацию Управление торговлей 10.3. Загрузка производится из файлов с расширением xls (формат excel 97-2003) в несколько этапов.
Если ваша конфигурация основана на управляемых формах 1С 8.3 или 8.2, рекомендуем к просмотру данное видео:
Мы для примера загрузим небольшой прайс в котором содержится следующая информация: наименование, артикул, единица измерения, два типа цен, штрих-код.
Далее Универсальные отчеты и обработки => Загрузка данных из табличного документа => Описание и установка внешней обработки “Загрузка данных из табличного документа”:
Выбираем путь для копирования кнопкой искать(в моем случае я копирую на рабочий стол) и нажимаем Копировать:
Получите понятные самоучители по 1С бесплатно:
Ждем окончания копирования и нажимаем ОК:
Закрываем ИТС,больше нам диск не понадобится.
Подробнее о том как добавить внешнюю обработку, отчет или печатную форму написано здесь.
2.Запустим конфигурацию 1С Управление торговлей 10.3 в режиме Предприятие. Для начала добавим нашу обработку в состав внешних обработок базы для удобства использования и чтобы в следующий раз не искать ее на диске ИТС. Заходим Сервис => Внешние печатные формы и обработки => Внешние обработки:
Открывается список внешних обработок вашей базы. Нажимаем Добавить:
Выбираем кнопкой “Открыть” скопированный ранее с диска ИТС файл ЗагрузкаДанныхИзТабличногоДокумента.epf:
Нажимаем ОК для сохранения обработки в базе 1С Управление торговлей:
Теперь двойным щелчком мыши можем запустить обработку из списка доступных внешних обработок:
Убедитесь что ваш прайс-лист сохранен в формате xls, если нет, то сохраните именно в этом формате. Чтобы элементы номенклатуры попали в нужные группы (столбец А) нам необходимо предварительно создать их в справочнике Номенклатура вручную.
Следите за тем чтобы после названия группы не было лишних пробелов, так как название группы в 1С в результате не будет соответствовать названию группы в прайс-листе Excel. Создаем группы:
Выбираем файл вашего прайс-листа, предварительно изменив Тип файлов на Лист Excel (*.xls) и нажимаем Открыть:
Видим загруженный в обработку прайс лист:
Если у вас очень большой прайс-лист, его открытие займет продолжительное время, следует подождать. Я рекомендую такой прайс-лист сохранить из самой обработки в формате mxl после открытия, такой файл открывается очень быстро. Для этого нажимаем значок Сохранить, пишем название файла и нажимаем Сохранить:
Переходим во вкладку Настройка. Ставим номер первой строки данных табличного документа, в моем случае первая строка это шапка с названиями реквизитов а сами данные начинаются со второй. Далее выбираем ручную нумерацию колонок, это нужно чтобы указать в какой колонке табличного документа находится реквизит из списка:
Настраиваем реквизиты для загрузки:
Наименование:
Родитель (имеется в виду группа номенклатуры):
Артикул:
Ставим галочку поле поиска. Это означает что с уже имеющейся в вашей базе номенклатурой обработка будет сравнить по артикулу, и если найдется элемент с таким же артикулом,то обработка заменит его реквизиты на реквизиты из данной настройки.
Базовая единица измерения:
В поле Выражение пишем формулу:
Это выражение означает,что обработка будет сравнить наименование из 6-ой колонки прайс-листа с наименованием в справочнике Классификатор единиц измерения и при совпадение названий присваивать соответствующую единицу из справочника.
Вам необходимо убедиться что все наименования единиц измерения из прайса есть в соотвествующем справочнике 1С. Если их нет,то следует предварительно создать.
Весовой:
Полное наименование:
В моем случае полное и сокращенное наименование совпадают. Напомню что полное наименование используется в программе в печатных формах документов, а сокращенное для удобства поиска в самой программе.
Ставка НДС:
Вид номенклатуры:
После заполнения всех настроек необходимо произвести контроль заполнения. И если ошибок нет, нажимаем Загрузить.
Ждем окончания загрузки и смотрим как загрузились элементы. Я открыл один из них:
Здесь видим что не хватает обязательных для заполнения полей: единицы хранения остатков и единицы для отчетов. Мы загрузим их следующим этапом.
Если все загрузилось в соответствии с настройками то мы можем сохранить настройки в файл, чтобы в следующий раз не производить настройку заново.Нажимаем значок сохранить во вкладке Настройка:
Пишем название файла и сохраняем. Формат файла будет *.mxlz:
Если в какой либо строке настройки стоит Режим загрузки “вычислять” или “устанавливать” то обработка не будет учитывать значение в колонке настроек “№ Колонки табличного документа” этой же строки настройки.
Если вы загрузили настройку из ранее сохраненной то вам придется заново вводить значения в колонку настроек “№ Колонки табличного документа”.
Чтобы загрузить эту настройку нажмите сюда
- Приступим к загрузке единиц хранения остатков и единиц для отчетов. Убираем все галочки с реквизитов кроме Артикул, Единица хранения остатков и Единица для отчетов. Ставим галочку не создавать новых элементов.
Артикул:
Ставим галочку поле поиска.
Единица хранения остатков:
В поле выражение вставляем код на встроенном языке программирования 1С:
Далее Единица для отчетов аналогично Единице хранения остатков.
После заполнения настроек, нажимаем контроль заполнения и если нет ошибок нажимаем Загрузить:
Открываем любой из загруженных элементов номенклатуры и проверяем загрузились ли единицы измерений:
Сохраним настройки в файл и приступим к следующему этапу.
Чтобы загрузить эту настройку нажмите сюда
- Загрузим 2-типа цен: Цена Розница 1 и Цена Розница 2. Заходим Справочники => Номенклатура => Типы цен номенклатуры:
Добавляем новый тип цен:
Заполняем необходимые реквизиты и сохраняем:
Аналогично добавляем еще один тип цен.
После сохранения типов цен, создадим два пустых документа Установка цен номенклатуры, так как загрузка производится с помощью заполнения обработкой табличной части документа “Установка цен номенклатуры”.
Заходим Документы => Ценообразование => Установка цен номенклатуры:
Добавляем новый документ:
В документе выбираем один из двух созданных типов цен и сохраняем его пустым:
Аналогично создаем второй документ.
В итоге должно получиться следующим образом:
Переходим во вкладку табличный документ и загружаем ваш прайс. Снова перейдем во вкладку настройки для ввода настроек:
Номенклатура:
Цена:
Валюта:
Единица измерения:
В поле выражение вводим код на встроенном языке программирования 1С:
Тип цен:
После того как ввели все настройки, нажимаем контроль заполнения во вкладке табличный документ. Если все правильно нажимаем Загрузить:
После окончания загрузки заходим в заранее созданный документ Установка цен номенклатуры, проверяем все ли правильно загрузилось и нажимаем ОК:
Для второго типа цен выбираем по Ссылке второй документ Установка цен номенклатуры, меняем номер колонки реквизита цена,меняем тип цен на Цена Розница 2 и нажимаем Загрузить:
Аналогичным образом открываем второй документ Установка цен номенклатуры и нажимаем ОК для перепроведения.
Результат загрузки можно увидеть если зайти в элемент номенклатуры и во вкладку Цены номенклатуры.Там видим два созданных типа цен и по нажатию кнопки Перечитать текущие цены мы увидим загруженные нами цены:
Примечание: в один документ Установка цен номенклатуры с помощью данной обработки можно загрузить только один тип цен, т.е. для каждого типа цен создается отдельный документ.
Сохраняем наши настройки в файл и переходим к следующему этапу.
Чтобы загрузить эту настройку нажмите сюда
Для реквизита Владелец заходим в описание типов и оставляем галочку только напротив номенклатура:
Для реквизита Владелец в поле Искать по выбираем Артикул:
Далее убираем галочки с тех реквизитов с которых возможно. Выбираем ручную нумерацию колонок.
Штрих-код:
Владелец:
Тип штрих-кода:
Единица измерения:
В поле выражение вводим код на встроенном языке программирования 1С:
Качество:
После заполнения выполняем контроль заполнения во вкладке табличный документ и нажимаем Загрузить.
Рассмотрим на примере программы 1С: Бухгалтерия 3.0 загрузку данных из документа. Скачаем любой прайс в формате Excel документа и загрузим его в справочник Номенклатура .
Как загрузить номенклатуру в 1C 8.3 из файла Excel
Далее, в шапке нашей таблицы, нажав ссылку Укажите реквизит , необходимо задать соответствие каждой колонке. В нашем примере это Артикул , Наименование и Цена .
В результате у нас получается такая таблица. Нажимаем кнопку Далее .
В следующей таблице видим весь список номенклатуры и установленный тип цен. Здесь можем задать дату, на которую будет установлена цена. Элементы у нас все помечены знаком плюс (+), т. е. при загрузке будет создаваться новый элемент номенклатуры.
В случае нахождения наименования номенклатуры в базе, она будет показана на закладке Все без знака «+» и повторно создаваться не будет. PDF
Нажав на ссылку Реквизиты новой номенклатуры , укажем необходимые параметры. В нашем примере укажем, что все загружаемые элементы принадлежат группе номенклатуры Запчасти Тайга. Нажимаем ОК и Загрузить .
Загрузка в 1С документов поставщика в формате Excel
В программах 1С также реализована возможность загрузки документов поставщика в формате Excel. Загрузка возможна используя документы ТОРГ-12, Акт приема-сдачи работ (услуг) или УПП полученные от поставщика в формате Excel. Так, если поставщик сохранит и отправит нам документы в формате Excel, мы без труда сможем загрузить их себе в программу 1С.
Рассмотрим, на примере программы 1С: Бухгалтерия предприятия 3.0. Создадим документ Реализация (акт, накладная) и нажав кнопку Сохранить , выберем формат Лист Microsoft Excel.
Получив такой документ от поставщика загрузим его себе. Для этого перейдем в журнал документов Поступление (акты, накладные) в разделе меню Покупки и воспользуемся кнопкой Загрузить . Выбираем вариант загрузки Из файла .
Выбираем файл, полученный от поставщика.
В том случае, если загрузка производится впервые, то программа 1С предложит сопоставить номенклатуру поставщика с имеющийся у вас номенклатурой.
Сопоставив все элементы, нажимаем кнопку Записать и закрыть .
Если сопоставление справочников производилось ранее, то программа 1С 8.3 автоматически загрузит сразу все данные в документ.
Остается только проверить правильность документа и провести его.
Таким образом, загрузка в программу 1С данных используя табличные документы Excel повышает эффективность работы в программе, снижает риск возникновения ошибок, тем самым облегчая работу пользователей.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В справочнике Номенклатура можно загружать цены номенклатуры из подготовленных таблиц..В справочник Контрагенты можно загружать данные из таблиц. Это особенно.Часто у пользователей 1С возникает вопрос: как загрузить (сохранить) документ.
Карточка публикации
(5 оценок, среднее: 5,00 из 5)
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Все комментарии (1)
Благодарю за актуальную информацию
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
В данной инструкции мы рассмотрим, как загрузить номенклатуру, которая находится в excel формате через обработку «загрузка данных из табличного документа».
Первоначально мы должны убедиться, что у пользователя под которым мы будем проводить загрузка есть необходимые нам права.
Заходим в нашего пользователя и переходим во вкладку «права доступа»:
Нас интересует право «открытие внешних отчетов и обработок»:
У пользователя это право есть, если же его нет, тогда нажимаем на кнопку «включить в группу» и из списка выбираем право:
Теперь переходим к открытию обработки.
В верхнем правом углу открываем меню и выбираем файл-открыть:
Откроется папка в которой мы выбираем обработку:
В программе открылось окно загрузки, тут мы выбираем, что мы будем загружать, в нашем случае это будет «справочник». Теперь выбираем вид справочника – номенклатура:
Переходим на вкладку «настройка» и убираем все галки:
Далее будем выбирать необходимые нам параметры:
В данном случае мы выбрали обязательные первоначальные настройки, в других моментах можно выбрать: текстовое описание, группу доступа, марка(бренд) и другие.
Предоставляем таблицу первоначальных настроек:
Теперь перейдем обратно на вкладку «табличный документ» и обновим:
Корректируем ширину колонок для удобства:
Открываем документ в котором находится номенклатура и копируем первый столбец (ВАЖНО – полная таблица не перенесется):
Возвращаемся в программу, нажимаем на первую строчку первого столбца и с помощью правой кнопки мыши выбираем «специальная вставка»:
Этот столбец вставляем в колонку «наименование для печати», если эти два наименования совпадают:
По такому же принципу копируем и вставляем «артикул»:
В остальных столбцах мы выбрали режим загрузки «устанавливать» и выбрали значение, в таком случае эти столбцы заполнять не нужно.
Необходимо убедиться в правильности веденных данных, нажимаем кнопку «контроль заполнения»:
Так как, ошибок у нас не выявлено, тогда нажимаем на гиперссылку «загрузить данные»:
Читайте также: