Чтение из Эксель-файла

26.05.15

Интеграция - Загрузка и выгрузка в Excel

Некоторые выдержки из моих наработок, связанных с работой 1С и приложений майкрософт-оффис

Появилось желание опубликовать некоторые выдержки из моих наработок. У нас имелась собственная база данных, в которой были связанные справочники Спецификаций и Номенклатуры.

Но все же остановимся на некоторых моментах касательно выгрузки.

В общем, есть некоторые неудобные моменты, связанные с загрузкой данных, если брать типовые конфигурации:

Несколько актуальных моментов, с которыми мы часто сталкиваемся при интеграции сайтов с 1С или Excel.

1) Не все компании готовы показывать цены, в силу разных причин, таких как конкуренция, персональные цены для контрагентов или групп контрагентов, цены по договоренности. 

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

2) Обязательная регистрация пользователей.

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

Если регистрация очень важна, дайте пользователям бонус или объясните, для чего нужна регистрация. 
В данном случае речь не идет об авторизации по логину и паролю, которая необходима для закрытых систем онлайн заказа или, например, для выписки счета или биллинга по контрагентам. Как правило, в таких системах контрагенты вместе с логинами и паролями выгружаются из 1С.

3) Промежуточная выгрузка в Excel

Часто 1С используют только для выписки счетов по проданным товарам. Номенклатура не структурирована, часть товаров находятся в прайсах поставщиков. Поэтому сначала выгружают в Excel, затем корректируют, правят цены, структурируют. После этого Excel уже загружают на сайт.
На первый взгляд, кажется удобно, но в результате возникает масса ошибок, поскольку Excel не очень надежный источник данных с точки зрения их сохранности и минимизации ошибок, вызванных человеческим фактором.
Как можно решить – настроить механизм загрузки прайсов в 1С и их структуризацию, чтобы в дальнейшем сделать более стабильный обмен данных 1С и сайта.

4) Отсутствие артикулов

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

Приведу несколько независимых кодов.

выдержки:

 

Общие определения (допустим, в процедуре ПриНажатии кнопки выполнить (как на картинке))

//определимся с тем, что надо искать. В полеСпецификаций можно выло "забить" или выбрать нужную СП
ТЗРазбора = Справочники.Спецификации.НайтиПоНаименованию(ЭлементыФормы.ПолеСпецификаций.Значение).Состав;
//у вас скорее по другому получаем данные по наименованиям. Но суть в том, чтобы получить массив наименований. 
//будьте внимательны, могут быть подсборки в СП.Но это зависит от вашей БД. Ниже получим данные по элементам СП в виде ТЗ
	ТЗРез = Новый ТаблицаЗначений;
	ТЗРез.Колонки.Добавить("КодБД");
	ТЗРез.Колонки.Добавить("Номенклатура");
	ТЗРез.Колонки.Добавить("Количество");
	
	//надо количество и т.п.
	Для каждого стрР из ТЗРазбора Цикл
	     Нов = ТЗРез.Добавить();
	     Нов.КодБД = стрР.Номенклатура.Код;
	     Нов.Номенклатура = стрР.Номенклатура;
	     Нов.Количество = стрР.Количество;
	КонецЦикла;
	
	ТЗРез.Сортировать("Номенклатура ВОЗР");
	ТЗРез.Свернуть("КодБД, Номенклатура","Количество");
 
Имяфайла = "D:\1C_Databases\File.xls";
Если СокрЛП(Имяфайла)<>"" Тогда
MSExcel = Новый COMОбъект("Excel.Application"); 
Книга = MSExcel.Workbooks.Open(Сокрлп(Имяфайла));
//здесь можно в цикле вызывать ниже приведенную функцию. Касательно НаименованияБД, зависит от самой структуры вашей БД.
//можно организовать вывод через сообщения или вывести в макет...
MSExcel.Quit();

Теперь функция читки

Функция ЧиткаИзЭксФайла(НаименованиеБД,Книга)

КоличествоЛистов = Книга.WorkSheets.Count;
//прогулка по листам
Для НомерЛиста = 1 по КоличествоЛистов Цикл
   //гуляем по листу
   Лист = Книга.WorkSheets(НомерЛиста);

   Лист.UnProtect();

   ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
   ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;


   ОбластьПоиска = Лист.Cells;
   НачалоЛиста = ОбластьПоиска.Cells(1, 1);
   //ИскатьДо = ОбластьПоиска.Cells(ВсегоСтрок, ВсегоКолонок);
   ОбластьПараметр = ОбластьПоиска.Find("*"+СокрЛП(НаименованиеБД)+"*", НачалоЛиста);

   //определим колонку "Цена"
   Если ОбластьПараметр <> неопределено Тогда
   СтрокаКолонкаЦена = ОбластьПоиска.Find("*цена*", НачалоЛиста);

     Если СтрокаКолонкаЦена = неопределено тогда СтрокаКолонкаЦена = ОбластьПоиска.Find("*Цена*", НачалоЛиста);КонецЕсли;

     Если СтрокаКолонкаЦена<>неопределено тогда
        НомКолонкиЦена = СтрокаКолонкаЦена.Column;

        Если ОбластьПараметр.Cells(1,НомКолонкиЦена).Value<>0 тогда 
          Результат = ОбластьПараметр.Cells(1,НомКолонкиЦена).Value;
          Прервать; 
        КонецЕсли;
     Иначе Результат = неопределено;
  КонецЕсли;
//КонецЦикла;

КонецЕсли;


КонецЦикла;

Возврат Результат;
КонецФункции;

Эксель Excel

См. также

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210195    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150734    365    375    

501

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

07.06.2022    15084    79    0    

60

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101398    296    173    

312

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    214945    923    886    

939

Универсальная загрузка остатков и цен поставщиков в 1С (УТ 11, КА 2, ERP 2.0) из файлов Excel, CSV, XML (YML и CML)

Прайсы Оптовая торговля Розничная торговля Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Обработка позволяет легко настроить загрузку прайс-листов и остатков поставщиков. Форматы файлов задаются для каждого поставщика отдельно. В настройках предусмотрена возможность гибкой обработки входящих данных (убрать лишние символы, пересчитать цены в другую валюту, сделать произвольную наценку и т.д.).

12000 руб.

23.01.2017    58863    59    48    

68
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Samarin 96 26.05.15 14:33 Сейчас в теме
ИМХО, подобный подход к чтению xls устарел с выходом 8.3.6.
Теперь надо делать так, как в этой статье: http://infostart.ru/public/341855/
2. mack198109 55 26.05.15 21:36 Сейчас в теме
(1) Samarin, приниму к сведению. Я еще копаюсь в 8.2. А вообще.. посмотрите что творится, Украина сейчас вообще отходит от привычных уже для многих Компаса3D да и от 1С. Так что и не приходится говорить про новые версии. Наши вроде пока не выпендриваются. Имеются какие-то собственные БД, но это по большому счету Сишные или Дельфовские в связке с Интербейзом под личный заказ. А так чтобы глобально. Глобально только World of Tanks ^^))
3. AleksSF 222 27.05.15 09:13 Сейчас в теме
(2)
Ну Украина скоро вообще отойдет в мир иной. А Казахстан, Белорусь, частично Прибалтика и еще многие из СССР работают с 1С. Так что про новые версии говорить и осваивать их актуально.
4. Samarin 96 27.05.15 09:15 Сейчас в теме
(2) Зато Крым теперь потихоньку оживился и закупается для автоматизации. Что по поводу ситуации в целом - еще есть клиенты, которые готовы платить за поддержку актуальности учета в базах на 7.7. Сопровождать приходится весь ряд ПП 1С, а разработка сейчас ведется на 8.3 со всеми новыми фишками.
5. Perfolenta 204 27.05.15 12:37 Сейчас в теме
(2) ну, про то, что Украина отходит от 1С это Вы сильно загнули... лично я не знаю ни одной фирмы не применяющей 1С, хотя бы только для бухгалтерии...
6. mack198109 55 27.05.15 18:36 Сейчас в теме
(5) Peleng, дай Бог, чтобы Вы были правы.. с лицензией могут быть проблемы.. хотя. ну Вы сами знаете :))) В 1С что-то есть особенное. Своё, особенное. Ребята из 1С (совместно с Букой) когда-то создали Дальнобойщиков. Дальнобойщики-2 имела требования минимальные и по видяхе и по памяти, и по винту, но визуально превосходила своего на то время конкурента "18 колёс" именно требованиями и качеством. Так что насчет 1С Украина попустится. Когда только с 1С начинал, тоже много чего не нравилось... Но как углубился в смысл БД, понял - 1С-как раз то что надо. На Укр. к сожалению нет центров модификации системы 1С.
Оставьте свое сообщение