&НаКлиенте
Процедура Прочитать(Команда)
Объект.ЕстьОшибкаВфайле=ложь;
Попытка
Excel = Новый COMОбъект(«Excel.Application»);
Excel.WorkBooks.Open(Объект.ПутьКФайлу);
Состояние(«Обработка файла Microsoft Excel…»);
Исключение
Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);
Сообщить(ОписаниеОшибки());
Объект.ЕстьОшибкаВфайле=Истина;
Возврат;
КонецПопытки;
Попытка
//Открываем необходимый лист из настроек
Excel.Sheets(НомерЛиста).Select();
Исключение
//Закрываем Excel
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;
Конецесли;
Для ТекСтрока = СтрокаНачало по ФайлСтрок Цикл
ОбработкаПрерыванияПользователя(); // цикл можно прервать нажатием ctrl+break
//заполняем строку значениями
Если (СтрДлина(Excel.Cells(ТекСтрока, АртикулСтолбец).Text)=0) и (СтрДлина(Excel.Cells(ТекСтрока,НоменклатураСтолбец ).Text)=0) тогда
НомГР=СокрЛП(Excel.Cells(ТекСтрока,ГруппаСтолбец ).Text);
Иначе
НоваяСтрока = Данные.Добавить();
НоваяСтрока[«НомерСтроки»] = ТекСтрока;
Если (СтрДлина(Excel.Cells(ТекСтрока, АртикулСтолбец).Text)=0) тогда
Сообщить(«Нет артикула в строке:»+ТекСтрока);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«Артикул»] = СокрЛП(Excel.Cells(ТекСтрока, АртикулСтолбец).Text);
КонецЕсли;
Если (СтрДлина(Excel.Cells(ТекСтрока,ГруппаСтолбец ).Text)=0) тогда
НоваяСтрока[«Группа»]=НомГР;
иначе
НоваяСтрока[«Группа»] = СокрЛП(Excel.Cells(ТекСтрока,ГруппаСтолбец ).Text);
КонецЕсли;
Если (СтрДлина(Excel.Cells(ТекСтрока, НоменклатураСтолбец).Text)=0) тогда
Сообщить(«Нет наименования в строке:»+ТекСтрока);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«Номенклатура»] = СокрЛП(Excel.Cells(ТекСтрока,НоменклатураСтолбец ).Text);
КонецЕсли;
Если (СтрДлина(Excel.Cells(ТекСтрока, ЕдиницаСтолбец).Text)=0) тогда
Сообщить(«Нет единицы измерения в строке:»+ТекСтрока);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«ЕдиницаИзмерения»] = СокрЛП(Excel.Cells(ТекСтрока,ЕдиницаСтолбец ).Text);
КонецЕсли;
попытка
Если (СтрДлина(Excel.Cells(ТекСтрока, КолвоСтолбец).Text)=0) или(Число(Excel.Cells(ТекСтрока, КолвоСтолбец).Text)<0) тогда
Сообщить(«Ошибка количества в строке:»+ТекСтрока);
НоваяСтрока[«Количество»] = СокрЛП(Excel.Cells(ТекСтрока,КолвоСтолбец ).Text);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«Количество»] = СокрЛП(Excel.Cells(ТекСтрока,КолвоСтолбец ).Text);
КонецЕсли;
исключение
НоваяСтрока[«Количество»] = СокрЛП(Excel.Cells(ТекСтрока,КолвоСтолбец ).Text);
Сообщить(«Ошибка количества в строке:»+ТекСтрока);
КонецПопытки;
Если (СтрДлина(Excel.Cells(ТекСтрока, СебестоимостьСтолбец).Text)=0) тогда
Сообщить(«Нет себестоимости в строке:»+ТекСтрока);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«Себестоимость»] = СокрЛП(Excel.Cells(ТекСтрока,СебестоимостьСтолбец ).Text);
КонецЕсли;
Если (СтрДлина(Excel.Cells(ТекСтрока, ПродажаСтолбец).Text)=0) тогда
Сообщить(«Нет цены продажи в строке:»+ТекСтрока);
Объект.ЕстьОшибкаВфайле=Истина;
иначе
НоваяСтрока[«Продажа»] = СокрЛП(Excel.Cells(ТекСтрока,ПродажаСтолбец ).Text);
КонецЕсли;
КонецЕсли;
КонецЦикла;
//закрываем Excel
Excel.DisplayAlerts = 0;
Excel.Quit();
Excel.DisplayAlerts = 1;
КонецПроцедуры
Загрузка номенклатуры из табличного документа с помощью обработки УТ 11.4
Загрузка номенклатуры с помощью обработки в УТ 11.4
В данной инструкции мы рассмотрим, как загрузить номенклатуру, которая находится в excel формате через обработку «загрузка данных из табличного документа».
Первоначально мы должны убедиться, что у пользователя под которым мы будем проводить загрузка есть необходимые нам права.
Заходим в нашего пользователя и переходим во вкладку «права доступа»:
Нас интересует право «открытие внешних отчетов и обработок»:
У пользователя это право есть, если же его нет, тогда нажимаем на кнопку «включить в группу» и из списка выбираем право:
Теперь переходим к открытию обработки.
В верхнем правом углу открываем меню и выбираем файл-открыть:
Откроется папка в которой мы выбираем обработку:
В программе открылось окно загрузки, тут мы выбираем, что мы будем загружать, в нашем случае это будет «справочник». Теперь выбираем вид справочника – номенклатура:
Переходим на вкладку «настройка» и убираем все галки:
Далее будем выбирать необходимые нам параметры:
В данном случае мы выбрали обязательные первоначальные настройки, в других моментах можно выбрать: текстовое описание, группу доступа, марка(бренд) и другие.
Предоставляем таблицу первоначальных настроек:
Теперь перейдем обратно на вкладку «табличный документ» и обновим:
Корректируем ширину колонок для удобства:
Открываем документ в котором находится номенклатура и копируем первый столбец (ВАЖНО – полная таблица не перенесется):
Возвращаемся в программу, нажимаем на первую строчку первого столбца и с помощью правой кнопки мыши выбираем «специальная вставка»:
Нажимаем «ок»:
Этот столбец вставляем в колонку «наименование для печати», если эти два наименования совпадают:
По такому же принципу копируем и вставляем «артикул»:
В остальных столбцах мы выбрали режим загрузки «устанавливать» и выбрали значение, в таком случае эти столбцы заполнять не нужно.
Необходимо убедиться в правильности веденных данных, нажимаем кнопку «контроль заполнения»:
Так как, ошибок у нас не выявлено, тогда нажимаем на гиперссылку «загрузить данные»:
Мы с Вами успешно выполнили загрузка номенклатуру в УТ 11.4.
(Рейтинг:
1.9 ,
Голосов: 19 )
Материалы по теме
При работе в 1С УТ 11 и Розница у пользователей часто возникает необходимость загрузить список номенклатуры со штрихкодами и характеристиками из Excel автоматически. Задача загрузить большое количество товаров, чаще всего встает в таких случаях как:
- Поставщики предоставляют вам список номенклатуры в документе Excel. В этом случае нужно затратить большое количество времени, для того чтобы занести товары в 1С руками.
- Вы переходите на УТ 11 или Розница с более ранней версии либо с другой конфигурации. После вступления в силу новой ставки НДС 20% с 1 января 2019 года, у многих возникает необходимость перенести номенклатуру из УТ 11.1 -11.3 в УТ 11.4, т.к. в более ранних версиях отсутствует ставка НДС 20 процентов.
- Также обработка позволяет перенести список номенклатуры абсолютно из любой конфигурации 1С, будь то Бухгалтерия предприятия, Управление торговлей, Комплексная автоматизация, УПП или какая-то другая конфигурация. Ведь сохранить справочник номенклатуры в документ Excel можно из любой конфигурации стандартными средствами. Как это сделать, читайте в статье — Как сохранить справочник номенклатуры из 1С в Excel.
- С помощью промежуточного файла Excel можно загрузить номенклатуру в 1С с сайта.
На данной странице вы можете скачать внешнюю обработку, при помощи которой, сможете загружать список товаров из Excel в 1С.
Обработка загрузки из excel
Для того чтобы воспользоваться обработкой, вам нужно подготовить файл Excel с товарами (файл для примера тоже находится в архиве с обработкой, можно редактировать его). Шапку таблицы удалять не нужно. Колонки местами менять нельзя.
Вид файла excel
- Колонка «Артикул» является обязательной.
- Колонка «Наименование» является обязательной;
- Колонку «Единица измерения» вы можете заполнить, если нужно чтобы номенклатура создавалась с разными единицами измерения. При этом нужно проследить, чтобы в базе 1С нужные единицы измерения присутствовали, и если они отсутствуют, создать их до запуска обработки. Если колонку «Единица измерения» оставить пустой, все товары будут созданы в единицах измерения штуки;
- Из колонки «Штрихкод» запись происходит в регистр «Штрихкоды номенклатуры», если вы не используете штрихкоды ее можно оставить пустой;
- Колонка «НДС» является обязательной (должна содержать число: 0, 10 или 20).
- Из колонки «Характеристика» запись происходит в справочник «Характеристики номенклатуры», если вы не используете характеристики ее можно оставить пустой;
После того как файл Excel был сформирован, открываете обработку в базе 1С через меню Файл/Открыть. Выбираете файл обработки. В открывшемся окне нужно указать файл Excel , в котором содержится список номенклатуры.
Выбор файла с номенклатурой для загрузки
После чего, остается только нажать кнопку «Загрузить» и дождаться окончания работы обработки. Если после завершения работы обработки новая номенклатура не отобразилась в списке — перезайдите в базу.
Открывается обработка через меню Файл/Открыть.
Если у вас 1С в облаке эта обработка не подойдет, вам нужна — Загрузка номенклатуры в УТ 11 в облаке.
Вы можете скачать эту обработку, нажав на кнопку «Скачать».
Для того, чтобы загрузить в 1С цены, можете воспользоваться отдельной обработкой.
[stextbox id=’alert’]На создание этой разработки затрачено 4 часа работы программиста. (При заказе она обошлась бы вам в 4000 руб. ).
[/stextbox]
Стоимость обработки: 499 р. (Возможна небольшая доработка под ваши нужды, бесплатно!)
- Оплату можно совершить с любой карты VISA или MasterCard а также системы Яндекс.Деньги.
- Понадобится ввести ваш e-mail для отправки вам чека.
- Нажав кнопку «Вернуться в магазин» после оплаты, вы получите ссылку на скачивание.
Скачано: 17, размер: 22
Время прочтения — 3 мин.
Получить бесплатную консультацию
Рассмотрим алгоритм загрузки данных с помощью стандартной обработки ЗагрузкаДанныхИзТабличногоДокумента.epf.
Открываем обработку через Главное меню-Файл-Открыть.
Поскольку нам надо загрузить цены, выбираем в обработке загрузку в табличную часть и создаем в поле “Ссылка» новый документ установки цен. В поле табличной части надо выбрать “Товары”.
В документе установки цен надо выбрать устанавливаемый вид цен и проставить дату документа, затем записать его:
Подпишитесь на дайджест!
Подпишитесь на дайджест, и получайте ежемесячно подборку полезных статей.
Далее в обработке надо выбрать Exel файл c прайсом.
В нашем примере файл выглядит так:
Файл загрузился в обработку, далее открываем настройку:
Настроим номер строки Excel файла, с которой надо начать загружать цены, и настроим ручную нумерацию колонок:
Отредактируем номер колонки и алгоритм поиска значений номенклатуры в базе и загрузки значения цены.
Далее нажимаем на надпись “Загрузить данные“ и обработка загружает цены и номенклатуру в созданный ранее документ установки цен:
После проведения документа цены будут установлены.
Данную обработку можно использовать для загрузки практически в любые объекты конфигурации, но поскольку она достаточно универсальна, то настройка требует некоторых знаний по структуре загружаемых объектов. Но несмотря на это она является удобным и применимым на практике инструментом.
Бывают ситуации, когда работа с поставщиком ведется плодотворно и фиксация закупочных цен в 1С ведется на основании счетов /заказов от этого же поставщика. Но возникают и такие ситуации, когда расчет с поставщиком производится не за каждый заказ/счет, а за определенный период-месяц или сезон. В этом случае поставщик рассылает своим покупателям новые прайсы с уже измененными ценами. Рассмотрим, как зафиксировать изменение закупочных цен поставщика на примере 1С: Управление торговлей 11.4
Открываем раздел Закупки-меню Сервис-пункт Загрузка цен поставщика из файла.
Программа 1С открывает таблицу, в которую нужно занести копированием данные из нового прайса поставщика. В верхней части этой формы указываем дату, с которой начнут действовать новые цены и название поставщика.
Прайс у нас всего на 2 позиции
Копируем обе колонки из прайса и переносим и переносим данные в форму для заполнения.
Обратите внимание, что колонка с видом цены у нас подтянулась автоматически, так как с этим поставщиком работа ведется только по одному виду цен. Если вы сотрудничаете с поставщиком по разным видам цен(оптовая, дилерская, акция ко Дню Матери и т.д.), важно указать вид цены в прайсе, по которому прошло изменение. Для этого следует воспользоваться кнопкой Выбрать виды цен и укажите нужный вариант.
После заполнения формы нажимаем кнопку Далее.
Программа 1С покажет нам предварительный прайс перед загрузкой. Если товары из табличной части уже существуют в 1С, их нужно дополнительно выбрать из нашего справочника в колонке Номенклатура. Если товары новые и ранее мы с ними не работали, в таком случае столбец номенклатура оставляем пустым и данные позиции Будут созданы в справочнике с указанными ценами.
Нажимаем кнопку Далее в правом нижнем углу.
В открывшемся окне 1С спрашивает , какие цены регистрировать. Устанавливаем флаг в пункте Зарегистрировать все цены и подтверждаем выбор нажатием кнопки Готово.
Чтобы удостоверится в изменении цен на товары, откроем в разделе Закупки пункт Отчеты по закупкам— строка Условия закупок.
В шапке отчета задаем дату начала действия цен и наименование поставщика и нажимаем кнопку Сформировать.
В табличной части отчетливо видно, что изменение цен прошло верно.
Приятной работы!