Главная  |  Продукты  |  Услуги и цены  |  Клиенты  |  Контакты
 
1C Предприятие 7.7
Наши решения
Программирование
1С Предприятие 8.*
Наши решения
Партнерские разработки
Типовые решения
Программирование
Администрирование
Web проекты
Интернет-магазины
Поиск по сайту

 

Модуль предназначен для формирования прайсов различной структуры, с выводом на печать и в Эксель. Сформированный прайс может быть заархивирован и отправлен через ФТП на Ваш сайт, и все это, нажатием одной кнопки. Модуль  работает с любой конфигурацией 1С 8.1, 1С 8.2 и 1С 8.3.

1. Хранение неограниченного количества вариантов формирования и оформления прайсов.

2. Формирование прайса в виде дерева с любыми полями товара и с изображениями

3. Вставка гиперссылок на страницы товара на Вашем сайте.

4.
Вывод прайса на печать, в Эксель, архивирование и выгрузка по ФТП.

5.
Уменьшение изображений до указанных размеров

Цена: 100$ Подробная информация о модуле

 

Главная arrow Программирование arrow Импорт - экспорт arrow Загрузка данных из Excel
Загрузка данных из Excel Версия в формате PDF Версия для печати Отправить на e-mail
Рейтинг: / 56
ХудшаяЛучшая 
Написал Валецкий Станислав   
Ситуация, когда торговые компании получают прайсы от постащиков в формате Excel - довольно распространенная. И заносить эти прайсы вручную в 1С - занятие довольно трудоемкое, особенно если речь идет о десятках тысяч номенклатурных позиций. Написав небольшую обработку можно полностью автоматизировать данную задачу. Рассмотрим пример.
Допустим у нас есть файл Excel. На первом листе присутствует следующая таблица данных:

Код Наименование Розничная цена
6461 Ванна Evolution 180x102/87 525
39311 Ванна Evolution PU-PLUS 180x102/87 675
11225 Ванна Magnolia 1,7х0.75 800
3567 Ванна Magnolia 1,8х0.75 700

Для импорта данных используем следующую функцию:
 
    //Номер листа в книге Excel для получения данных
    НомерЛиста         = 1;
   
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат;
    КонецПопытки;     
   
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open(ИмяФайла);
   
    //Открываем необходимый лист
    Excel.Sheets(НомерЛиста).select();   
   
    //Получим количество строк и колонок.
    //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel
    Версия = Лев(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;   
    Конецесли;
 
    //Для установки цен необходимо создать документ "Установка цен номенклатуры"
    //Заполним шапку документа, в т.ч.  заполним тип цены и валюту
    ТипЦеныРозничный                 = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");
    НоваяСтрока                      = ДокументУстановкиЦенГривна.ТипыЦен.Добавить();
    НоваяСтрока.ТипЦен               = ТипЦеныРозничный;
    ДокументУстановкиЦенГривна.Дата  = ТекущаяДата();
    ВалютаГривна                     = Справочники.Валюты.НайтиПоКоду("980");
   
    //определим по файлу в каких колонках необходимые данные
    НомерКолонкиКодаТовара             = 1;
    НомерКолонкиНаименованияТовара     = 2;
    НомерКолонкиЦеныТовара             = 3;
   
    // Выбираем данные из файла
    Для а = НомерСтрокиТЧ по ФайлСтрок Цикл           
       
        //Полуим данные из соответсвующих ячеек
        КодТовара             = СокрЛП(Excel.Cells(а,НомерКолонкиКодаТовара).Value);
        НаименованиеТовара    = СокрЛП(Excel.Cells(а,НомерКолонкиНаименованияТовара).Value);
        Цена                  = Число(Excel.Cells(а,НомерКолонкиЦеныТовара).Value);
       
        Товар = Справочники.Номенклатура.ПустаяСсылка();       
       
        // Ищем товар в справочнике по коду       
        Товар = Справочники.Номенклатура.НайтиПоКоду(КодТовара);
       
        // Если не нашли по коду, то ищем по наименованию
        Если Товар.Пустая() Тогда
            Товар = Справочники.Номенклатура.НайтиПоНаименованию(тНаименование, Истина);
        Конецесли;
       
        //Если не нашли создаем новый
        Если Товар.Пустая() Тогда
            Товар                      = Справочники.Номенклатура.СоздатьЭлемент();
            Товар.Код                  = КодТовара;
            Товар.Наименование         =  НаименованиеТовара;
            Товар.НаименованиеПолное   =  НаименованиеТовара;
            Товар.Записать();
        Конецесли;   
       
        //Запишем товар и цену в документ установки цен
        НоваяСтрока                     = ДокументУстановкиЦенГривна.Товары.Добавить();
        НоваяСтрока.Валюта              = ВалютаГривна;
        НоваяСтрока.Цена                = Цена;
        НоваяСтрока.Номенклатура        = Товар.Ссылка;                
        НоваяСтрока.ТипЦен              = ТипЦеныРозничный;         
    Конеццикла;
   
    //Если в документе есть товары записываем и проводим
    Если Не(ДокументУстановкиЦенГривна.Товары.Количество() = 0) Тогда
        ДокументУстановкиЦенГривна.Записать(РежимЗаписиДокумента.Запись);
        ДокументУстановкиЦенГривна.Записать(РежимЗаписиДокумента.Проведение);
    Конецесли;   
   
    //Закрываем Excel
    Excel.ActiveWorkbook.Close();   
   
 
 
Комментарии достаточно детальные, поэтому добавлю лишь, что можно вынести настройку соответствия колонок Excel принимаемым данным на форму, тем самым делая обработку более универсальной.

Разработан универсальный модуль импорта прайсов поставщиков из Excel, который позволяет загружать любые прайсы в 1С 8.
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:
Жирный Курсив Подчеркнутый Зачеркнутый Цитата


Защитный код
Обновить

< Пред.   След. >
Карта сайта
1C-PROFI © 2018
Использование материалов разрешено только с указанием ссылки (для web сайтов гиперссылки)
www.megastock.ru