Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / заполнение справочника данными из книги excel / 16 сообщений из 16, страница 1 из 1
06.07.2010, 08:41
    #36724685
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Доброго вам всем дня.
У меня вопрос. Помогите пожалуйста с такой проблемой.

У меня есть книга excel в котором множество страниц. Каждая из страниц это в своем роде справочник. Мне необходимо в системе 1С (версия 8.1) создать такие же справочники и заполнить их данными из excel. Подскжите пожалуйста самый простейший код для написания обработки по вставки данных в справочник. Зарание всем спасибо.

P.S. я в 1с новичек.
...
Рейтинг: 0 / 0
06.07.2010, 09:38
    #36724759
Reder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Справочники придется создать в конфигурации ручками. А вот заполнение их данными возможно различными способами, можно использовать ADO, можно использовать COM, можно сохранить страницы например в csv и оттуда закачать в 1С.
...
Рейтинг: 0 / 0
06.07.2010, 11:07
    #36724975
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
На итс диске или например в конфигурации УТ есть обработка по загрузке из экселя.
...
Рейтинг: 0 / 0
06.07.2010, 13:50
    #36725569
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Спасибо за советы=) БОЛЬШОЕ спасибо=)
...
Рейтинг: 0 / 0
06.07.2010, 16:15
    #36726020
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Ещё один вопрос.
А можно ли загружая данные из excel делать справочник иерархичесого вида. Т.е. сразу группировать данные.
...
Рейтинг: 0 / 0
06.07.2010, 16:18
    #36726026
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
вот такого вида группировка

Модератор: Тема перенесена из форума "ERP и учетные системы".
...
Рейтинг: 0 / 0
06.07.2010, 17:48
    #36726276
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
руками все можно
...
Рейтинг: 0 / 0
07.07.2010, 09:12
    #36727008
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
leaf, ну руками это понятно... а требуют что бы сделанно было автоматически не руками =(
...
Рейтинг: 0 / 0
07.07.2010, 09:22
    #36727029
AnyKeyMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Вон в соседнем топеге про то как из 1С потрогать данные Экселя: /topic/772139#9055276
Исходные данные твои ненормализованы - иерархию придется вручную описывать: анализировать поле "№ п/п" (например, по длине значения, или наличию разделителя, или отступам и т.д.) и решать группой это сделать или элементом, какого уровня и кто родитель у создаваемого объекта.
...
Рейтинг: 0 / 0
07.07.2010, 11:55
    #36727495
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
AnyKeyMan, спасибо вам за ответ! Очень благодарна!!!!
...
Рейтинг: 0 / 0
09.07.2010, 14:24
    #36732692
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
У меня почти получилось заполнить справочник...но почему то только заполняется одна запись...подскажите что не так делаю... код ткой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Процедура КнопкаВыполнитьНажатие(Кнопка)
	//Номер листа в книге Excel для получения данных
	НомерЛиста         =  1 ;
   
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат;
    КонецПопытки;     
   
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open("D:\Марина\Всё для работы\Excel\Книга1.xls");
   
    //Открываем необходимый лист
    Excel.Sheets( 1 ).select();   
	
	//Определяем количество строк и колонок в листе
   ВсегоКолонок = Excel.Cells ( 1 , 1 ).SpecialCells ( 11 ).Column;
   ВсегоСтрок = Excel.Cells ( 1 , 1 ).SpecialCells ( 11 ).Row;
   
     
   //определим по файлу в каких колонках необходимые данные
    НомерКолонкиКод             =  1 ;
    НомерКолонкиНаименование     =  2 ;
    НомерКолонкиИсточник_требования     =  4 ;
	НомерКолонкиСсылка_на_форму_нормативный_документ   =  5 ;
   
    // Выбираем данные из файла
    Для ВсегоСтрок= 1   по ВсегоКолонок Цикл           
       
        //Полуим данные из соответсвующих ячеек
        Код             = Строка(Excel.Cells( 1 ,НомерКолонкиКод).Value);
        Наименование    = Строка(Excel.Cells( 1 ,НомерКолонкиНаименование).Value);
        Источник_требования = Строка(Excel.Cells( 1 ,НомерКолонкиИсточник_требования).Value);
		Ссылка_на_форму_нормативный_документ = Строка(Excel.Cells( 1 ,НомерКолонкиСсылка_на_форму_нормативный_документ).Value);

       
        Нарушение_услов_кред_дог = Справочники.Нарушение_услов_кред_дог.ПустаяСсылка();   
       
		// Ищем товар в справочнике по коду       
		 Нарушение_услов_кред_дог = Справочники.Нарушение_услов_кред_дог.НайтиПоКоду(Код);
	   
//        // Если не нашли по коду, то ищем по наименованию
		Если  Нарушение_услов_кред_дог.Пустая() Тогда
			 Нарушение_услов_кред_дог = Справочники.Нарушение_услов_кред_дог.НайтиПоНаименованию(Наименование, Истина);
		Конецесли;
	   
//        //Если не нашли создаем новый
		Если  Нарушение_услов_кред_дог.Пустая() Тогда
			Нарушение_услов_кред_дог                      = Справочники.Нарушение_услов_кред_дог.СоздатьЭлемент();
			Нарушение_услов_кред_дог.Код                  = Код;
			Нарушение_услов_кред_дог.Наименование         =  Наименование;
			Нарушение_услов_кред_дог.Источник_требования   =  Источник_требования;
			Нарушение_услов_кред_дог.Ссылка_на_форму_нормативный_документ = Ссылка_на_форму_нормативный_документ;
			Нарушение_услов_кред_дог.Записать();
		Конецесли;   
	       
	Конеццикла;
   
   
    //Закрываем Excel
    Excel.ActiveWorkbook.Close(); 
КонецПроцедуры

...
Рейтинг: 0 / 0
09.07.2010, 15:06
    #36732810
vitkhv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
TeddyMUM,

Строки Таблицы Excel не обходишь.

Excel.Cells( 1 ,НомерКолонкиКод).Value

вот здесь ты всегда получаешь значение всегда из 1 строки.

Да и вообще ты выпоняешь столько раз цикл - сколько колонок в таблице, а надо цикл по количеству строк организовать.
...
Рейтинг: 0 / 0
09.07.2010, 15:36
    #36732909
DOSS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
В ADO можно исполбзовать селекты с группировкой.
Проще выделять группы селектом, чем отлавливать их самому.
...
Рейтинг: 0 / 0
24.08.2010, 09:39
    #36807322
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Подскажите, почему из всех данных которые находятся в книге Excel берется только 3 записи???
Вот код обработки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Процедура КнопкаВыполнитьНажатие(Кнопка)
	//Номер листа в книге Excel для получения данных
	НомерЛиста         =  1 ;
   
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
    Исключение
        Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
        Возврат;
    КонецПопытки;     
   
    //Подключились удачно, открываем файл
    Excel.Workbooks.Open("D:\Марина\Всё для работы\Excel\Книга2.xls");
   
    //Открываем необходимый лист
    Excel.Sheets( 1 ).select();   
	
	//Определяем количество строк и колонок в листе
   ВсегоКолонок = Excel.Cells ( 1 , 1 ).SpecialCells ( 11 ).Column;
   ВсегоСтрок = Excel.Cells ( 1 , 1 ).SpecialCells ( 11 ).Row;
   
     
   //определим по файлу в каких колонках необходимые данные
    НомерКолонкиКод             =  1 ;
    НомерКолонкиНаименование     =  2 ;
    НомерКолонкиГруппа_ОКВЭД_или_иной_источник_требования     =  3 ;
	//НомерКолонкиСсылка_на_форму_нормативный_документ   =  4 ;
   
    // Выбираем данные из файла
    Для ВсегоСтрок= 1   по ВсегоКолонок Цикл           
       
        //Полуим данные из соответсвующих ячеек
        Код             = Строка(Excel.Cells(ВсегоСтрок,НомерКолонкиКод).Value);
        Наименование    = Строка(Excel.Cells(ВсегоСтрок,НомерКолонкиНаименование).Value);
        Группа_ОКВЭД_или_иной_источник_требования = Строка(Excel.Cells(ВсегоСтрок,НомерКолонкиГруппа_ОКВЭД_или_иной_источник_требования).Value);
		//Ссылка_на_форму_нормативный_документ = Строка(Excel.Cells(ВсегоСтрок,НомерКолонкиСсылка_на_форму_нормативный_документ).Value);

       
        Виды_деятельности = Справочники.Виды_деятельности.ПустаяСсылка();   
       
		// Ищем товар в справочнике по коду       
		Виды_деятельности = Справочники.Виды_деятельности.НайтиПоКоду(Код);
	   
//        // Если не нашли по коду, то ищем по наименованию
		Если  Виды_деятельности.Пустая() Тогда
			Виды_деятельности = Справочники.Виды_деятельности.НайтиПоНаименованию(Наименование, Истина);
		Конецесли;
	   
//        //Если не нашли создаем новый
		Если Виды_деятельности.Пустая() Тогда
			Виды_деятельности                     = Справочники.Виды_деятельности.СоздатьЭлемент();
			Виды_деятельности.Код                  = Код;
			Виды_деятельности.Наименование         =  Наименование;
			Виды_деятельности.Группа_ОКВЭД_или_иной_источник_требования   =  Группа_ОКВЭД_или_иной_источник_требования;
			//Группы_контрагентов.Ссылка_на_форму_нормативный_документ = Ссылка_на_форму_нормативный_документ;
			Виды_деятельности.Записать();
		Конецесли;   
	       
	Конеццикла;
   
   
    //Закрываем Excel
    Excel.ActiveWorkbook.Close(); 
КонецПроцедуры


Зарание спасибо за помощь!
...
Рейтинг: 0 / 0
24.08.2010, 10:43
    #36807458
pail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Что это?

Код: plaintext
   Для ВсегоСтрок= 1   по ВсегоКолонок Цикл



Беглый взгляд подсказывает, что такая ахинея, что дальше можно не смотреть
...
Рейтинг: 0 / 0
24.08.2010, 11:12
    #36807555
TeddyMUM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
заполнение справочника данными из книги excel
Такс...всё ясно ГыГыГыГыГы программист в 1с из меня хреновый =))))))
Всем спасибо=)
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / заполнение справочника данными из книги excel / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]