Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=4607)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Очень нужна помощь в импорте из XLS

Автор: bereznoy 04.09.11, 14:31

Задача следующая. 1С 8.2 УТП

Загрузить надо номенклатуру с иерархией, есть файлы XLS со структурой причем по уровням, первый файл имеет колонку кода группы номенклатуры + название, второй файл имеет два кода, первый это код из первого файла (т.е. к которому он относиться), вторая колонка это собственный код и третья это название, так же четвертый есть файл со следующими подуровнями - это что касается иерархии номенклатуры.

Далее есть сама база товаров, которая так же в экселе и есть первые четыре колонки это коды, к которым относится данная номенклатура и + последняя это наименование номенклатуры,но надо что бы в ПОЛНОМ наименовании были название групп а только потом то что из экселе,а просто в наименовании это из экселя.


Как? Есть какие е нить наработки по импорту иерархии?

Автор: Fynjy 04.09.11, 15:52

1000 грн и наработка ваша.

Автор: Vofka 04.09.11, 16:18

999

Автор: Ardi 04.09.11, 18:42

1001

Автор: bereznoy 04.09.11, 20:58

За дэнги сделать не проблема, мне как бы помощь нужна, я не прошу тупо сделать,я прошу подобную обработку подкинуть,а там сам уже

Автор: Flexy 04.09.11, 21:04

Цитата(bereznoy @ 04.09.11, 20:58) *
За дэнги сделать не проблема, мне как бы помощь нужна, я не прошу тупо сделать,я прошу подобную обработку подкинуть,а там сам уже

Поиск юзали?Хотя бы в рамках этого форума smile.gif
На Инфостарте этих обработок немерянно 32542270.gif

Автор: bereznoy 04.09.11, 21:24

Цитата(Flexy @ 04.09.11, 22:04) *
Поиск юзали?Хотя бы в рамках этого форума smile.gif
На Инфостарте этих обработок немерянно 32542270.gif

Юзал, стандартная обрабока тянет как меня устраивает впринцыпе,но надо иерархию номенклатуры, т.к. там 500 папок

Автор: Ardi 04.09.11, 21:25

Цитата(bereznoy @ 04.09.11, 21:58) *
За дэнги сделать не проблема, мне как бы помощь нужна, я не прошу тупо сделать,я прошу подобную обработку подкинуть,а там сам уже

Конечно делать это тупо.
И вообще работать это тупо.

Автор: bereznoy 04.09.11, 21:30

x

1-е предупреждение!

Автор: Flexy 04.09.11, 21:42

Тю, ну добавьте в таблицу єкселя колонку Группа.потом по ходу загрузки конкретной строки проверяйте значение этой колонки.

Автор: bereznoy 04.09.11, 21:48

Цитата(Flexy @ 04.09.11, 22:42) *
Тю, ну добавьте в таблицу єкселя колонку Группа.потом по ходу загрузки конкретной строки проверяйте значение этой колонки.

Дык у меня групп нет еще,база пустая, надо сначала загрузить как я понимаю группы все с кодами,А потом по коду импортить номенклатуру что бы она "распихивалась" согласно кода в свою папочку

Автор: Flexy 04.09.11, 21:51

Цитата(bereznoy @ 04.09.11, 21:48) *
Дык у меня групп нет еще,база пустая, надо сначала загрузить как я понимаю группы все с кодами,А потом по коду импортить номенклатуру что бы она "распихивалась" согласно кода в свою папочку

Так в чем проблема?Проверяйте по коду.
Если код группы то, создаете новую группу.Далее записываете в нее элементы группы.

Автор: bereznoy 04.09.11, 21:57

Цитата(Flexy @ 04.09.11, 22:51) *
Так в чем проблема?Проверяйте по коду.
Если код группы то, создаете новую группу.Далее записываете в нее элементы группы.

У меня 500 групп, устану создавать группы и потом подвязывать к каждой номенклатуру

Автор: Fynjy 05.09.11, 6:54

Как импортировать иерархию - бесплатный совет: рекурсия ...

Автор: Batchir 05.09.11, 9:10

Цитата
я прошу подобную обработку подкинуть,а там сам уже

Думаю это как раз то что Вы ищете
Цитата
стандартная обрабока тянет как меня устраивает впринцыпе,но надо иерархию номенклатуры, т.к. там 500 папок

ИМХО, "стандартную" обработку нужно немного подправить что бы она различала группу и элемент. Это как раз, как Вы выразились, для "а там сам уже".

Автор: Kutuzov 05.09.11, 12:12

Можно проще... Сделать отдельный лист с каталогами и использовать примерно вот этот код

   //Номер листа в книге Excel для получения данных
    НомерЛиста         = 2;
  
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат;
    КонецПопытки;    
  
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open("F:\группы.xls");
  
    //Открываем необходимый лист
    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;  
    Конецесли;

    //Для установки цен необходимо создать документ "Установка цен номенклатуры"
    //Заполним шапку документа, в т.ч.  заполним тип цены и валюту
  
    //определим по файлу в каких колонках необходимые данные
  
    // Выбираем данные из файла
    Для а = 1 по ФайлСтрок Цикл          
      
        //Полуим данные из соответсвующих ячеек
        НаименованиеТовара    = СокрЛП(Excel.Cells(а,2).Value);
     Номенклатура = Справочники.Номенклатура.СоздатьГруппу();
     Номенклатура.Наименование =  НаименованиеТовара;
     Номенклатура.Записать();  
      
    Конеццикла;
  
    //Если в документе есть товары записываем и проводим
  
    //Закрываем Excel
    Excel.ActiveWorkbook.Close();

А потом в стандартной обработке использовать уже родителей....
стандартная обработка называется загрузка данных из табличных документов

Автор: MATEVI 05.09.11, 12:53

http://pro1c.org.ua/index.php?showtopic=1055&st=0&gopid=31232&#entry31232

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua