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

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

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

Модератор: Тема перенесена из форума "ERP и учетные системы".
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36726276
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
руками все можно
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36727008
TeddyMUM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leaf, ну руками это понятно... а требуют что бы сделанно было автоматически не руками =(
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36727029
Фотография AnyKeyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вон в соседнем топеге про то как из 1С потрогать данные Экселя: /topic/772139#9055276
Исходные данные твои ненормализованы - иерархию придется вручную описывать: анализировать поле "№ п/п" (например, по длине значения, или наличию разделителя, или отступам и т.д.) и решать группой это сделать или элементом, какого уровня и кто родитель у создаваемого объекта.
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36727495
TeddyMUM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AnyKeyMan, спасибо вам за ответ! Очень благодарна!!!!
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36732692
TeddyMUM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня почти получилось заполнить справочник...но почему то только заполняется одна запись...подскажите что не так делаю... код ткой:
Код: 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
заполнение справочника данными из книги excel
    #36732810
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TeddyMUM,

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

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

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

Да и вообще ты выпоняешь столько раз цикл - сколько колонок в таблице, а надо цикл по количеству строк организовать.
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36732909
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ADO можно исполбзовать селекты с группировкой.
Проще выделять группы селектом, чем отлавливать их самому.
...
Рейтинг: 0 / 0
заполнение справочника данными из книги excel
    #36807322
TeddyMUM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, почему из всех данных которые находятся в книге 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
заполнение справочника данными из книги excel
    #36807458
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что это?

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



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


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