Как в «1С:Бухгалтерии 8» редакции 3.0 можно загрузить документы от поставщика по электронной почте?
Видеоролик выполнен в программе «1С:Бухгалтерия 8» (релиз 3.0.42.84).
Существенно упростить процесс обмена документами между контрагентами, а также снизить затраты на доставку документов, приобретение расходных материалов и хранение архивов поможет переход на электронный документооборот (ЭДО). С 8 апреля 2011 года действует Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи», который определил порядок получения и использования электронной подписи и обязанности участников обмена электронными документами. Подробнее об обмене электронными документами см. в справочнике «Обмен электронными документами» в разделе «Бухгалтерский и налоговый учет» .
Если же контрагенты не являются участниками ЭДО, то упростить процесс регистрации первичного учетного документа в информационной системе поможет обмен документами по электронной почте.
Документы учетной системы Счет покупателю , Реализация (акт, накладная), Счет-фактура выданный можно отправить контрагенту по электронной почте (по кнопке Отправить по электронной почте с изображением конверта). Документ отправляется в виде приложенного к письму файла в формате, выбранном пользователем. Также к письму приложен файл, предназначенный для загрузки получателем в «1С:Бухгалтерии 8» (ред. 3.0).
Загрузить полученные от поставщика документы можно в формах списков документов.
Счета на оплату загружаются в форме списка документов Платежные поручения . Накладные и акты - в списке Поступление (акты, накладные).
Получатель может загрузить документы вида или УПД из файлов с расширением xls, mxl или в формате, утвержденном ФНС России. Загружать документы можно из файла или из электронной почты. Выбрать способ загрузки можно в форме списка документов поступления по кнопке Загрузить . При загрузке программа проверяет соответствие формату и сообщает о результатах проверки.
При загрузке документов ТОРГ-12, Акт приемки-сдачи работ (услуг) или УПД создается документ учетной системы Поступление (акт, накладная) , в котором автоматически заполняются необходимые реквизиты. К документам поступления дополнительно может быть создан документ Счет-фактура полученный.
Если товар или услуга поступает к получателю от поставщика впервые, и номенклатуры покупателя и поставщика не синхронизированы, то в открывшейся форме Сопоставление данных по номенклатуре необходимо заполнить поле Номенклатура , выбрав соответствующую позицию из справочника Номенклатура , и нажать на кнопку Записать и закрыть .
Настройка учетных записей электронной почты осуществляется в разделе Администрирование - Органайзер. Адрес электронной почты контрагента должен быть указан в форме элемента справочника Контрагенты.
Обращаем внимание, что загруженные документы из электронной почты (из файла) не являются юридически значимыми документами, поэтому и у покупателя и у продавца должны быть надлежаще оформленные документы в бумажном виде.
Нередко предприятия параллельно с 1С ведут учет и в программе Microsoft Excel. Такое возможно, например, когда переход на 1С с других систем был совсем недавно, или если у бухгалтера в системе 1С не настроены должным образом отчеты и ему удобнее анализировать данные в Excel, а может быть поставщики присылают накладные или прайс листы в файлах Excel (обмен информацией в электронном виде через файлы Excel очень распространен во взаимоотношениях между организациями). В этих случаях остро встает вопрос о необходимости автоматизации процесса и избавления пользователей от монотонного вбивания информации в 1С. Для написания соответствующей обработки приходится обращаться к программистам 1С, а это - дополнительные затраты. Не все знают, что компания 1С уже давно разработала подобную бесплатную универсальную обработку, главное - научиться ею правильно пользоваться. А так как главный принцип нашей фирмы - "Клиент платит только за фактически выполненную работу", мы совершенно бесплатно в данной статье обучим Вас, как с помощью данной обработки загрузить данные из файла Excel в любую программу 1С на платформах 1С:Предприятие 8.2 и 1С:Предприятие 8.1.
Где взять обработку по загрузке данных в 1С из excel
Универсальная обработка от фирмы 1С по загрузке данных из excel называется ЗагрузкаДанныхИзТабличногоДокумента.epf и находиться на диске ИТС.
Для 8.1 E:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument
или скачать
Для 8.2 E:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument или скачать
Как запустить обработку по загрузке данных в 1С из excel
Для запуска обработки ЗагрузкаДанныхИзТабличногоДокумента.epf необходимо:- Запустить 1С в режиме 1С:Предтиятие, то есть открыть базу, в которую Вы собираетесь загрузить данные;
- Далее нажать Файл - Открыть;
В появившемся окне выбрать файл ЗагрузкаДанныхИзТабличногоДокумента.epf, по тому пути, где данная обработка у Вас находится;
Вот так выглядит сама обработка по загрузке данных из excel:
Загрузка справочника номенклатура из excel
Ну и, наконец, мы дошли до самого главного - как работать с данной обработкой. Данная обработка позволяет загрузить данные как в справочники,так и в документы. В данной статье мы опишие пример заполнения справочника "Номенклатура", по данному примеру Вы научитесь самостоятельно загружать любые справочники в 1С. Пример заполнения документов, например, загрузку прайс листов в 1С смотрите .
Для того,чтобы загрузить номенклатуру, необходимо:
- в поле "Вид справочника" выбрать "Номенклатура";
- на закладке "Табличный документ" нажать кнопку "Открыть файл", как показано на рисунке;
- в открывшемся окне выбираем тот файл, который Вы собираетесь загрузить, не забудьте установить правильный тип файлов, в нашем случае "Лист Excel(*.xls)";
Обработка заполнит табличную часть закладки "Табличный документ";
Переходим на закладку "Настройка" и заполняем следующими данными, как показано на рисунке;
Поле "Первая строка данных табличного документа" - здесь необходимо указать номер строки, с которой необходимо загружать данные, в нашем случае это 2
;
Галочка "не создавать новых элементов" служит для того, чтобы не загружать новые данные, ее можно использовать при заполнении документов, чтобы новые элементы справочников, например, номенклатура не создавались, а подставлялись только из базы 1С. Так как в нашем случае мы как раз хотим загрузить новые номенклатуры, галочку не ставим
.
Далее нам необходимо нажать кнопку "Нумерация колонок" - "Ручная нумерация колонок", это нам позволит вручную проставить номера колонок из которых обработка будет считывать данные и автоматически подставлять в нужные поля.
А теперь проставим номера колонок:
- в нашем случае поля "Наименование" и "Полное наименование" будут одинаковы и должны запонняться из 3-ей колонки, ставим 3
в колонке "№ колонки табличного документа", "Режим загрузки" - "Искать";
- строку "Код" отключим, пусть 1С сама сформирует коды номенклатурам;
- "Родитель" - скажем обработке, пусть она всю загруженную номенклатуру загружает в "Новую папку", во избежании бардака, а мы в дальнейшем, если потребуется перенесем номенклатуры по своим папкам вручную. Если же вся загружаемая номенклатура относится к определенной папке, например "Оборудование", то ее можно сразу здесь указать. "Режим загрузки" - "Устанавливать";
- "Базовая единица измерения", тоже установим из существующих, у нас это шт. "Режим загрузки" - "Устанавливать";
- "Ставка НДС" - у нас будет 18%, установим и "Режим загрузки" - "Устанавливать";
- "Комментарий" - можно не устанавливать, но мы заполним значением "Загрузка из Excel 20.09.2012", чтобы сохранилась своего рода история, что и когда загрузили, "Режим загрузки" - "Устанавливать";
- "Услуга" - "Нет", так как мы загружаем товар,"Режим загрузки" - "Устанавливать";
- "Артикул" - должны запонняться из 1-ой колонки, ставим 1
в колонке "№ колонки табличного документа", "Режим загрузки" - "Искать". И самое главное устанавливаем галочку "Поле поиска"
, этим самым мы сообщаем обработке, чтобы она искала номенклатуру по артиклу, и если не нашла, то пусть создает новый. Если Вы не пользуетесь Артикулом, то устанавливайте галочку "Поле поиска" напротив "Наименование", но помните, если у Вас в базе будет такая же номенклатура как и при загрузке,только отличаться хотя бы на 1 символ, например, точку,запятую или букву, то обработка будет считать что это две разные номенклатуры и создаст новую. Обработка осуществляет поиск по Наименованию только строго по точному соответствию.
Далее жмем кнопку "Загрузить" и проверяем результаты загрузки справочника номенклатура из excel.
- Прайс-лист в Excel «ПрайсОнлайнХимСнаб.xls» — Microsoft Office Excel 97-2003 (.xls)
- Типовая конфигурация Управление торговлей Ред.10.3, релиз 10.3.10.4, платформа 8.2 (8.2.10.77)
- Необходимо загрузить в 1С из Excel не только наименования товаров и цены как в Примере 1, а также артикулы и штрих-кода, при этом необходимо чтобы номенклатура загружалась не в один каталог (группу), а распределялась по производителям в справочнике номенклатуры 1С.
Для того чтобы из Прайс-листа можно было загрузить справочник номенклатуры в 1С:Управление торговлей 8 с автоматическим распределением по группам (производители) необходимо будет подготовить форму файла для загрузки. Понадобиться добавить колонку с указанием единицы измерения (шт.) и производителя товара, при этом наименование производителя в прайс-листе должно соответствовать наименованию группы в справочнике номенклатуры программы 1С:Управление торговли 8.
Используем типовую обработку «ЗагрузкаДанныхИзТабличногоДокумента.epf» которая идет на ИТС.
1. Запускаем программу 1С
2. Для запуска обработки выбираем пункт меню «Файл»> « Открыть » .
3. В октрывшемся окне находим файл обработки, который располагается на диске ИТС в каталоге \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument
Если предварительно вы скопировали файл обработки на свой компьютер, то можете выбрать его.
Откроется окно
Обратите внимание, что загрузка данных будет осуществляться в три этапа:
Этап 1 — загрузка наименований и установка значений реквизитов новых элементов справочников необходимых для начала работы (единица измерения, ставка НДС, признак товар/услуга). — загрузка штрих-кодов
Устанавливаем «Режим загрузки» — Загрузка в справочник
«Вид справочника» — Номенклатура
5. В закладке «Табличный документ» нажимаем кнопку «Открыть файл», в появившемся окне выбора находим каталог, в котором у нас находиться прайс-лист в Excel из которого мы планируем загружать данные в 1С.
Первоначально файл может не отобразиться. Установите Тип файла «Лист Excel (*.xls)»
Выбираем наш файл
Отражаются реквизиты карточки номенклатуры.
8. Настраиваем параметры загрузки наименований
Для удобства установим «Ручную нумерацию колонок»
На данном этапе загружаем только те реквизиты, которые позволят начать работать с программой, поэтому снимаем галочки с полей, которые нас пока не интересуют
«Первая строка данных табличного документа» — смотрим наш прайс-лист, отбрасываем шапку, данные для загрузки начитаются с девятой строки — ставим «9» (см.Рис. 2 «Прайс-лист»)
«Не создавать новых элементов» — галочку НЕ ставим, опция нужна, если планируем только изменять уже имеющиеся элементы.
Строки «Наименование» и «Полное наименование» — устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе наименование в третьей колонке — ставим «3»
Строка «Родитель» — в колонке «Режим загрузки» выбираем «Искать», в колонке «№ Колонки табличного документа» — в нашем прайс-листе производители в четвертой колонке — ставим «4».
Если необходимости распределения по производителям нет и загрузить все новые элементы требуется в одну папку, тогда в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем группу номенклатуры, в которую будем загружать данные из прайс-листа.
Строка «Артикул» — ставим галку в колонке «Поле поиска» (вторая колонка) — программа проверит наличие в базе данных 1С элемента с таким артикулом, и если таковой уже существует, то новый элемент с таким наименованием создаваться не будет. Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе артикул во второй колонке — ставим «2»
Строка «Базовая единица измерения» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем единицу измерения (в нашем случае — шт.)
Строка «Весовой» — в нашем случае товар НЕ весовой, поэтому «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет»
Строка «Ставка НДС» — в нашем случае для всех загружаемых элементов устанавливаем НДС 18%, для этого в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «18%».
Если товары идут с разным НДС, который указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».
Строка «Услуга» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет» (в нашем случае все позиции это товары).
Строка «Вид номенклатуры» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Товар».
Мы задали минимальные значения новых элементов справочника номенклатуры, которые позволят начать работать.
Если вы готовы задать значения недостающих реквизитов сейчас, то укажите и их.
Нажимаем «Загрузить» в правом нижнем углу, на вопрос нажимаем «Да»
8. Проверяем наличие новых элементов в соответствующих группах справочника номенклатуры.
На настоящий момент мы загрузили из прайс-листа в Excel наименования товаров в справочник номенклатуры 1С.
Как видите, реквизиты «Единица для отчетов» и «Единица хранения остатков» остались не заполненными.
Следующим шагом необходимо установить данные реквизиты, т.к. они потребуются при загрузке цен, штрих-кодов и дальнейшей работе.
Возможны два варианта:
Ручной.
Данные реквизиты создаются программой автоматически, при первом открытии и сохранении карточки номенклатуры. Если допустима ручная установка, то можно этот шаг пропустить и перейти сразу к этапу загрузки цен. Если не планируется загрузка штрих-кодов, то вполне допустимо даже оставить как есть — при первом использовании элемента номенклатуры необходимо будет отрыть и сохранить карточку товара.
Недостаток: ручная процедура открытия и записи может быть довольно трудоёмкой и занять довольно много времени при большом количестве элементов справочника.
Автоматический.
Возможна и автоматическая загрузка единиц измерения, но она рассчитана для продвинутых пользователей и потребует базовых навыков в программировании 1С.
Возможны два варианта: с идентификацией по артикулу или наименованию.
Идентификация по Артикулу более предпочтительна, но в прайс-листе колонки с артикулами может и не быть.
Вариант 1. Идентификация по Артикулу
Ставим «галку» в поле «Не создавать новых элементов» и снимаем «галки» со всех строк.
Строка «Артикул» — ставим галку в колонке «Поле поиска» (вторая колонка). Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе артикул во второй колонке — ставим «2»
В строках «Единица для отчетов» и «Единица хранения остатков» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С. Например, наш специалист из отдела внедрения, за пару минут предложил такой код:
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекущиеДанные["Артикул"]); БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796); ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору,БазоваяЕдиницаИзмерения,СсылкаНоменклатуры); Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; НайденнаяЕдиницаОбъект.Коэффициент = 1; НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; Попытка НайденнаяЕдиницаОбъект.Записать(); Результат = НайденнаяЕдиницаОбъект.Ссылка; Исключение Сообщить("Не удалось записать"); КонецПопытки; Иначе Результат =ТекСпр.Ссылка; КонецЕсли;
Если планируется многократное повторение данной процедуры, то в алгоритм необходимо дополнительно добавить процедуру проверки, чтобы исключить повторный ввод единиц измерения с тем же наименованием.
Вариант 2. В случае идентификации по Наименованию
Ставим «галочку» в поле «Не создавать новых элементов»
Снимаем «галки» со всех строк
Строка «Наименование» — ставим галку в колонке «Поле поиска» (вторая колонка). Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе наименования в третьей колонке — ставим «3»
В строках «Единица для отчетов» и «Единица хранения остатков» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С, например такой:
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Наименование"]);
БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796);
ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("
ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,СсылкаНоменклатуры);
Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения);
НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;
НайденнаяЕдиницаОбъект.Коэффициент = 1;
НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;
Попытка НайденнаяЕдиницаОбъект.Записать();
Результат = НайденнаяЕдиницаОбъект.Ссылка;
Исключение Сообщить("Не удалось записать");
КонецПопытки;
Иначе Результат =ТекСпр.Ссылка;
КонецЕсли;
// Компания "Онлайн" 2010, www.online-ufa.ru
9. Открываем карточку товара, проверяем правильность загрузки реквизитов
Если всё правильно, то можно приступить ко второму этапу — загрузке цен из прайс-листа в Excel.
Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка наименований товаров из прайс-листа Excel».
В «Управление торговлей» Ред.10.3 установка цен производится с помощью документа «Установка цен номенклатуры».
Используем ту же обработку «ЗагрузкаДанныхИзТабличногоДокумента.epf» с диска ИТС.
11. Устанавливаем «Режим загрузки» — «Загрузка в табличную часть».
Открывается журнал документов «Установка цен номенклатуры».
Здесь можно выбрать уже существующий документ, в который мы хотим добавить новые элементы, или создать Новый (рекомендуется), в документе указываем какой «Тип цен» будем загружать (в нашем примере «Розничная»).
Нажимаем «Ок» и сохраняем пока пустой документ.
Теперь выбираем этот новый сохранённый документ из журнала в строке «Ссылка».
В поле «Табличная часть» выбираем «Товары».
13. Обратите внимание, что сейчас нужно перейти закладку «Табличный документ» и снова выбрать наш прайс-лист в Excel из которого мы загрузили наименования, а теперь будем загружать цены (см. пункт 5).
14. Настраиваем параметры загрузки
Опять устанавливаем «Первая строка данных табличного документа» — как и при загрузке наименований, ставим «9» и «Ручную нумерацию колонок».
В строке «Номенклатура» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» — в нашем примере ставим «3». Если необходима идентификация по артикулу, то в колонке "Искать по" выбираем "Артикул", а в «№ Колонки табличного документа» ставим номер колонки с артикулами - в нашем примере "2".
В строке «Цена» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» — ставим номер колонки с ценами, которые хотим загрузить, сначала будем загружать розничную цену, значит, ставим «5».
В строке «Валюта» устанавливаем Режим загрузки «Устанавливать», выбираем валюту (в примере «руб.»)
В строке «Тип цен» устанавливаем Режим загрузки «Устанавливать», выбираем цену, которую будем загружать «Розничная».
Если в вашем прайс-листе цены товаров приведены в разных валютах, которая указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».
В строке «Способ расчета цены» устанавливаем Режим загрузки «Устанавливать», выбираем «По процентной наценке на базовый тип»
Нажимаем «Загрузить» и отвечаем «Да»
15. Открываем документ «Установка цен номенклатуры», в который загружали данные (нажав кнопочку с изображением лупы в строке «Ссылка»)
16. Проверяем документ, если всё в порядке нажимаем «Ок».
Цены должны установиться.
17. Открываем справочник номенклатуры, проверяем закладку «Цены» в карточке загруженных элементов, нажимаем кнопку «Перечитать текущие цены».
Если всё в порядке, то можно приступать к загрузке остальных цен (оптовые, закупочные и т.д.). Процедура аналогична.
Обратите внимание, что 1С:Управление торговлей 8 поддерживает расчет одних цен на основании других. Поэтому загружать, возможно, будет достаточно только одну базовую цену, например Розничную или наоборот Закупочную, а для других цен указать алгоритмы формирования (скидка %, наценка %, округление до знака и т.д.).
Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка Розничных Цен из прайс-листа Excel».
В следующий раз сможете загрузить сохраненные настройки, нажав на кнопку «Восстановить настройки» и выбрав нужную из списка.
Используем всё ту же обработку «ЗагрузкаДанныхИзТабличногоДокумента.epf» с диска ИТС.
19. Устанавливаем «Режим загрузки» — «Загрузка в регистр сведений».
"Вид регистра" выбираем "Штрихкоды".
20. Обратите внимание, что сейчас нужно перейти закладку «Табличный документ» и снова выбрать наш прайс-лист в Excel из которого мы загрузили наименования и цены, а теперь будем загружать штрихкоды (см. пункт 5).
21. Настраиваем параметры загрузки
Опять устанавливаем параметр «Первая строка данных табличного документа» - ставим «9» и «Ручную нумерацию колонок».
Настраиваем параметры загрузки
Удаляем «галки» со всех строк, с которых возможно.
В оставшихся строках устанавливаем параметры
В строке «Штрихкод» устанавливаем Режим загрузки «Искать», в колонке «№ Колонки табличного документа» пишем как в нашем прайс-листе «9».
В строке «Владелец» в колонке «Описание типов» открываем окно «Редактирование типа данных» устанавливаем (оставляем) галку только в поле «Номенклатура». Режим загрузки устанавливаем «Искать». Для идентификации по Артикулу, в колонке «№ Колонки табличного документа» пишем номер колонки, в которой в нашем прайс-листе указаны артикулы — т.е. «2». В колонке «Искать по», устанавливаем «Артикул».
В случае, если в прайс-листе нет колонки с артикулами, то в колонке «Искать по» необходимо выбрать «Наименование», а в ячейке «№ Колонки табличного документа» указать номер колонки прайс-листа с наименованиями.
В строке «Тип штрихкода» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «EAN13».
В строке «Единица измерения» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С. Например, такой код:
CсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Владелец"]); Результат=СсылкаНоменклатуры.ЕдиницаХраненияОстатков;
В строке «Качество» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Новый».
В строках «Характеристика номенклатуры», «Серия номенклатуры», «Удалить код» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» оставляем пустые ячейки.
Нажимаем «Загрузить»
Открываем карточку товара, проверяем наличие штрих-кода.
Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка штрих-кодов товаров из прайс-листа Excel».
В следующий раз сможете загрузить сохраненные настройки, нажав на кнопку «Восстановить настройки» и выбрав нужную из списка.
Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:
- Записать(< ИмяФайла>, < ТипФайлаТаблицы >) для выгрузки данных в файл;
- Прочитать(< ИмяФайла>, < СпособЧтенияЗначений >) для загрузки данных из файла.
Внимание!
Метод Записать
()
доступен как на клиенте, так и на сервере. Метод Прочитать
()
доступен только на стороне сервера. Необходимо помнить об этом
при планировании клиент-серверного взаимодействия.
Рассмотрим пример сохранения табличного документа в файл. Необходимо любым способом создать и заполнить объект ТабличныйДокумент, а выгрузка в файл осуществляется всего лишь одной строкой:
ТабДок. Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента. XLSX );
Здесь ТабДок — сформированный табличный документ, ПутьКФайлу — имя файла для выгрузки, ТипФайлаТабличногоДокумента.XLSX — формат создаваемого файла. Поддерживаются следующие форматы Excel:
- XLS95 — формат Excel 95;
- XLS97 — формат Excel 97;
- XLSX — формат Excel 2007.
ТабДок = Новый ТабличныйДокумент;
ТабДок. Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Значение );
Здесь ПутьКФайлу — путь к загружаемому файлу Excel. СпособЧтенияЗначенийТабличногоДокумента.Значение определяет, каким образом нужно интерпретировать данные, считываемые из исходного документа. Доступны варианты:
- Значение;
- Текст.
Обмен через OLE
Обмен через технологию OLE automation, пожалуй, самый распространенный вариант программной работы с файлами Excel. Он позволяет использовать весь функционал, предоставляемый Excel, но отличается медленной скоростью работы по сравнению с другими способами. Для обмена через OLE требуется установка MS Excel:
- На компьютере конечного пользователя, если обмен происходит на стороне клиента;
- На компьютере сервера 1С:Предприятие, если обмен происходит на стороне сервера.
Пример выгрузки :
// Создание COM-объекта
Эксель = Новый COMОбъект(«Excel.Application»);
// Отключение вывода предупреждений и вопросов
Эксель. DisplayAlerts = Ложь;
// Создание новой книги
Книга = Эксель. WorkBooks. Add();
// Позиционирование на первом листе
Лист = Книга. Worksheets(1);// Запись значения в ячейку
Лист. Cells(НомерСтроки, НомерКолонки). Value = ЗначениеЯчейки;// Сохранение файла
Книга. SaveAs(ИмяФайла);
Эксель. Quit();
Эксель = 0;
Примеры чтения :
// —— ВАРИАНТ 1 ——
// Создание COM-объекта
Эксель = Новый COMОбъект(«Excel.Application» );
// Открытие книги
Книга = Эксель. Workbooks. Open(ПутьКФайлу );
Лист = Книга. Worksheets(1 );// Закрытие книги
Книга. Close(0 );// Закрытие Эксель и освобождение памяти
Эксель. Quit();
Эксель = 0 ;// —— ВАРИАНТ 2 ——
// Открытие книги
Книга = ПолучитьCOMОбъект(ПутьКФайлу );
// Позиционирование на нужном листе
Лист = Книга. Worksheets(1 );// Чтение значения ячейки, обычно здесь располагается цикл обхода ячеек
ЗначениеЯчейки = Лист. Cells(НомерСтроки, НомерКолонки). Value;// Закрытие книги
Книга. Application. Qui t();
Для обхода всех заполненных строк листа Excel можно использовать следующие приемы:
// —— ВАРИАНТ 1 ——
КоличествоСтрок = Лист. Cells(1 , 1 ). SpecialCells(11 ). Row;
Для НомерСтроки = 1 По КоличествоСтрок Цикл
ЗначениеЯчейки = Лист. Cells(НомерСтроки, НомерКолонки). Value ;
КонецЦикла;// —— ВАРИАНТ 2 ——
НомерСтроки = 0 ;
Пока Истина Цикл
НомерСтроки = НомерСтроки + 1 ;
ЗначениеЯчейки = Лист. Cells(НомерСтроки, НомерКолонки). Value;
Если НЕ ЗначениеЗаполнено(ЗначениеЯчейки ) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Вместо последовательного обхода всех строк листа можно выгрузить все данные в массив и работать с ним. Такой подход будет быстрее при чтении большого объема данных:
ВсегоКолонок = Лист. Cells(1 , 1 ). SpecialCells(11 ). Column;
ВсегоСтрок = Лист. Cells(1 , 1 ). SpecialCells(11 ). Row;Область = Лист. Range(Лист. Cells(1 , 1 ), Лист. Cells(ВсегоСтрок, ВсегоКолонок));
Данные = Область. Value. Выгрузить ();
В таблице ниже приведены наиболее востребованные свойства и методы для работы с Excel через OLE:
Действие | Код | Комментарий |
Работа с приложением | ||
Установка видимости окна приложения | Эксель. Visible = Ложь; | |
Установка режима вывода предупреждений (выводить/не выводить) | Эксель. DisplayAlerts = Ложь; | |
Закрытие приложения | Эксель. Quit(); | |
Работа с книгой | ||
Создание новой книги | Книга = Эксель. WorkBooks. Add (); | |
Открытие существующей книги | Книга = Эксель. WorkBooks. Open(ИмяФайла ); | |
Сохранение книги | Книга. SaveAs(ИмяФайла ); | |
Закрытие книги | Книга. Close(0 ); | |
Работа с листом | ||
Установка текущего листа | Лист = Книга. WorkSheets(НомерЛиста ); | |
Установка имени | Лист. Name = Имя ; | |
Установка защиты | Лист. Protect (); | |
Снятие защиты | Лист. UnProtect (); | |
Установка ориентации страницы | Лист. PageSetup. Orientation = 2 ; | 1 — книжная, 2 — альбомная |
Установка левой границы | Лист. PageSetup. LeftMargin = Эксель. CentimetersToPoints(Сантиметры ); | |
Установка верхней границы | Лист. PageSetup. TopMargin = Эксель. CentimetersToPoints(Сантиметры ); | |
Установка правой границы | Лист. PageSetup. RightMargin = Эксель. CentimetersToPoints(Сантиметры ); | |
Установка нижней границы | Лист. PageSetup. BottomMargin = Эксель. CentimetersToPoints(Сантиметры ); | |
Работа со строками, колонками, ячейками | ||
Установка ширины колонки | Лист. Columns(НомерКолонки). ColumnWidth = Ширина ; | |
Удаление строки | Лист. Rows(НомерСтроки). Delete (); | |
Удаление колонки | Лист. Columns(НомерКолонки). Delete(); | |
Удаление ячейки | Лист. Cells(НомерСтроки, НомерКолонки). Delete (); | |
Установка значения | Лист. Cells(НомерСтроки, НомерКолонки). Value = Значение ; | |
Объединение ячеек | Лист. Range(Лист. Cells(НомерСтроки, НомерКолонки), Лист. Cells(НомерСтроки1, НомерКолонки1)). Merge (); | |
Установка шрифта | Лист. Cells(НомерСтроки, НомерКолонки). Font. Name = ИмяШрифта ; | |
Установка размера шрифта | Лист. Cells(НомерСтроки, НомерКолонки). Font. Size = РазмерШрифта ; | |
Установка жирного шрифта | Лист. Cells(НомерСтроки, НомерКолонки). Font. Bold = 1 ; | 1 — жирный шрифт, 0 — нормальный |
Установка курсива | Лист. Cells(НомерСтроки, НомерКолонки). Font. Italic = 1 ; | 1 — курсив, 0 — нормальный |
Установка подчеркнутого шрифта | Лист. Cells(НомерСтроки, НомерКолонки). Font. Underline = 2 ; | 2 — подчеркнутый, 1 — нет |
Для того, чтобы узнать какое свойство нужно менять или какой метод вызвать можно воспользоваться макросами Excel. Если записать макрос с требуемыми действиями, то после можно посмотреть программный код на VBA записанного макроса.
Использование COMSafeArray
При выгрузке больших объемов данных из 1С в Excel для ускорения можно использовать объект COMSafeArray . Согласно определению из синтакс-помощника, COMSafeArray — объектная оболочка над многомерным массивом SafeArray из COM. Позволяет создавать и использовать SafeArray для обмена данными между COM-объектами. Проще говоря, это массив значений, который можно использовать для обмена между приложениями по технологии OLE.
// Создание COMSafeArray
МассивКом = Новый COMSafeArray(«VT_Variant» , ВсегоКолонок, ВсегоСтрок );
// Заполнение COMSafeArray
Для Стр = 0 По ВсегоСтрок — 1 Цикл
Для Кол = 0 По ВсегоКолонок — 1 Цикл
МассивКом. SetValue(Кол, Стр, Значение );
КонецЦикла;
КонецЦикла;
// Присвоение области листа Excel значений из COMSafeArray
Лист. Range(Лист. Cells(1 , 1 ), Лист. Cells(ВсегоСтрок, ВсегоКолонок)). Value = МассивКом ;
Обмен через ADO
Файл Excel при обмене через ADO представляет собой базу данных, к которой можно обращаться при помощи SQL-запросов. Установка MS Excel не требуется, но обязательно наличие драйвера ODBC, при помощи которого будет осуществляться доступ. Используемый драйвер ODBC определяется при указании строки соединения к файлу. Обычно требуемый драйвер уже установлен на компьютере.
Обмен через ADO заметно быстрее обмена через OLE, но при выгрузке нет возможности использовать функционал Excel для оформления ячеек, разметки страниц, задания формул и т.д.
Пример выгрузки :
Соединение = Новый COMОбъект(«ADODB.Connection»);
Соединение. ConnectionString = «
|Data Source=»+ ИмяФайла + «;
;
Соединение. Open(); // Открытие соединения// Создание COM-объекта для команды
Команда = Новый COMОбъект(«ADODB.Command» );
Команда// Присвоение текста команды для создания таблицы
Команда. CommandText = «CREATE TABLE [Лист1] (Колонка1 char(255), Колонка2 date, Колонка3 int, Колонка4 float)» ;
Команда. Execute(); // Выполнение команды// Присвоение текста команды для добавления строки таблицы
Команда. CommandText = «INSERT INTO [Лист1] (Колонка1, Колонка2, Колонка3, Колонка4) values (‘абвгдеё’, ‘8/11/2017’, ‘12345’, ‘12345,6789’)» ;
Команда.Execute(); // Выполнение команды// Удаление команды и закрытие соединения
Команда = Неопределено;
Соединение. Close ();
Соединение = Неопределено ;
Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table . В этом случае код примет вид:
// Создание COM-объекта для работы с книгой
Книга = Новый COMОбъект(«ADOX.Catalog» );
Книга. ActiveConnection = Соединение;// Создание COM-объекта для работы со структурой данных на листе
Таблица = Новый COMОбъект(«ADOX.Table» );
Таблица. Name = «Лист1» ;
Таблица. Columns. Append(«Колонка1» , 202 );
Таблица. Columns. Append(«Колонка2» , 7 );
Таблица. Columns. Append(«Колонка3» , 5 );
Таблица. Columns. Append(«Колонка4» , 5 );// Создание в книге листа с описанной структурой
Книга. Tables. Append(Таблица);
Таблица = Неопределено;
Книга = Неопределено;
В приведенном примере в методе
Таблица. Columns. Append («Колонка1» , 202 );
во втором параметре указывается тип колонки. Параметр необязательный, вот некоторые значения типа колонки:
- 5 — adDouble;
- 6 — adCurrency;
- 7 — adDate;
- 11 — adBoolean;
- 202 — adVarWChar;
- 203 — adLongVarWChar.
Пример чтения :
// Создание COM-объекта для соединения
Соединение = Новый COMОбъект(«ADODB.Connection» );// Установка строки соединения
Соединение. ConnectionString = «
|Provider=Microsoft.ACE.OLEDB.12.0;
|Data Source=»+ ИмяФайла + «;
|Extended Properties=»»Excel 12.0 XML;HDR=YES»»;» ;
Соединение. Open(); // Открытие соединения// Создание COM-объекта для получения выборки
Выборка = Новый COMОбъект(«ADODB.Recordset» );
ТекстЗапроса = «SELECT * FROM [Лист1$]» ;// Выполнение запроса
Выборка. Open(ТекстЗапроса, Соединение);// Обход результата выборки
Пока НЕ Выборка. EOF() Цикл
ЗначениеКолонки1 = Выборка. Fields. Item(«Колонка1» ). Value; // Обращение по имени колонки
ЗначениеКолонки2 = Выборка. Fields. Item(0 ). Value; // Обращение по индексу колонки
Выборка. MoveNext();
КонецЦикла;Выборка. Close();
Выборка = Неопределено;
Соединение. Close();
Соединение = Неопределено;
В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:
- YES — первая строка воспринимается как названия колонок. К значениям можно обращаться по имени и по индексу колонки.
- NO — первая строка воспринимается как данные. К значениям можно обращаться только по индексу колонки.
В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:
- Connection;
- Command;
- Recordset;
- Record;
- Fields;
- Stream;
- Errors;
- Parameters;
- Properties.
Выгрузка без программирования
Для сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования.
Для сохранения табличного документа (например, результата отчета) можно вызвать команду Сохранить или Сохранить как… главного меню.
В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла.
Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:
- Вывести данные в табличный документ при помощи команды Еще ⇒ Вывести список… ;
- Сохранить табличный документ в требуемый формат.
Понравилось решение?
84 это понравилось
Какие возможности предоставляет загрузка в 1С из эксель?
Благодаря возможностям современного программного обеспечения вам доступна услуга по загрузке в 1С из эксель данных любого вида.
Зачем это нужно вам?
- Чтобы быстро перенести накопленные данные в запускаемую систему учета 1С.
- Чтобы избавить себя от регулярной рутины по ручному обновлению прайсов.
- Чтобы оперативно загружать заказы из интернет-магазина.
- Чтобы огородить себя от обработки информации внутри 1С, для нежелательных пользователей. Например, аутсорсинговых компаний или фрилансеров.
- Чтобы быстро обновить состав номенклатурных позиций.
Смотрите наше видео, чтобы понять как можно использовать загрузку данных в 1С в своем бизнесе (при просмотре укажите высокое качество):
Как правильно подготовить данные к загрузке в 1С из эксель?
Если у вас есть данные в формате MS Excel и вы решили перенести их в 1С, то вам необходимо знать следующее:
1. Структура данных должна быть однородна. Например, если в экселе в столбце «фамилия» у вас также фигурируют номера телефонов, то вам следует перенести их в отдельное поле (колонку). Принцип «Одно поле - одна сущность» характерен для любых данных, которые вы собираетесь загружать.
2. Единый формат данных внутри каждого поля. Программы загрузки данных в 1С из эксель чувствительны к малейшим деталям. Следующие данные с точки зрения машины будут разными:
- «шт» и «шт.» (без точки и с точкой)
- «мужчина» и «муж.» (разное описание одной сущности – пол)
Перед автоматизированной загрузкой данных необходимо убедиться, чтобы все идентичные (с точки зрения человека) сущности имели одинаковое описание – формат, иначе эти сущности буду загружены в 1С в нескольких вариантах.
3. Уникальные идентификаторы для уникальных сущностей. Чтобы при автоматизированной загрузке данных не произошло их дублирования, необходимо заранее предусмотреть уникальные идентификаторы. Например, при загрузке данных о товарах, таким идентификатором может выступать артикул товара, при загрузке контрагентов – юридических лиц идентификатором может служить ИНН, для физических лиц – email или номер скидочной карты.
В зависимости от требований задачи существуют разные подходы к интерпретации уникальных идентификаторов, но факт остается фактом – они должны быть!
4. Желательно отсутствие посторонних данных и элементов оформления, не имеющих отношения к загрузке. К таким данным относятся служебные комментарии, пустые строки, сноски и т.п. элементы.
5. Однозначная структура ячеек. Объединение ячеек в области допустимо при условии, что такое объединение производилось по четкому алгоритму, который поддается машинному анализу. Для автоматизированной загрузки данных такие объединения использовать не рекомендуется.
Если у вас имеется файл, данные из которого, вы хотите загрузить в 1С – просто передайте его нам на анализ и мы сообщим вам сроки и стоимость автоматической загрузки!
Какие данные можно в принципе загрузить из эксель в 1С?
Для автоматизированной загрузки из эксель в 1С подходят любые данные, лишь бы они были оформлены правильно с учетом вышеописанных принципов.
В качестве примеров можно привести следующие:
(ФИО, контактные данные)Обращаем ваше внимание, что это лишь примеры. Технически нам по силам загрузить любые данные, которые требуются для решения конкретно вашей задачи.
Если у вас есть необходимость в анализе этих данных и последующей их загрузке в 1С – обращайтесь! Мы проконсультируем вас бесплатно по телефону: 8-926-219-21-60.
Как происходит загрузка из эксель в 1С? Можно ли написать программу, для самостоятельной регулярной загрузки?
Команда сайт изготавливает загрузчики с 2005 года. Нами накоплен огромный опыт по загрузке из эксель в 1С, который позволит нам написать загрузчик для любых целей:
- Разовый загрузчик для быстрого решения конкретной задачи.
- Многофункциональный загрузчик для многократного использования.
Все зависит от ваших целей и задач.
В случае, если задача неотложная, и нет необходимости в регулярном импорте информации в 1С, то вам будет достаточно заказать разовый загрузчик. Он будет стоить дешевле, чем многофункциональный и позволит вам решить задачу в короткие сроки. В результате работы разового загрузчика вы получите необходимую информацию в вашей учетной системе уже в скором времени после заказа.
Для разработки многофункционального загрузчика потребуется больше времени. Все зависит от степени его универсальности и сложности обработки информации.
Вот так выглядят наши загрузчики:
Или вот так:
Так выглядит наш загрузчик для конфигурации "Управление Торговлей" ред. 11:
И таких загрузчиков у нас БОЛЕЕ сотни для любых задач!
В любом случае, какой бы загрузчик вам не потребовался, звоните по телефону: 8-926-219-21-60. Мы проконсультируем вас бесплатно и поможем определиться с выбором.
Заинтересовались готовым решением «Загрузка в 1С из эксель»?
Мы будем рады ответить на ваши вопросы и обсудить детали сотрудничества.
Нажмите кнопку «Отправить запрос» и мы свяжемся с вами в течение рабочего дня.